ftp(其二)

vsftp的配置

///虚拟用户的配置
///首先在vsftpd目录中创建一个以.list结尾的文件,顺序为用户名字,密码一一对应
[root@server ~]# cat > /etc/vsftpd/vu.list << EOF
> tom
> 123
> jerry
> 456
> EOF
///安装db4工具,将刚创建的文本格式用户名、密码文件使用db4工具转换成数据库文件
[root@server ~]# yum -y install db*
[root@server ~]# db_load -T -t hash -f /etc/vsftpd/vu.list /etc/vsftpd/vu.db
///上面的-T表示转换,-t表示加密方式使用hash算法加密
///创建vftp用户
[root@server ~]# useradd -d /var/ftproot -s /sbin/nolongin vftp
[root@server ~]# chmod 755 /var/ftproot/
[root@server ~]# ll -d /var/ftproot/
drwxr-xr-x. 2 vftp vftp 62 11月  6 09:30 /var/ftproot/
///为了更好地保密,将上面的两个文件的权限改为600
[root@server ~]# chmod 600 /etc/vsftpd/vu.*
[root@server ~]# ll /etc/vsftpd/vu.*
-rw-------. 1 root root 12288 11月  6 09:09 /etc/vsftpd/vu.db
-rw-------. 1 root root    18 11月  6 09:04 /etc/vsftpd/vu.list
///备份原本的vsftpd文件,然后修改vsftpd文件。为虚拟用户建立认证
[root@server ~]# cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
[root@server ~]# vim /etc/pam.d/vsftpd
[root@server ~]# cat /etc/pam.d/vsftpd
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vu
account required pam_userdb.so db=/etc/vsftpd/vu
///修改vsftpd配置文件,添加虚拟用户支持
[root@server ~]# vim /etc/vsftpd/vsftpd.conf 
[root@server ~]# tail -2 /etc/vsftpd/vsftpd.conf 
guest_enable=YES
guest_username=vftp
///为不同的虚拟用户建立独立的配置文件
[root@server ~]# !vim
vim /etc/vsftpd/vsftpd.conf 
[root@server ~]# tail -2 /etc/vsftpd/vsftpd.conf 
user_config_dir=/etc/vsftpd/vusers_dir
allow_writeable_chroot=YES
///tom能够上传文件、创建目录,而jerry只有默认的下载权限,
[root@server ~]# mkdir /etc/vsftpd/vusers_dir
[root@server ~]# ll /etc/vsftpd/
总用量 40
-rw-r--r--. 1 root root     4 11月  5 09:21 chroot_list
-rw-------. 1 root root   125 3月  23 2017 ftpusers
-rw-------. 1 root root   361 3月  23 2017 user_list
-rw-------. 1 root root  5157 11月  6 09:19 vsftpd.conf
-rwxr--r--. 1 root root   338 3月  23 2017 vsftpd_conf_migrate.sh
-rw-------. 1 root root 12288 11月  6 09:09 vu.db
-rw-------. 1 root root    18 11月  6 09:04 vu.list
drwxr-xr-x. 2 root root     6 11月  6 09:20 vusers_dir
[root@server ~]# cat > /etc/vsftpd/vusers_dir/tom <<EOF
> anon_upload_enable=YES
> anon_mkdir_write_enable=YES
> anon_other_write_enable=YES
> EOF
[root@server ~]# touch /etc/vsftpd/vusers_dir/jerry
///注意要开启匿名登录功能
///开启服务
[root@server ~]# systemctl restart vsftpd
[root@server ~]# ss -antl
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN     0      128      *:111                  *:*                  
LISTEN     0      128      *:22                   *:*                  
LISTEN     0      100    127.0.0.1:25                   *:*                  
LISTEN     0      128     :::111                 :::*                  
LISTEN     0      32      :::21                  :::*                  
LISTEN     0      128     :::22                  :::*                  
LISTEN     0      100    ::1:25                  :::*   
///测试
[root@server ftproot]# touch 456
[root@server ftproot]# ls
123  456

///测试tom用户
[root@client ~]# ftp 192.168.194.129
Connected to 192.168.194.129 (192.168.194.129).
220 (vsFTPd 3.0.2)
Name (192.168.194.129:root): tom
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> get 456
local: 456 remote: 456
227 Entering Passive Mode (192,168,194,129,56,93).
150 Opening BINARY mode data connection for 456 (0 bytes).
226 Transfer complete.
ftp> put anaconda-ks.cfg 
local: anaconda-ks.cfg remote: anaconda-ks.cfg
227 Entering Passive Mode (192,168,194,129,170,60).
150 Ok to send data.
226 Transfer complete.
1438 bytes sent in 0.0991 secs (14.50 Kbytes/sec)
ftp> ls
227 Entering Passive Mode (192,168,194,129,157,127).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0               6 Nov 06 01:51 123
-rw-r--r--    1 0        0               0 Nov 06 01:51 456
-rw-------    1 1000     1001         1438 Nov 06 02:09 anaconda-ks.cfg
226 Directory send OK.
ftp> quit
221 Goodbye.
[root@client ~]# ls
456  aa  anaconda-ks.cfg
///测试jerry用户
[root@client ~]# ls
456  aa  anaconda-ks.cfg
[root@client ~]# rm -rf 456 
[root@client ~]# ftp 192.168.194.129
Connected to 192.168.194.129 (192.168.194.129).
220 (vsFTPd 3.0.2)
Name (192.168.194.129:root): jerry
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> get 456
local: 456 remote: 456
227 Entering Passive Mode (192,168,194,129,127,99).
150 Opening BINARY mode data connection for 456 (0 bytes).
226 Transfer complete.
ftp> ls
227 Entering Passive Mode (192,168,194,129,242,211).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0               6 Nov 06 01:51 123
-rw-r--r--    1 0        0               0 Nov 06 01:51 456
226 Directory send OK.
ftp> put anaconda-ks.cfg 
local: anaconda-ks.cfg remote: anaconda-ks.cfg
227 Entering Passive Mode (192,168,194,129,107,252).
550 Permission denied.
ftp> ls
227 Entering Passive Mode (192,168,194,129,187,242).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0               6 Nov 06 01:51 123
-rw-r--r--    1 0        0               0 Nov 06 01:51 456
226 Directory send OK.
[root@client ~]# ls
456  aa  anaconda-ks.cfg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值