CentOS 安装vsftp 建新用户的方法

summerinsist 2016-03-01

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

保存退出。

重启服务,测试。

相关推荐