VSftp配置

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

你可能感兴趣的:(vstfpd)