vsftpd服务与客户机的传输和下载

vsftpd实验尝试ftp服务器

安装软件包

服务器与客户端之间的网络(同一个网段)
[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# yum -y install vsftpd	===>安装软件
[root@localhost vsftpd]# grep -v "#" vsftpd.conf 	===>过略"#"查看
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@localhost vsftpd]# setenforce 0	===>关闭核心防护

[root@localhost vsftpd]# systemctl stop firewalld	===>关闭防火墙

[root@localhost vsftpd]# systemctl start vsftpd	===>开启服务


win10查看一下是否可以访问

在这里插入图片描述

[root@localhost vsftpd]# cd /var/ftp/	===>Win访问的站点

[root@localhost var]# vim /etc/vsftpd/vsftpd.conf	===>修改配置文件
......
anon_upload_enable=YES	  开头的"#"去掉,上传权限
......
anon_mkdir_write_enable=YES	 开头的"#"去掉,
anon_other_write_enable=YES	===>需要自己手动写入, 把匿名用户的权限放到最大化
......

[root@localhost var]# systemctl restart vsftpd	===>重启服务

该2个文件权限
[root@localhost var]# cd /var/ftp/	===>进入到该目录查看ftp目录的权限
drwxr-xr-x 2 root root 6 4月   1 12:55 pub

[root@localhost var]# chmod 777 ftp/	===>将ftp目录放到777权限

[root@localhost var]# cd /var/ftp/	===>进入ftp目录

[root@localhost ftp]# ll
总用量 0
drwxr-xr-x 2 root root 6 4月   1 12:55 pub

[root@localhost ftp]# chmod 777 pub/	===>将子目录pub权限改成777


匿名用户上传下载文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 
anonymous_enable=YES(允许匿名访问)
anon_upload_enable=YES(允许上传)
anon_mkdir_write_enable=YES(允许创建目录和写入)
anon_other_write_enable=YES(允许其他权限和写入,自己添加)
[root@localhost ~]# systemctl restart vsftpd
[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# echo "this is test" > ./test.txt
[root@localhost ftp]# ls
pub  test.txt


在这里插入图片描述

在客户端执行上传和删除

[root@localhost ftp]# chmod 777 pub/(修改站点目录写入权限)
[root@localhost ftp]# ll
drwxrwxrwx. 2 root root  6 4月   1 12:55 pub
ftp》 put zhahng.txt
本地用户的上传和下载
[root@localhost ~]# useradd  mak
[root@localhost ~]#passwd mak
[root@localhost ~]# useradd  ake
[root@localhost ~]#passwd  ake密码自己设置)

作为一个普通用户可以随意切换服务器的主目录,很危险,所以要在服务器设置

[root@localhost /]# vim /etc/vsftpd/vsftpd.conf 
chroot_local_user=YES(禁锢本地用户切换其他目录)
[root@localhost /]# systemctl restart vsftpd
[root@localhost vsftpd]# vim vsftpd.conf 
userlist_enable=YES
[root@localhost vsftpd]# vim user_list 
# If userlist_deny=NO, only allow users in this file(如果在配置文件中写入这个条件是只允许列表中的用户访问)
# If userlist_deny=YES (default), never allow users in this file, and(默认情况下是不允许列表中的用户访问的)
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
zhangyang

虚拟用户上传和下载
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vuser
tom
000000
jack
000000
#########奇数行创建用户,偶数行添加密码##########
把映射文件转化成数据库文件
[root@localhost vsftpd]# db_load -T -t hash -f vuser vuser.db
[root@localhost vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh  vuser  vuser.db
由于虚拟用户密码写在文件中,所以为了安全起见,修改文件的访问权限
[root@localhost vsftpd]# chmod 600 vuser vuser.db 
[root@localhost vsftpd]# ll
-rw-------. 1 root root    23 7月  20 11:04 vuser
-rw-------. 1 root root 12288 7月  20 11:07 vuser.db


编辑pam认证模块支持虚拟用户的登录
[root@localhost opt]# cat /etc/pam.d/vsftpd 	===>查看固定模板
#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required	pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required	pam_shells.so
auth       include	password-auth
account    include	password-auth
session    required     pam_loginuid.so
session    include	password-auth

[root@localhost opt]# vi /etc/pam.d/vsftpd.vu	===>pam认证模块的文件

auth required pam_userdb.so db=/etc/vsftpd/vuser	===>是vuser.db的文件
account required pam_userdb.so db=/etc/vsftpd/vuser

[root@localhost opt]# vi /etc/vsftpd/vsftpd.conf 	===>修改配置文件

......

#pam_service_name=vsftpd	===>注释掉,不然会冲突
userlist_enable=YES
tcp_wrappers=YES

guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.vu	===>开启虚拟用户,使用pam认证登录   手动插入

[root@localhost opt]# systemctl restart vsftpd	===>重启服务

虚拟用户指定上传文件的权限
[root@localhost vuser]# cd /etc/vsftpd/	===>进入该目录

[root@localhost vsftpd]# vi vsftpd.conf 	===>修改配置文件

user_config_dir=/etc/vsftpd/vu_dir	===>指定文件夹路径

[root@localhost vsftpd]# mkdir vu_dir	===>创建文件夹

[root@localhost vsftpd]# cd vu_dir/	===>进入目录

[root@localhost vu_dir]# vim tom	===>创建文件

anon_umask=022	===>设置权限

[root@localhost vuser]# systemctl restart vsftpd	===>重启服务
[root@localhost vu_dir]# cd /opt/vuser/	===>进入家目录

......

-rw-r--r-- 1 vuser vuser 0 7月  19 10:00 cc.txt	===>可以看到权限变了


===>创建文件

anon_umask=022 ===>设置权限

[root@localhost vuser]# systemctl restart vsftpd ===>重启服务
[root@localhost vu_dir]# cd /opt/vuser/ ===>进入家目录

-rw-r–r-- 1 vuser vuser 0 7月 19 10:00 cc.txt ===>可以看到权限变了


猜你喜欢

转载自blog.csdn.net/weixin_47151717/article/details/107461680