ftp 文件传输协议
ftp 服务的配置
yum install vsftpd -y 配置ftp服务
systemctl start vsftpd 启动服务
systemctl enable vsftpd 开机自动启动
firewall-config 设置
firewall-cmd --permanent --add-service=ftp将ftp服务添加至火墙策略
firewall-cmd --reload重新加载使策略生效
vim /etc/sysconfig/selinux/ 关闭内核级别的防火墙
SELINUX=disabled更改为disable
getenforce 查看火墙状态
Disable
reboot 重启
reboot
ftp基本配置
vim /etc/vsftpd/vsftpd.conf配置文件
systemctl restart vsftpd.srevice重启服务
匿名用户登陆
anonymous_enable=YES|NO 匿名用户是否可以登陆
匿名用户上传:必须自己再/var/ftp目录下建立一个目录。再给这个目录授予某个身份的满权限。
write_enable=YES
anon_upload_enable=NO | YES
如果设为YES,则允许匿名登入者有上传文件(非目录)的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。
chgrp ftp /var/ftp/pub/
chmod 775 /var/ftp/pub/
local_enable=YES/NO(YES) 本地用户登入。
local_root=/westos 当本地用户登入时,将被更换到定义的目录下。
write_enable=YES/NO(YES) 是否允许登陆用户有写权限。
local_umask=022 本地用户新档案时的umask值。
anon_root=/目录名 匿名用户家目录修改
anon_umask=xxx 匿名用户上传文件默认权限修改
anon_mkdir_write_enable=NO 匿名用户建立目录
你名用户建立目录为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效。
550 程序本身不允许
anon_world_readable_only=NO 匿名用户下载
anon_other_write_enable=YES 匿名用户删除文件
chown_uploads=YES 匿名用户使用的身份修改
chown_username=student
anon_max_rate=102400 匿名用户最大上传速率
默认
更改后
max_clients=5 匿名用户最大链接数
local_enable=YES/NO(YES) 本地用户登入。
local_root=/directory 本地用户家目录的修改
chroot_local_user=YES 限制本地用户浏览/目录 所有用户都锁到自己家中
执行命令chmod u-w /home/*
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
用户黑名单的建立(把默认注释的#号删掉)
chroot local user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
student
限制本地用户登录(编辑文件)
vim /etc/vsftpd/ftpusers 用户黑名单
vim /etc/vsftpd/user_list 用户临时黑名单
用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list 编辑这个文件只有在这个文件内的名字才可以登录
虚拟用户的创建
cd /etc/vsftpd/
vim userfile
(westos1帐号
123
westos2
123 密码)
db_load -T -t hash -f userfile userfile.db 给userfile加密
file userfile.db 查看是否加密
cd /etc/pam.d
vim ftpcheck(创建文件)
account required db=/etc/vsftpd/userfile
auth required db=/etc/vsftpd/userfile
vim /etc/vsftpd/vsftpd.conf
pam_service_name=ftpcheck(把创建的文件加进去)
guest_enable=YES
guest_username=student(虚拟帐号的身份指定)
chmod u-w /home/student (权限过大需要缩减权限)
给虚拟用户创建根目录
mkdir /ftpdir/westos{1..3} -p
vim /etc/vsftpd/vsftpd.conf 更改配置文件
local_root=/ftpdir/$USER
user_sub_token=$USER
systemctl retart vsftpd 重启服务
touch /ftpdir/westos1/westos1file
touch/ftpdir/westos2/westos2file
给虚拟用户创建家目录
mkdir /ftpdir/westos/{1..3}/pub 创建目录
ll -ld /ftpdir/westos/{1..3}/pub 查看
chmod +775 /ftpdir/westos/{1..3}/pub 给目录加写的权限
ll -ld/ftpdir/westos/{1..3}/pub 查看权限
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/confdir
systemctl restart vsftpd
mkdir /etc/vsftpd/confdir -p
systemctl restatr vsftpd
vim /etc/vsftpd/confdir/westos1
anon_upload_enable=YES(上传)
systemctl restart vsftpd