Redhat之FTP

FTP

这个协议就不多解释了,相信只要你是学计算机的,肯定对这个协议很熟。直接看配置。

配置

配置之前为了配置方便,我把防火墙和selinux

systemctl stop firewalld.service
setenforce 0
server client
ip 192.168.0.100 192.168.0.200
hostname system1 system2

第一种:anonymous用户登录

Server 端:
  1. 安装vsftp

yum -y install vsftpd

  1. 配置vsftp

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

3.启动服务并给共享目录权限

systemctl start vsftpd
chown -R ftp /var/ftp/pub
client端

1.安装ftp并启动服务

yum -y install ftp
systemctl start ftp

2.连接测试

ftp 192.168.0.100
在这里插入图片描述

当然windows也可以访问。
在这里插入图片描述

第二种:指定用户登录

这里我创建了两个用户user1,user2。user1登录后可以切换目录,user2限制在自己的主目录(ftp 默认为用户的家目录)。

  1. 创建用户
useradd -d /home/user1 -s /sbin/nologin user1
echo 'user1' | passwd user1 --stdin 
chmod -R 775 /home/user1

useradd -d /home/user2 -s /sbin/nologin user2
echo 'user1' | passwd user2 --stdin 
chmod -R 775 /home/user2

  1. 修改vsftp配置文件

vim /etc/vsftpd/vsftpd.conf

#anonymous_enable=YES   #禁止匿名登录
chroot_local_user=YES     #将所有用户限制在其主目录
chroot_list_enable=YES   #启用不限制的名单
allow_writeable_chroot=YES   #使ftp可写

vim /etc/vsftpd/chroot_list

user1    #添加user1到白名单,不受限制,可以切换到上层目录
systemctl restart vsftpd  #重启服务

如果你想简单的配置,只需要将vsftp.conf 中的anonymous_enable=NO.重启服务。如果出现
vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()。这是因为从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。解决办法:(1)在vsftpd.conf 中增加一行:allow_writeable_chroot=YES,使可写。(2)去除用户目录的写权限 chmod a-w /home/user1

  1. 验证
    user1:可以切换到上层目录
    在这里插入图片描述

user2:不可以切换到上层目录
在这里插入图片描述

第二种:虚拟用户登录

创建一个虚拟用户virtual_user,应用加密的用户文件登录ftp

  1. 创建虚拟用户并加密
    cd /
    vim userlist
vuser1
vuser1
vuser2
vuser2
vuser3
vuser3
db_load -T -t hash -f userlist vuser.db   #对明文进行加密
rm -f userlist  #删除原始文件
  1. 创建虚拟用户
useradd -d /var/virtual_user -s /sbin/nologin virtual_user
chmod -Rf 755 /var/virtual_user   #添加权限
  1. 配置虚拟配置文件
    vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/virtual_user
account required pam_userdb.so db=/etc/vsftpd/virtual_user

cp vuser.db /etc/vsftpd/ -----------------把用户数据文件拷贝到相应目录

  1. 编辑ftp配置文件
    vim /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=virtual_user
allow_writeable_chroot=YES
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vusers_config_dir
  1. 配置用户文件
    mkdir /etc/vsftpd/vusers_config_dir #如果定义用户的权限则在此目录下创建和用户名相同的文件即可。

vim /etc/vsftpd/vusers_dir/vuser1 #定义vuer1的权限

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
  1. 重启服务查看结果
systemctl restart vsftpd

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/GhostRaven/article/details/85261887
今日推荐