文章目录
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/ ===>进入家目录
…
扫描二维码关注公众号,回复:
11563624 查看本文章
-rw-r–r-- 1 vuser vuser 0 7月 19 10:00 cc.txt ===>可以看到权限变了