rpm -qa | grep vsftpd 查看有没有安装vsftp
运行命令开始安装
yum -y install vsftpd
centos会自动下载安装。
安装完毕后
设置每次开机时自动运行
chkconfig vsftpd on
手工启动
service vsftpd start
可以通过 netstat -tl查看是否在监听21端口。
建新用户
# useradd –d /var/www -g ftp –s /sbin/nologin myftp
说明:
-s /sbin/nologin 是让其不能登陆系统
-d 是指定用户目录为/var/www ,这里可以替换成任何你需要的目录。
-g ftp 把用户加入到ftp组中(vsftp已创建)
myftp是ftp用户名,在配置时把这个myftp换成你的ftp用户名。
执行该命令后,如果出现这样的错误提示:
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
这说明用户的目录已经存在(/var/www,这个可以是任何你设定的目录),不可再新建此目录,并非添加用户失败,可以忽略。
特别提醒:用useradd建立的用户,如果后面不加–s /sbin/nologin参数,建立的用户为普通系统用户,有系统登陆centos服务器的权限,在虚拟主机环境下,这非常危险。所以要在useradd命令后面加上参数–s /sbin/nologin,为centos 服务器虚拟主机添加不可以登录系统的ftp专用账号(虚拟账户)
设置密码
# passwd myftp
提示:重复输入2次
修改/var/www目录属性:(或任何自己定义的目录)
# chown -R myftp /var/www 递归把所有目录及文件的拥有者设为新添加的ftp用户
# chmod -R 755 /var/www 递归地设置拥护者全部权限,其他用户只有读取和执行权限
这样,如果网站运行时需要有写入权限,可以直接通过ftp的用户名来修改。
配置文件 /etc/vsftpd/vsftpd.conf
设置帐户只能访问自己的目录,也就是上面建用户的时候设置的目录–d /var/www
Chroot_local_user=yes
重启 vsftpd服务
# service vsftpd restart
一、vsftp添加用户
[root@ www.linuxidc.com ~]# adduser -g ftp -s /sbin/nologin mmc
[root@ www.linuxidc.com ~]# passwd mmc
输入密码。
这样添加了一个用户名为:mmc 的新用户,新添加的用户只能登录FTP,不能作为系统用户登录。
新添加的用户默认家目录是在/home 下有个以用户名为文件名的文件夹,如果想使用指定的目录给用户,可以作以下操作:
(adduser 有个参数是:-d, --home-dir HOME_DIR home directory of the new account)
[root@ www.linuxidc.com ~]# adduser -d /vsftphome/mmc1 -g ftp -s /sbin/nologin mmc1
[root@ www.linuxidc.com ~]# passwd mmc1
输入密码。
完成新建了一个名为mmc1,家目录被指定为/vsftphome/mmc1 的ftp用户。
测试用户。
二、限定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
保存退出。
重启服务,测试。