您的位置:首页 > 编程语言 > PHP开发

阿里云 ubuntu16.04 下 ftp 的快速应用(包罗疑难问题解决方案)

2018-01-23 10:23 661 查看

安装 ftp

1.在线安装 vsftpd

apt-get install vsftpd


2.ftp的配置文件在

/etc/vsftpd.conf


3.ftp命令 启动 停止 重启

service vsftpd start
service vsftpd stop
service vsftpd restart


配置 ftp 用户

1、环境:

ftp为vsftp。被限制用户名为 ftpuser。被限制路径为/var/www

2、建用户:在 root 用户下:

增加用户 ftpuser,并制定 ftpuser 用户的主目录为 /var/www

useradd -d /var/www -s /sbin/nologin ftpuser -m


为ftpuser设置密码

passwd ftpuser


3、(可跳过) 更改用户相应的权限设置(可选) :

//限定用户 ftpuser 不能telnet,只能ftp
usermod -s /sbin/nologin ftpuser
//用户test恢复正常
usermod -s /sbin/bash ftpuser
//更改用户test的主目录为/test
usermod -d /ftp ftpuser


4.限制用户只能访问/home/ftp,不能访问其他路径

修改/etc/vsftpd.conf如下:

指定用户只能访问自己的根目录以下

chroot_list_enable=YES //限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list

// 具体用户在 vsftpd.chroot_list 里面配置
// 一行一个用户名即可


所有用户只能访问自己的根目录以下

chroot_local_user=YES


假如我想有个别用户可以访问上级可以使用以上两个进行联合配置

// 当两者都设置为YES的时候,vsftpd.chroot_list里面的用户这时就可以访问上级目录了
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list


编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行

5.允许上传

write_enable=YES


6.使用ftp 命令登陆的时候总是提示如下的错误

root@itlvgo:/ ftp 47.100.213.70
Connected to 47.100.213.70.
220 (vsFTPd 3.0.3)
Name (47.100.213.70:root): ftpuser
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.


这是因为ubuntu启用了PAM,

所在用到vsftp时需要用到 /etc/pam.d/vsftpd

这个文件(默认源码安装的不会有这个文件

解决办法:

vim /etc/vsftpd.conf


修改

pam_service_name=vsftpd




pam_service_name=ftp


之后重启服务即可。

service vsftpd restart


错误总结:

错误一 500

500 OOPS: vsftpd: refu
a1ff
sing to run with writable root inside chroot()


从vsftpd_2.3.5版开始,取消了根目录的可写权限,所以我们需要将用户对更目录的写权限拿下去

具体权限的基本操作请参考 :

chmod u-w /vaf/www


对站点根目录进行了取消可写操作

错误二 553

553 Could not create file


在创建目录或者创建文件的时候会提示不能够创建.这其实就是权限不够造成的.

在创建用户的时候,一定要用 ftp 用户去创建,不然的话就需要你手动把站点根目录的权限放开.

具体操作见本文配置 ftp 用户

按照本文一步一步弄下来的是不会出问题的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐