1、需求
需要搭建一台FTP服务器,主要用于部门文件共享,包括上传文件、创建目录等等。adjinxing01、adjinxing02帐号进行管理、目录创建、文件上传,其他用户jinxing(n)查看、下载,要求仅允许ftp帐号登录FTP 服务器,但不能登录本地系统,并将这些账号根目录限制为/data/ftproot,不能进入该目录以外的任何目录,同时禁止匿名登陆。
2、软件安装
操作系统: centos6.x
yum install vsftpd -y
rpm -qa |egrep "vsftpd|db4-utils" #检查安装
3、建立用户、用户组和目录
mkdir -p /data/ftproot
ll -d /data/ftproot/
drwxr-xr-x 2 root root 4096 1月 30 14:02 /data/ftproot/
创建组:
groupadd jxftp
目录授权:
chown -R root.jxftp /data/ftproot/
chmod -R 775 /data/ftproot/

ll -d /data/ftproot/
drwxr-xrwx 2 root root 4096 1月 30 14:02 /data/ftproot/

创建用户:
useradd -M -s /sbin/nologin -g jxftp -d /data/ftproot adjinxing01
useradd -M -s /sbin/nologin -g jxftp -d /data/ftproot adjinxing02
useradd -M -s /sbin/nologin -d /data/ftproot jinxing001
useradd -M -s /sbin/nologin -d /data/ftproot jinxing002
useradd -M -s /sbin/nologin -d /data/ftproot jinxing003
useradd -M -s /sbin/nologin -d /data/ftproot jinxing004
useradd -M -s /sbin/nologin -d /data/ftproot jinxing005
useradd -M -s /sbin/nologin -d /data/ftproot jinxing006
#也可用加入组:gpasswd -a adjinxing02 jxftp
passwd adjinxing01 #密码:123456,生产环境中要复杂密码
passwd adjinxing02
...

4、修改配置文件/etc/vsftpd/vsftpd.conf
anonymous_enable=NO #禁止匿名用户登录
local_enable=YES #允许本地用户登录
local_root=/data/ftproot #ftp目录
chroot_list_enable=YES #激chroot 功能
chroot_list_file=/etc/vsftpd/chroot_list#设置锁定用户在根目录中的列表文件。此文件存放要锁定的用户名
5、/etc/vsftpd/chroot_list 文件
adjinxing01
adjinxing02
6、启动启vsftpd 服务
/etc/init.d/vsftpd start
7、测试
windows系统下登陆:
ftp 10.41.1.64
put "e:/123456.txt"#上传文件
ftp> ls或者dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
123456.txt
lxt
226 Directory send OK.
ftp: 收到 17 字节,用时 0.00Seconds 17000.00Kbytes/sec.
正常
ftp> mkdir lxt01#创建目录

adjinxing01和adjinxing02可以创建目录,上传文件等,其他用户只能下载。