一、简介
vsftpd 是一个 UNIX 类操作系统上运行的FTP服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征,FTP服务器对用户的管理,在默认的情况下是根据 /etc/passwd及/etc/group 来进行的,所以我们一定要了解Linux系统用户和用户组的管理,用户和用户组的管理是一切应用的的基础
二、用户管理说明:
/etc/passwd 是系统用户的配置文件;/etc/group是系统用户组配置文件,需要了解一些用户管理的一些基础知识;
在ftp用户这行中,我们看到七个字段,每个字段写字段之间用:号分割;
- ftp 是用户名
- x 是密码字段,是隐藏的;
- 14 是用户的UID字段,可以自己来设定,不要和其它用户的UID相同,否则会造成系统安全问题;
- 50 用用户组的GID,可以自己设定,不要和其它用户组共用FTP的GID,否则会造成系统全全问题;
- FTP User 是用户说明字段;
- /var/ftp 是ftp用户的家目录,可以自己来定义;
- /sbin/nologin 这是用户登录SHELL ,这个也是可以定义的,/sbin/nologin 表示不能登录系统;系统虚拟帐号(也被称为伪用户)一般都是这么设置。比如我们把ftp用户的/sbin/nologin 改为 /bin/bash ,这样ftp用户通过本地或者远程工具ssh或telnet以真实用户身份登录到系统。这样做对系统来说是不安全的;如果您认为一个用户没有太大的必要登录到系统,就可以只给他FTP帐号的权限,也就是说只给他FTP的权限,而不要把他的SHELL设置成 /bin/bash 等;
关于ftp用户组的理解
我们查看 /etc/group 的时候,会发现类似这样一条;
ftp:x:50:
/etc/group 是用户组的管理配置文件,上面这行表示用户组ftp,x是密码段,50是GID;我们对照在/etc/passwd中的ftp那行得知ftp用户是属于ftp用户组的,因为ftp用户那行中的GID和ftp用户组的GID是相同的。
匿名ftp用户和ftp用户组是否可以删除
在一般情况下是不能把/etc/passwd和/etc/group 中有把ftp用户和用户组的行删除的,因为FTP服务器是需要他们来对FTP用户实现管理,在默认的情况下。
虽然不能删除,但对/etc/passwd及/etc/group中的ftp用户及ftp用户组的一些相关的东西是能修改的;比如我们可以把ftp用户的家目录改掉,也可以把ftp用户的UID改掉 ... ... 前提是你对用户管理有所了解。
三、centos 下安装使用
yum -y install vsftpd
chkconfig vsftpd on
启动Vsftpd服务
- # service vsftpd start
停止Vsftpd服务
- # service vsftpd stop
重新启动Vsftpd服务
- # service vsftpd restart
检查Vsftpd服务状态
- service vsftpd status
也可以使用以下命令,实现相同的结果:
- # /etc/init.d/vsftpd start
- # /etc/init.d/vsftpd stop
- # /etc/init.d/vsftpd restart