安装vsftpd
#yum -y install vsftpd
开机自启动
#chkconfig –level 345 vsftpd on
修改配置
#vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有)
chroot_list_file=/etc/vsftpd/chroot_list
那么, 凡是加在文件vsftpd/chroot_list中的用户都是不受限止的用户
即, 可以浏览其主目录的上级目录. 如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置, 然后在
文件vsftpd.chroot_list中不添加该用户即可
直接启动
#service vsftpd start
登录时错误信息:
500 OOPS: cannot change directory:/home/xxxx
Login failed.
421 Service not available, remote server has closed connection
解决办法,关闭SELinux:
#setenforce 0
关闭SELinux的方法:
修改/etc/selinux/config文件中的SELINUX=”” 为 disabled ,然后重启。
如果不想重启系统,使用命令
#setenforce 0
限制用户只能用ftp上传、下载文件,而不能登陆
#vi /etc/passwd
brian:x:515:515::/brian:/sbin/nologin
现在试试看,只能用brian做上传\下载文件,而不能登陆服务器了.
安装八步:
一。检查Linux中vsftpd的安装情况。
二。将系统中的SELinux关闭,然后重新启动电脑
关闭SELinux的方法:
修改/etc/selinux/config文件中的SELINUX=”” 为 disabled ,然后重启。
如果不想重启系统,使用命令setenforce 0
注:
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
在lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux
setsebool ftpd_disable_trans 1
三。建立用户和指定目录
#useradd -d /home/ftpdata3 ftp3
#passwd ftp3
建立用户ftp3,并指定其ftp目录为ftpdata3
#useradd -d /home/ftpdata3 ftp4
#passwd ftp4
建立用户ftp4,并指定其ftp目录为ftpdata4
这样ftp3和ftp4用户就被指定到相应的文件夹下。
四。修改vsftpd.conf配置文件
将anonymous_enable改为NO,阻止匿名上传
将chroot_list_enable和chroot_list_file的注释去掉,阻止用户访问上级目录
五。在/etc/vsftpd下建立chroot_list文件
建立完成后,在其中添加用户ftp3,ftp4,使其只允许访问指定目录。
六。启动或是重启fto服务。
#service vsftpd restart(start)
启动成功后,就可以访问ftp服务了。
注:配置文件中的解释
anonymous_enable=YES开启匿名用户登录
local_enable=YES开启本地用户登录
write_enable=YES开启写权限以便上传
local_umask=022设置上传后文件为user=rwx, group=, other=
这样,用户上传文件后,是不能删除和修改了。因为用户属于group组。
解决方法是,设置local_umask=002。
最终文件权限是777-文件夹掩码-local_umask掩码
anon_upload_enable=YES开启匿名用户上传权限
统一匿名上传用户上传的文件的属性
chown_uploads=YES
chown_username=ftp
设定chroot配置,禁止特定用户访问上一级目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
userlist_enable=YES这个选项如果是YES,那/etc/vsftpd/user_list中的用户将被禁止访问ftp。如果是NO,则只有user_list里面的用户才能访问ftp
相关文章