ftp的学习

实验一:匿名用户的访问

1、匿名用户可以下载文件

[root@localhost pub]# systemct restart vsftpd

[root@localhost pub]# systemctl stop firewalld

[root@localhost pub]# setenforce 0

2、匿名用户可以上传文件

[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf

anon_upload_enable=YES

anon_mkdir_write_enable=YES

[root@localhost pub]# systemctl restart vsftpd

匿名用户默认访问的服务器的目录是/var/ftp/,如果要实现匿名用户可以上传文件,要进行相关权限设置。例如:

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

注意:如果给/var/ftp/目录的其他人给了rwx的权限,那么服务器会强制要求你进行用户认证。

思考:匿名用户上传普通文件和目录文件之后的默认权限是多少?

如果想设置匿名用户上传文件的权限,需添加如下设置:

[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf

anon_umask=022 添加该内容

注意:以上操作匿名用户可以上传文件,但是无法删除文件

3、匿名用户可以删除文件

[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf

anon_other_write_enable=YES 添加该内容

实验二:本地用户(/etc/passwd)的访问

1、下载文件

[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO修改为NO,注释无效

默认登录后显示的信息是该用户的家目录的信息,但是该用户可以查看到根目录(需要使用ie浏览器)

2、上传、删除文件

[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf

write_enable=YES 默认该选项已开启

>>测试:通过IE浏览器(其他浏览器可能看不到效果)访问ftp://ip,需要通过用户名密码进行登录(root用户无法成功),默认访问的界面是根目录下面的文件,可以通过本地用户上传文件和下载文件也可以删除文件。弊端是:通过本地用户的身份能看到/下的所有东西。

3、能否chroot

首先开启chroot选项

[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf

allow_writeable_chroot=YES   (如果该字段未添加,chroot的三个重要文件去掉注释,则未写在chroot_list文件的用户无法登录)

chroot的三个重要控制文件

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

chroot_list_enable=YES

chroot_list_enable=NO

chroot_local_user=YES

在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录;未列出的用户被限制在自己的主目录内

所有的用户都无法切换到其他目录

chroot_local_user=NO

在/etc/vsftpd/chroot_list文件中列出的用户被限制在自己的主目录内;未列出的用户可以切换到其他目录。

所有的用户都可以切换到其他目录(默认状态)

实验三:虚拟用户的访问

创建一个用户,禁止该用户登录系统

[root@localhost ~]# useradd -s /sbin/nologin vhaha

添加以下三个选项

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

guest_enable=YES

guest_username=vhaha

virtual_use_local_privs=YES  本地虚拟用户特权开启表示和本地用户访问时的权限一样,如果为NO表示虚拟用户和匿名用户是相同的权限。

创建虚拟用户文件:

[root@localhost ~]# vim /etc/vsftpd/vhaha

xixi  用户名

redhat  密码

haha   用户名

redhat密码

将虚拟用户文件转换成数据库文件:

[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vhaha /etc/vsftpd/vhaha.db

-T表示允许应用程序能够将文本文件转译载入进数据库

-t hash表示使用hash码加密

-f指定包含用户名和密码文本文件。此文件格式为:奇数行为用户名、偶数行为密码

修改PAM认证方式

编辑认证配置文件

[root@localhost vsftpd]# vim /etc/pam.d/vsftpd

注释所有内容 ,添加以下两行

auth required pam_userdb.so db=/etc/vsftpd/vhaha

account required pam_userdb.so db=/etc/vsftpd/vhaha

注:(.so动态链接数据库)数据库文件名的扩展名“.db”不用写

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值