FTP 实名登录 虚拟用户登录

一、安装
yum install vsftps -y
二、启动服务
cp /etc/passwd /var/ftp/pub
service vsftpd start
打开浏览器输入ftp://192.168.4.103就可以看到 pub目录了 进入目录可以看到passwd文件
安装lftp客户端
[root@server05 pub]# yum install lftp -y
[root@server05 tmp]# lftp 192.168.4.103
lftp 192.168.4.103:~> ls
drwxr-xr-x 2 0 0 4096 Sep 17 11:21 pub
使用 get + 文件 便可以把文件下载到使用lftp登录前的目录下
三、更改配置文件
[root@server05 /]# vim /etc/vsftpd/vsftpd.conf
将第27行的注释去掉 允许匿名用户上传
将第31行的注释去掉 允许匿名用户创建文件夹
重启服务
在/tmp 下创建一个abc 文件
[root@server05 /]# lftp 192.168.4.103
lftp 192.168.4.103:/> cd pub/
lftp 192.168.4.103:/pub> mkdir
Usage: mkdir [-p] files...
发现不能建文件夹
lftp 192.168.4.103:/pub> put /tmp/abc
put: Access failed: 553 Could not create file. (abc)
发现不能上传文件
[root@server05 tmp]# cd /var/ftp/
[root@server05 ftp]# ll
total 4
drwxr-xr-x. 2 root root 4096 Sep 17 04:21 pub
发现other用户的没有 写 权限

[root@server05 ftp]# chmod o+w pub/

重启vsftp 服务
[root@server05 /]# lftp 192.168.4.103
lftp 192.168.4.103:~> ls
drwxr-xrwx 2 0 0 4096 Sep 17 11:21 pub
lftp 192.168.4.103:/> cd pub/
lftp 192.168.4.103:/pub> put /tmp/abc
lftp 192.168.4.103:/pub> ls
-rw------- 1 14 50 0 Sep 17 11:52 abc
-rw-r--r-- 1 0 0 1734 Sep 17 11:21 passwd
此时文件上传了 如果还不可以 关闭防火墙:
iptables -F
setenforce 0
四、实名登录
创建用户并指定家目录
[root@server05 /]# useradd -d /var/ftp/ftpusr ftpusr
给 ftpusr 设置密码
[root@server05 ftp]# echo "ftpusr" | passwd ftpusr --stdin
Changing password for user ftpusr.
passwd: all authentication tokens updated successfully.
以ftpusr的身份登录
[root@server05 ftp]# lftp ftp://192.168.4.103 -u ftpusr
Password:
lftp ftpusr@192.168.4.103:~>

lftp ftpusr@192.168.4.103:~> put /tmp/abc
lftp ftpusr@192.168.4.103:~> ls
-rw-r--r-- 1 502 502 0 Sep 17 12:07 abc
用浏览器访问ftp
ftp://192.168.4.103
可以打开 pub 不能打开ftpusr 说明匿名用户没有权限访问
[root@server05 ftp]# ll
total 8
drwx------. 4 ftpusr ftpusr 4096 Sep 17 05:07 ftpusr

drwxr-xrwx. 2 root root 4096 Sep 17 04:52 pub


----------------------------------------------------------------------------------------------------------------------------------------------------------------

注意点:

1、通过使用chroot使实名用户的活动范围限制在家目录:

更改配置文件中的:

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

还可以在chroot_list添加特殊的用户,不受活动范围限制

2、允许被动连接及设置监听的端口范围

pasv_enable=YES
pasv_min_port=65400
pasv_max_port=65449


3、关于selinux的设置:

在不关闭selinux的情况下实现上传方法:

setsebool -P allow_ftpd_full_access 1

使FTP有登录到ftp用户的家目录的权限:

setsebool -P ftp_home_dir 1

4、关于防火墙的设置:

-A INPUT -p tcp --dport 21 --sport 1024:65534 -j ACCEPT

-A INPUT -p tcp --dport 65400:65449 --sport 1024:65534 -j ACCEPT


五 虚拟用户登录

一、本地数据文件方式
1. 添加虚拟用户口令文件
[root@CentOS5 /]#vi /etc/vsftpd/vftpuser.txt
添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。
bobyuan #用户名
123456 #密码
markwang #用户名
123456 #密码
 
2. 生成虚拟用户口令认证文件
将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。
首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。
[root@CentOS5 /]#rpm –qa |grep db4-utils
下面使用db_load命令生成虚拟用户口令认证文件。
[root@CentOS5 /]#db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
   #纠结了半天不成功 最后成功之前执行了 chmod 600vftpuser.db 不知时候有关系
3. 编辑vsftpd的PAM认证文件
在/etc/pam.d目录下,新建文件 (这是最后成功时的方式 新建一个文件(如果系统是64位的 路径是 lib64。。。))
[root@CentOS5 /]#vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser

4. 建立本地映射用户并设置宿主目录权限
所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。
[root@CentOS5 /]#useradd –d /home/vftpsite –s /sbin/nologin vftpuser
[root@CentOS5 /]#chmod 700 /home/vftpsite
 
5. 配置vsftpd.conf(设置虚拟用户配置项)
[root@CentOS5 /]#vi /etc/vsftpd/vsftpd.conf
guest_enable=YES #开启虚拟用户
guest_username=vftpuser #FTP虚拟用户对应的系统用户
pam_service_name=vsftpd.vu#PAM认证文件
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list
user_config_dir=/etc/vsftpd/vftpuser_conf #最后成功时 此目录下有无配置文件均可
virtual_use_local_privs=YES
 
6. 重启vsftpd服务
[root@CentOS5 /]#service vsftpd restart

selinux iptables 等设置 同上


虚拟用户权限配置

vi admin
write_enable=yes
download_enable=yes
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_world_readable_only=no
~
vi upload 用户只有上传权限

local_root=/var/ftp/share
download_enable=no
anon_upload_enable=yes
anon_other_write_enable=no
anon_mkdir_write_enable=yes
anon_world_readable_only=no


1.virtual_use_local_privs参数当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值