1. 安装:sudo apt-get install vsftpd
2. 我的目的是建立个ftp,专门的账户访问,账户不可以登陆。不允许匿名登陆
3. 更改配置文件/etc/vsftpd.conf
listen=YES
anonymous_enable=no
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
idle_session_timeout=600
data_connection_timeout=120
4. 建立一个访问ftp的账号test,建立home下的test目录,更改器权限,让其可读但不可写,因为vsftp新版要求根目录不可写,不然登陆不了
mkdir -p /home/test
chmod 555 /home/test
useradd test -g ftp -d /home/test -s /sbin/nologin
passwd test
5. 这时候的ftp账户是没有写权限的,我们为其建立一个文件夹,然后更改这个文件夹的权限,就可以在这个文件夹中操作了
mkdir /home/test/file
chmod 777 /home/test/file
6.差点忘了,我们建立的账户test是nologin的,需要在/etc/shells加入/sbin/nologin.
7. 这个时候的test账户是可以越目录的,为了限定FTP用户只能访问自己的家目录,而不能返回上一层目录进入其他目录。
修改配置文件:/etc/vsftpd/vsftpd.conf
[root@ www.linuxidc.com vsftpd]# vi vsftpd.conf
去掉下面两行参数的注释符号(‘#’号)
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在/etc/vsftpd下创建chroot_list文件:
[root@ www.linuxidc.com vsftpd]# touch chroot_list
然后加入需要限制的用户名(一行一个),如:
mmc
mmc1
保存退出。
重启服务,测试。