linux下的ftp服务的搭建
http 超文本传输协议
ftp 文件传输协议
部署ftp服务:
服务端(虚拟机)
vim /etc/sysconfig/selinux
将第七行改称disabled
reboot 重启
getenforce 查看若为disabled则成功
yum install vsftpd -y 下载安装ftp协议
systemctl start vsftpd 开启ftp协议
systemctl enable vsftpd 开机重启ftp协议
firewall-cmd --permanent--add-service=ftp 在火墙中添加ftp服务(以允许ftp服务)
firewall-cmd --reload 重读firewall配置文件
客户端(真机)
yum install ftp
[[email protected] Desktop]$ lftp 172.25.254.107 验证是否成功
lftp 172.25.254.107:~> ls
drwxr-xr-x 2 0 0 6 Mar 07 2014 pub
报错问题:
500 文件系统权限过大530 用户认证失败
550 服务本地功能未开放
553 本地系统权限过小
匿名用户是否登录
vim /etc/vsftpd/vsftpd.conf 编辑文件
anonymous_enable=YES|NO
systemctl restart vsftpd 重启服务
本地用户是否登录
vim /etc/vsftpd/vsftpd.conf
local_enable=YES|NO
systemctl restart vsftpd
vim /etc/vsftpd/vsftpd.conf
write_enable=YES|NO
systemctl restart vsftpd
改变匿名用户的默认路径
mkdir /ftpdir/westosdir -p
vim /etc/vsftpd/vsftpd.conf
anon root=/direcotry
systemctl restart vsftpd
匿名用户上传
vim /etc/vsftpd/vsftpd.conf
write_enable=YES 匿名用户上传的前提
anon_upload_enable=YES
systemctl restart vsftpd
chgrp ftp /var/ftp/pub 添加权限
chmod 775 /var/ftp/pub
匿名用户建立目录
vim /etc/vsftpd/vsftpd.conf
anon_mkdir_write_enable=YES|NO
systemctl restart vsftpd
匿名用户下载
vim /etc/vsftpd/vsftpd.conf
anon_world_readable_only=YES|NO
systemctl restart vsftpd
匿名用户删除、对文件的重命名
vim /etc/vsftpd/vsftpd.conf
local_enable=YES|NO
systemctl restart vsftpd
本地用户上传文件
vim /etc/vsftpd/vsftpd.conf
write_enable=YES|NO
vim /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES|NO
systemctl restart vsftpd
匿名用户的上传速率更改
vim /etc/vsftpd/vsftpd.conf
anon_max_rate=102400
systemctl
本地用户上传文件的默认权限
vim /etc/vsftpd/vsftpd.conf
local_umask=077
systemctl restart vsftpd
匿名用户上传文件的默认权限
vim /etc/vsftpd/vsftpd.conf
anon_umask=022
systemctl restart vsftpd
所有用户被锁定到自己的家目录
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES|NO 本地用户可否浏览其他目录
systemctl restart vsftpd
chmod u-w /home/*
本地用户黑名单建立
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
systemctl restart vsftpd
本地用户白名单建立
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
systemctl restart vsftpd
限制本地用户登录
vim /etc/vsftpd/ftpusers 用户永久黑名单(优先级高于一切,若两个文件中含有同一个用户名,则优先于ftpusers
vim /etc/vsftpd/user_list 用户临时黑名单(可能会变成白名单)
变成白名单
vim /etc/vsftpd/vsftpd.conf
userlist_deny=NO
systemctl restart vsftpd (/etc/vsftpd/user_list变成白名单,只有在名单中的用户可以登陆)
虚拟用户帐号身份登陆 关闭黑白名单
创建虚拟帐号身份
vim /etc/vsftp/文件名1
user1
123
user2
123
user3
123
db_load -T -t hash -f /etc/vsftpd/文件名1 /etc/vsftpd/文件名1.db
vim /etc/pam.d/文件名2
account required pam_userdb.so db=/etc/vsftpd/文件名1
auth required pam_userdb.so db=/etc/vsftpd/文件名1
vim /etc/vsftpd/vsftpd.conf
pam_service_name=
pam_service_name=文件名2
guest_enable=YES
guest_username=虚拟机中现有的用户
chmod u-w /home/虚拟机中现有的用户
systemctl restart vsftpd 重启服务指定虚拟用户的家目录
mkdir /目录1
mkdir /目录1/user{1..3} 创建的家目录名字与用户名相同
touch /目录1/user1/user1file
touch /目录1/user2/user2file
touch /目录1/user3/user3file
vim /etc/vsftpd/vsftpd.conf
local_root=/目录1/$USER
user_sub_token=$USER
systemctl restart vsftpd
虚拟账户配置独立
mkdir /目录1/user{1..3}/pub
chgrp 本地用户登陆 /目录1/user{1..3}
chmod 775 /目录1/user{1..3}
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/conf_dir
mkdir /etc/vsftpd/conf_dir-p
vim/etc/vsftpd/conf_dir/user2
anon_upload_enable=YES
只允许user2用户上传
systemctl restart vsftpd