![c3bec126801fba1507e0da3da634fbf6.png](https://i-blog.csdnimg.cn/blog_migrate/a62db753d336fc30224ca1640d560110.jpeg)
LINUX
# setenforce 0
实例一
如何开启匿名用户上传功能
# vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES
27 anon_upload_enable=YES
31 anon_mkdir_write_enable=YES
#service vsftpd restart
#lftp 192.168.0.9
lftp 192.168.0.9:~>cd pub/
lftp 192.168.0.9:/pub> put post.log
put: Access failed: 553 Could not create file. (post.log)
lftp 192.168.0.9:/pub> bye
[root@desktop9 ~]# ls /var/ftp/pub/ -dl
drwxr-xr-x. 2 root root 4096 5月 26 2010 /var/ftp/pub/
[root@desktop9 ~]# chmod 777 /var/ftp/pub/ 更改目录本身权限
[root@desktop9 ~]# lftp 192.168.0.9
lftp 192.168.0.9:~> cd pub/
lftp 192.168.0.9:/pub> put post.log 可上传
801 bytes transferred
lftp 192.168.0.9:/pub> ls
-rw------- 1 0 50 2227 Jul 11 2012 passwd
-rw------- 1 14 50 801 Jul 10 11:52 post.log
lftp 192.168.0.9:/pub> mkdir a 可创建目录
mkdir 成功, 建立 `a'
lftp 192.168.0.9:/pub> rm a 但是不能删除目录
rm: Access failed: 550 Permission denied. (a)
lftp 192.168.0.9:/pub> bye
[root@desktop9 ~]# vim /etc/vsftpd/vsftpd.conf
32 anon_other_write_enable=YES 删除改名
# service vsftpd restarte
[root@desktop9 ~]# !lftp
lftp 192.168.0.9
lftp 192.168.0.9:~> cd pub/
lftp 192.168.0.9:/pub> rm -rf a
rm 成功, 删除 `a'
lftp 192.168.0.9:/pub> bye
实例二、匿名用户下载上传的文件
# cd /tmp/
# rm -fr *
# lftp 192.168.0.9
lftp 192.168.0.9:~> ls
drwxrwxrwx 2 0 0 4096 Jul 10 11:55 pub
lftp 192.168.0.9:/> cd pub/ 默认匿名用户上传的文件,匿名用户下载不了
lftp 192.168.0.9:/pub> ls 防止成为垃圾文件
-rw------- 1 0 50 2227 Jul 11 17:00 passwd
-rw------- 1 14 50 801 Jul 10 11:52 post.log
lftp 192.168.0.9:/pub> get post.log
get: Access failed: 550 Failed to open file. (post.log)
lftp 192.168.0.9:/pub> bye
# vim /etc/vsftpd/vsftpd.conf
23 anon_umask=022 默认没有自己添加
[root@desktop9 tmp]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
[root@desktop9 tmp]# lftp desktop9
lftp desktop9:~> cd pub/
lftp desktop9:/pub> put /root/anaconda-ks.cfg
4541 bytes transferred
lftp desktop9:/pub> ls
-rw-r--r-- 1 14 50 4541 Jul 12 09:36 anaconda-ks.cfg
-rw------- 1 0 50 2227 Jul 11 17:00 passwd
-rw------- 1 14 50 801 Jul 10 11:52 post.log
lftp desktop9:/pub> bye
[root@desktop9 tmp]# lftp desktop9
lftp desktop9:~> cd pub/
lftp desktop9:/pub> get anaconda-ks.cfg
4541 bytes transferred
lftp desktop9:/pub> bye
[root@desktop9 tmp]# ls
anaconda-ks.cfg
警告:不要把/var/ftp目录权限改成777
#chmod -R 777 /var/ftp/
#lftp 192.168.0.9:~> cd pub
cd: 登录失败: 500 OOPS: vsftpd: refusing to run with writable anonymous root
安全性考虑, vsftp有个默认帐户的, 就是vsftp主目录的所有者
把主目录权限改了, 可能会带来隐患
实例三:开启目录消息的功能
#su -student
$vim .message --写一则消息
Welcome to my ftp site !!!
[root@desktop9 ~]# vim /etc/vsftpd/vsftpd.conf
35 dirmessage_enable=YES
#service vsftpd restart
#lftp desktop9
lftp desktop9:~> user student
password:
# ftp desktop9
Connected to desktop9 (192.168.0.9).
220 (vsFTPd 2.2.2)
Name (desktop9:root): student
331 Please specify the password.
Password:
230-Welcome to my ftp site!!
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
----------------------------
实例四:指定匿名上传文件的拥有人
46 chown_uploads=YES
47 chown_username=root
实例五:本地用户登录,锁定在自己的家目录
96 chroot_list_enable=YES
97 # (default follows)
98 chroot_list_file=/etc/vsftpd/chroot_list
#vim /etc/vsftpd/chroot_list
student
# lftp desktop9
lftp desktop9:~> user student
口令:
lftp student@desktop9:~> ls
lftp student@desktop9:/> cd / 默认不受限制,可以到处翻,太危险了
lftp student@desktop9:/> ls
****************************************
[root@desktop9 ~]# vim /etc/vsftpd/vsftpd.conf
95 chroot_local_user=YES 取反了。写在文件中的用户不受限
[root@desktop9 ~]# lftp desktop9
lftp desktop9:~> user student
口令:
lftp student@desktop9:~> ls
lftp student@desktop9:~> cd /
cd 成功, 当前目录=/
lftp student@desktop9:/> ls
dr-xr-xr-x 2 0 0 4096 Jul 12 06:21 bin
dr-xr-xr-x 5 0 0 1024 Jul 09 12:38 boot
忠告:用来登录ftp的用户,请把他shell改为nologin
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list --> tom
实例六:ftp自身的访问控制
[root@desktop9 ~]# vim /etc/pam.d/vsftpd
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
用户 拒绝
# vim /etc/vsftpd/ftpusers
student 登录不了,默认已经有好多系统用户不能登录,为了安全
[root@desktop9 ~]# vim /etc/vsftpd/user_list
tom
[root@desktop9 ~]# vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd
userlist_enable=YES user_list中的用户可登录,ftpusers中的用户不能登录
tcp_wrappers=YES 二者有冲突,拒绝优先
userlist_enable=YES--启用/etc/vsftpd/user_list
userlist_deny=YES --拒绝的作用
userlist_deny=NO --只允许的作用
实例七:指定匿名用户和认证用户上传文件到不同的目录
[root@desktop9 ~]# mkdir /var/ftp/data
[root@desktop9 ~]# mkdir -p /var/ftp/temp/test/
[root@desktop9 ~]# cp /etc/passwd /var/ftp/data/
[root@desktop9 ~]# vim /etc/vsftpd/vsftpd.conf
anon_root=/var/ftp/temp
local_root=/var/ftp/data
[root@desktop9 ~]# !ser
service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
lftp desktop9:~> lftp desktop9
lftp desktop9:~> ls
drwxr-xr-x 2 0 0 4096 Jul 13 10:04 test
lftp desktop9:/> exit
[root@desktop9 ~]# lftp desktop9
lftp desktop9:~> user tom
口令:
lftp tom@desktop9:~> ls
-rw-r--r-- 1 0 0 2276 Jul 13 10:05 passwd
![d45b19d33f60ad8e35a838ffd4baffd5.png](https://i-blog.csdnimg.cn/blog_migrate/f4c21bde0b74be8af6150ddd6abf509f.jpeg)
LINUX
![4cf08e9a8231cbfcae2ea2663718fa81.png](https://i-blog.csdnimg.cn/blog_migrate/5624b98b92adbcc374d3f9ef71b92ed5.jpeg)
LINUX