Linux 采用虚拟用户建立 FTP Server

xiaoxiao2021-02-28  101

采用 centos 7 精简安装

一、安装vsftp及ftp

    用rpm及yum都可

rpm -ivh vsftpd 或 yum install vsftpd

二、配置

vi /etc/vsftpd/vsftpd.conf

#取消匿名登录

anonymous_enable=NO

#启用本地用户登录

local_enable=YES

#允许上传资料

write_enable=YES

local_umask=002

dirmessage_enable=YES

xferlog_enable=YES

xferlog_std_format=YES

ascii_upload_enable=YES

ascii_download_enable=YES

#不允许用户变更目录

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

allow_writeable_chroot=YES

use_localtime=YES

listen_port=21

idle_session_timeout=300

data_connection_timeout=120

guest_enable=YES

guest_username=ftpuser

user_config_dir=/etc/vsftpd/vuser_conf

virtual_use_local_privs=YES

#被动连接模式

pasv_min_port=10060

pasv_max_port=10090

accept_timeout=5

connect_timeout=1

三、创建虚拟用户帐号与密码

vi /etc/vsftpd/vftpuser.txt #奇行表示是用户,偶行表示密码 test1

123456

根据明文创建密码DB文件

db_load -T -t hash -f /etc/vsftpd/vftpuser.txt \/etc/vsftpd/vftpuser.db

四、创建vsftpd的本地GUSET帐户

useradd -d /ftp/private -m -s /sbin/nologin vftpuser

#chroot_list加入虚拟用户,禁止变更目录

vi /etc/vsftpd/chroot_list

test1

修改/etc/pam.d/vsftpd

vi /etc/pam.d/vsftpd#注释所有行,添加下面内容 auth required pam_userdb.so db=/etc/vsftpd/vftpuser

account required pam_userdb.so db=/etc/vsftpd/vftpuser

五、设置vsftpd开机启动

systemctl enable vsftpd

防火墙修改

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

firewall-cmd --reload

查看SELinu设置ftpd_full_access

getsebool -a | grep ftp

setsebool -P ftpd_full_access on

六、为每个虚拟用户创建独立目录及配置文件

创建虚拟用户配置文件存储位置

mkdir /etc/vsftpd/userconf/

cd /etc/vsftpd/userconf/

每个配置文件名与虚拟用户名一致

vi test1

local_root=/ftp/private/test1/

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

创建虚拟用户的根目录与设置根目录的权限

mkdir -p /home/private/test1/

chmod -R 777 /home/private/test1/

重启服务

systemctl restart vsftpd

七、设定用户目录使用配额

vi /etc/fstab

/dev/mapper/centos-home /home xfs  defaults,usrquota,grpquota,prjquota  0 0

#卸载家目录在挂载生效

umount /home mount -a

查看配额状态 xfs_quota -x -c "state"

#建立项目及编码

echo "11:/home/private/test1" >> /etc/projects

echo "test1:11" >> /etc/projid

#初始化配额项目 xfs_quota -x -c "project -s test1" #建立配额使用限制300M 250M提醒 xfs_quota -x -c "limit  -p bsoft=250M bhard=300M test1" /home" xfs_quota -x -c "report -pbih " /home xfs_quota -x -c "print " /home xfs_quota -x -c "df -h " /home 到此配额已设定好了 
转载请注明原文地址: https://www.6miu.com/read-58608.html

最新回复(0)