CentOS 5.5下安装vsftpd服务器

任务需求:将帐号固定在自己的文件夹内。不允许查看上一层目录。

1.查看是否已经安装vsftpd
   rpm -qa | grep vsftpd   

2.yum安装vsftpd
   yum install vsftpd    

3.设置每次开机时自动运行及手工启动它
   chkconfig vsftpd on    
   service vsftpd start     
   netstat -tl   
最后这条命令可以查看ftp端口是否在侦听了

4.为vsftpd添加ftp账号
   useradd -s /sbin/nologin -d /data0/www -g ftp testuser  
如果显示如下信息,表示用户家目录已经存在(/data0/www),不可再新建此目录,并非添加用户失败:
Creating mailbox file: File exists
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
接下来给用户设置密码,否则此账号不能使用,命令如下
   passwd testuser  
这样就为linux系统添加用户testuser,用户目录指定为/data0/www,属于ftp用户组,且此用户不能登陆系统。

注:
-s /sbin/nologin是让其不能登陆系统
-d 是指定用户目录为/data0/www
-g ftp 把用户加入到ftp组中

5.修改/data0/www目录属性
   chmod -R 777 /data0/www  
递归地给此目录下所有文件和子目录的读、写、执行权限
   chgrp -R ftp /data0/www  
递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组

6.配置etc/vsftpd/vsftpd.conf文件
anonymous_enable=NO
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
添加以下几项
pasv_enable=YES
pasv_min_port=9981
pasv_max_port=9986

7.在/etc/vsftpd/chroot_list下建立 chroot_list 文件,并将刚才用户名testuser添加进去

8.进入/etc/sysconfig
   vi iptables  
加入如下的一行:
-A INPUT -p tcp -m tcp --dport 9981:9986 -j ACCEPT
重启防火墙
   service iptables restart  

9.重启vsftpd,服务器配置完毕
   service vsftpd restart  

10.如果在连接的时候出现vsftpd 500 OOPS: cannot change directory
在终端输入命令:
   setsebool ftpd_disable_trans 1  
   service vsftpd restart  
就OK了!

相关推荐