您的位置:首页 > 编程语言 > PHP开发

VSftp配置

2015-11-02 09:17 459 查看
vsftp服务是系统自带的ftp服务!即可以用系统自带用户登录也可以用虚拟账户登录:
vsftpd自带的是允许系统自带账户登录的,因此可以不做任何的配置修改,可以直接启动登录如下!
用系统自带账户登录:
首先安装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 user11@192.168.1.113
口令:
lftp user11@192.168.1.113:~>ls
lftp user11@192.168.1.113:~>
在主机上创建文件和目录
[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 user11@192.168.1.113:~> 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 user11@192.168.1.113:~>
当前模式下。在客户机上可cd进入主机的任何一个目录下面(root目录除外),我门可以做一些限制
在主机上打开配置文件vsftpd.conf把 #chroot_local_user=YES前面的#号去掉,则在客户机登录vxftpd只能进入当前目录 !
限制前:如下!
lftp user1@192.168.1.112:/root> cd ..
lftp user1@192.168.1.112:/> 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 user11@192.168.1.113:~> cd /etc
cd: Access failed: 550 Failed to change directory. (/etc)
lftp user11@192.168.1.113:/>
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!
然后我们用虚拟账户登录一下ftp服务器:
[root@master ~]# lftp test1@127.0.0.1
Password:
lftp test1@127.0.0.1:~> ls
然后在虚拟账户的家目录下创建一个文件一个目录
[root@master home]#  cd /home/virftp/test1
[root@master test1]# ls
[root@master test1]# mkdir 23
[root@master test1]# echo "test" >>1
[root@master test1]# ls
1  23
[root@master test1]#
在ftp客户端看一下:
lftp test1@127.0.0.1:/> ls
-rw-r--r--    1 0        0               5 Mar 20 22:13 1
drwxr-xr-x    2 0        0            4096 Mar 20 22:13 23
用get下载一个文件:
lftp test1@127.0.0.1:/> get 1
5 bytes transferred
在当前目录看一下,是否有当前文件
[root@master ~]# ls
1  1.retry  anaconda-ks.cfg  install.log  install.log.syslog
[root@master ~]# cat 1
test
至此ftp配置完成:
vsftp的详细配置解析/article/4400126.html
本文出自 “自定义” 博客,请务必保留此出处http://zidingyi.blog.51cto.com/10735263/1708693
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: