ftp服务常见报错
530 | 报错 认证失败(密码错误或者服务端拒绝) |
---|---|
550 | 服务本身未开启 |
553 | 文件系统不可写(权限问题) |
500 | 服务本身所访问的目录认为访问者权限过大,拒绝访问 |
为避免实验误差
在裸机中进行实验
进入系统后需先
// 重置虚拟机
// 网络设置
// 修改主机名
// 查看yum源
检查内核selinux
gentenforce
(应为disable)
vim /etc/sysconfig/selinux
1、、下载ftp
yum install vsftpd lftpd -y
2、、火墙-允许
firewall-cmd --add-server=ftp
3、、打开ftp服务
在另一台主机上进行测试)(已安装lftp)
退出quit
/etc/ftp/pub共享文件
pub目录中
注意 ftp文件本身不可写,应在其共享目录下进行操作
在对ftp文件修改后,须重启服务
anonymous_enable=YES
匿名用户是否可以登陆
local_enable=YES
本地用户登录YES
write_enable=YES
ftp是否对登陆用户可写
local_umask=022
本地用户上传文件权限
anon_upload_enable=YES
匿名用户是否可上传
anon_mkdir_write_enable=YES
匿名用户是否可创建目录
anon_world_readable_only=NO
此项命令用来限制读写权限,一般后面写NO
anon_max_rate=2048
匿名用户的最大下载速率(最大传输速率单位字节)
anon_umask=0644
匿名用户权限设置(755-111-022(权限设置))
max_clients=2
最大链接数
本地用户家目录修改
local_root=/
chroot_local_user=YES
chmod u-w /home/*
匿名用户指定使用student用户身份登陆
chown_uploads=YES
chown_username=student
chown_upload_mode=0644
chroot_local_user=YES
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/chroot_list
NO所有人都可以访问,名单为黑名单
反之为白名单
用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
限制本地用户登陆
vim /etc/vsftpd/ftpusers
用户黑名单
vim /etc/vsftpd/user_list
用户临时黑名单
用户白名单设定
userlist_deny=NO
[root@foundation70 network-scripts]#vim /etc/vsftpd/user_list
参数设定此文件变成用户白名单,只有名单上的用户可登陆使用ftp服务
ftp虚拟用户设定
[root@foundation70 network-scripts]#vim /etc/vsftpd/westos 文件名任意
user1
123
user2
123
user3
123
(第一行用户名,第二行用户的密码以此类推)
[root@foundation70 network-scripts]#db_load -T -t hash -f /etc/vsftpd/westos /etc/vsftpd/westos.db
(加密)
[root@foundation70 network-scripts]#vim /etc/pam.d/westos 文件名任意
account required pam_userdb.so db=/etc/vsftpd/westos
auth required pam_userdb.so db=/etc/vsftpd/westos
[root@foundation70 network-scripts]#vim /etc/vstpd/vstpd.conf
pam_service_name=westos 指定读取文件
guest_enable=YES
guest_username=student
chmod u-w /home/student
[root@foundation70 network-scripts]#mkdir -p /ftphome/user1/userpub1
[root@foundation70 network-scripts]#mkdir -p /ftphome/user2/userpub2
[root@foundation70 network-scripts]#mkdir -p /ftphome/user3/userpub3
(-p 指建立多个目录)
[root@foundation70 network-scripts]#vim /etc/vstpd/vstpd.conf
local_root=/var/ftpdir/$USER
user_sub_token=$USER
($区分用户身份的变量)
[root@foundation70 network-scripts]#man 5 vsftpd.conf
[root@foundation70 network-scripts]#vim /etc/vstpd/vstpd.conf
user_config_dir=/etc/vstpd/user_conf 文件名任意
#anon_upload_enbale=YES 注释此行
修改文件权限
[root@foundation70 network-scripts]#touch /etc/vstpd/user_conf/user1
anon_upload_enbale=YES 仅user1可以上传
chmod 777 /ftphome/user1*/* 使文件可读
进行检测
lftp 172.25.254.70
lftp 172.25.254.70:~> ls
drwxrwxr-x 2 0 50 6 Jun 23 2016 pub
lftp 172.25.254.70:/> cd pub/
lftp 172.25.254.70:/pub> ls
lftp 172.25.254.70:/pub> put /etc/passwd
2243 bytes transferred
lftp 172.25.254.70:/pub> ls
-rw------- 1 14 50 2243 May 09 11:39 passwd
lftp 172.25.254.70:/pub>