vsftp服务是系统自带的ftp服务!即可以用系统自带用户登录也可以用虚拟账户登录:
sftpd自带的是允许系统自带账户登录的,因此可以不做任何的配置修改,可以直接启动登录如下!
用系统自带账户登录:
首先安装vsftpd:yum install -y vsftpd 启动vsftpd:/etc/init.d/vsftpd start 更改要登陆vsftpd用户的密码: [root@nulifendou log]# passwd user11 更改用户 user11 的密码 。 新的 密码: 重新输入新的 密码: passwd: 所有的身份验证令牌已经成功更新。 [root@nulifendou log]#
用另一台机器使用主机上的一个用户登录
[root@slave ~]# lftp [email protected] 口令: lftp [email protected]:~>ls lftp [email protected]:~>
在主机上创建文件和目录
[root@nulifendou log]# cd /home/user11 [root@nulifendou user11]# mkdir 11 [root@nulifendou user11]# touch 22.tst [root@nulifendou user11]# ls 11 22.tst
在客户机上可以发现所创建目录:
lftp [email protected]:~> ls drwxr-xr-x 2 0 0 4096 Nov 01 20:28 11 -rw-r--r-- 1 0 0 0 Nov 01 20:29 22.tst lftp [email protected]:~>
当前模式下。在客户机上可cd进入主机的任何一个目录下面(root目录除外),我门可以做一些限制
在主机上打开配置文件vsftpd.conf把 #chroot_local_user=YES前面的#号去掉,则在客户机登录vxftpd只能进入当前目录 !
限制前:如下!
lftp [email protected]:/root> cd .. lftp [email protected]:/> ls dr-xr-xr-x 2 0 0 4096 Dec 20 15:45 bin dr-xr-xr-x 5 0 0 1024 Dec 15 19:44 boot drwxr-xr-x 3 0 0 4096 Dec 16 15:08 data drwxr-xr-x 17 0 0 3700 Dec 22 14:09 dev drwxr-xr-x 75 0 0 4096 Dec 22 15:22 etc drwxr-xr-x 5 0 0 4096 Dec 19 21:33 home dr-xr-xr-x 14 0 0 12288 Dec 20 15:45 lib drwx------ 2 0 0 16384 Dec 15 19:40 lost+found drwxr-xr-x 2 0 0 4096 Sep 23 2011 media drwxr-xr-x 2 0 0 4096 Sep 23 2011 mnt drwxr-xr-x 2 0 0 4096 Sep 23 2011 opt dr-xr-xr-x 103 0 0 0 Dec 22 14:09 proc dr-xr-x--- 7 0 0 4096 Dec 22 15:21 root dr-xr-xr-x 2 0 0 4096 Dec 20 15:45 sbin drwxr-xr-x 2 0 0 4096 Dec 15 19:41 selinux drwxr-xr-x 2 0 0 4096 Sep 23 2011 srv drwxr-xr-x 13 0 0 0 Dec 22 14:09 sys drwxrwxrwt 5 0 0 4096 Dec 22 14:33 tmp drwxr-xr-x 12 0 0 4096 Dec 15 19:41 usr drwxr-xr-x 18 0 0 4096 Dec 22 14:33 var
限制后如下:
lftp [email protected]:~> cd /etc cd: Access failed: 550 Failed to change directory. (/etc) lftp [email protected]:/>
vsftpd虚拟用户登录
建立与虚拟帐号相关联的系统帐号:[root@nulifendou user11]# useradd virftp -s /sbin/nologin
建立虚拟帐号的相关文件,用于存放虚拟用户的用户名和密码
[root@nulifendou user11]# vim /etc/vsftpd/vsftpd_login test1 123456 test2 654321 ~
[root@nulifendou user11]# chmod 600 /etc/vsftpd/vsftpd_login //更改权限,提高安全度
vsftpd使用的密码文件是明文的不安全,需要生成对应的库文件
[root@nulifendou user11]# db_load -T -t hash -f/etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
建立虚拟帐号相关的目录以及配置文件
[root@nulifendou user11]# mkdir /etc/vsftpd/vsftpd_user_conf [root@nulifendou user11]# cd /etc/vsftpd/vsftpd_user_conf [root@nulifendou vsftpd_user_conf]# vim test1 /创建和用户对应的配置文件 local_root=/home/virftp/test1 anonymous_enable=NO write_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO idle_session_timeout=600 data_connection_timeout=120 max_clients=10 max_per_ip=5 local_max_rate=50000
/创建test1用户的家目录
[root@nulifendou vsftpd_user_conf]# mkdir /home/virftp/test1 [root@nulifendou vsftpd_user_conf]# chown -R virftp:virftp /home/virftp 、/把家目录的属主和属组指向虚拟账户映射的账户
用户认证:在、/etc/pam.d/vsftpd最开头加两行 auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
修改全局配置文件:
修改/etc/vsftpd/vsftpd.conf中的文件:
anonymous_enable=YES改为anonymous_enable=NO #anon_upload_enable=YES 改为 anon_upload_enable=NO #anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO 在最后添加: chroot_local_user=YES guest_enable=YES guest_username=virftp virtual_use_local_privs=YES user_config_dir=/etc/vsftpd/vsftpd_user_conf
然后启动vsftpd!
vsftp的详细配置解析http://zidingyi.blog.51cto.com/10735263/1708769