一、FTP的安装
1、检测是否安装了FTP:
rpm -q vsftpd
2、如果没安装FTP,运行yuminstall vsftpd命令
yum install vsftpd
3、完成ftp安装后,将/etc/vsftpd/user_list文件和/etc/vsftpd/ftpusers文件中的root这一行注释掉
5、重启ftp进程
service vsftpd restart
设置每次开机时自动运行
chkconfig vsftpd on
二、建立一个名为test的账户并进行配置
1、创建一个账号为test的账户:
增加用户bianli,指向目录/home/wwwroot/bl,禁止登录SSH权限。
mkdir /data/wwwroot/bl
useradd -d /data/wwwroot/bl -g ftp -s /sbin/nologin bianli
-s/sbin/nologin是让其不能登陆系统,-d是指定用户目录为/data/wwwroot/bl,即该账户只能登陆ftp,却不能用做登陆系统用。
passwd test
2、限制用户目录,不得改变目录到上级
修改/etc/vsftpd/vsftpd.conf
将这两行
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
注释去掉
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
新增一个文件:/etc/vsftpd/chroot_list
内容写需要限制的用户名:
test
重新启动vsftpd
service vsftpd restart
注意如果你操作的时候使用的是root用户来创建ftp目录,那么你在登录ftp后使用的ftp用户可能无法访问root用户组创建的文件夹,会出现553 Could not create file的错误。为解决这个问题你需要修改文件的拥有者。
1.修改文件的拥有者
chown -R nginx:nginx ftpdir
2.为ftp用户增加一个用户组
将一个用户添加到用户组中,千万不能直接用:
usermod -G nginx ftpuser
这样做会使你离开其他用户组,仅仅做为 这个用户组 groupA 的成员。
应该用 加上 -a 选项:
usermod -a -G nginx ftpuser