Linux-FTP服务

ftp的定义:FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。

一.配置FTP

虚拟机中关闭selinux

vim /etc/sysconfig/selinux


SELINUX=disabled


1.ftp的启用

yum install vsftpd


systemctl start vsftpd


systemctl enable vsftpd


firewall-cmd --permanent --add-service=ftp


firewall-cmd --reload

ftp://172.25.254.224 ##浏览器中打开配置成功。


二.ftp的基本信息

netstat -antlupe | grep vsftpd
访问的数据端口:21
数据传输端口:>1024随机端口

默认发布目录:/var/ftp


访问方式:
匿名登陆:
         lftp 172.25.254.224 ##匿名登陆    ------> /ver/ftp


密码登陆
         lftp 172.25.254.224 -u student ##用户登陆   ---->/home/student

配置文件:
  vim /etc/vsftpd/vsftpd.conf


三.ftp的安全部署

修改配置文件必须重启
systemctl restart vsftpd
500 权限过大
530 标识认证失败
550 标识服务本身不让做

anonymous_enable=YES ##匿名用户是否可以登陆
local_enable=YES    ##本地用户是否可以登陆
write_enable=YES    ##本地用户是否可写


四.匿名用户

匿名用户可上传
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub


vim /etc/vsftpd/vsftpd.conf


29行anonymous_enable=YES

systemctl restart vsftpd


root用户登录 cd /pub

put file 上传成功

匿名用户可下载(下载没有)
vim /etc/vsftpd/vsftpd.conf
anon_world_readable_only=NO

systemctl restart vsftpd

匿名用户新建目录
vim /etc/vsftpd/vsftpd.conf 34行
anon_mkdir_write_enable=YES

systemctl restart vsftpd

匿名用户删除,重命名,移动
vim /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES


匿名用户家目录修改
anon_root=/westos


 

匿名用户使用用户的身份修改即以用户student的身份登陆,上传文件的组id为1000
chown_uploads=YES
chown_username=student

最大上传速率
anon_max_rate=102400  ##上传速率100kb/s  单位是字节


最大用户数:
max_clients=10

 

五.本地用户

本地用户上传文件权限
local umask =xxx  

local_umask=033       ##文件默认权限为644

本地用户家目录修改
local_root=/directory

限制本地用户浏览/目录
所有本地用户被锁定到自己的家目录中

chroot_local_user=YES
chmod u-w /home/*

用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

将student加入临时黑名单

ftpusers 永久黑名单,user_list 临时黑名单

vim /etc/vsftpd/ftpusers               ##用户黑名单

vim /etc/vsftpd/user_list              ##用户临时黑名单


用户白名单建立
chroot_local_user=YSE
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

用户白名单设定:
userlist_deny=NO 拒绝默认用户,(拒绝功能关掉就是允许),在名单里可登陆,白名单
vim /etc/vsftpd/user_list

'

将student加入白名单

student可以登陆,tom不能登陆


六.ftp虚拟用户的设定

vim /etc/vsftpd/westosfile ##文件名称任意


user1
123
user2
123
user3
123


db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db 加密


file /etc/vsftpd/westosfile.db    ##查看是否加密


vim /etc/pam.d/westos ##文件名称任意
account  required pam_userdb.so db=/etc/vsftpd/westosfile
auth     required pam_userdb.so db=/etc/vsftpd/westosfile


vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos
##pam读取虚拟用户文件westos
guest_enable=YES                   ##开启虚拟用户登陆

虚拟帐号身份指定:


guest_username=ftp  ##使虚拟用户以ftp映射用户登陆

 systemctl restart vsftpd

使用虚拟帐号user1可以登陆上去

虚拟帐号家目录独立设定


vim /etc/vsftpd/vsftpd.conf
local_root=/ftphome/$USER
user_sub_token=$USER

mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p

 systemctl restart vsftpd


虚拟帐号配置独立

chgrp ftp /ftphome -R

chmod 775 /ftphome/user1/user1dir

chmod 775 /ftphome/user2/user2dir

vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/userconf      ##userconf 目录中的文件相当于“VIP名单”

在/etc/vsftpd/userconf目录下建立文件,以虚拟用户名命名

mkdir useconf

touch  userconf/user1

vim  userconf/user1

anon_upload_enable=YES

在/etc/vsftpd/userconf目录下建立文件,以虚拟用户名命名

重启vsftpd服务

user1可以有权利建立目录,user2不行

猜你喜欢

转载自blog.csdn.net/qq_38449802/article/details/81506608