vsftp服务器搭建
admin
2023-03-18 07:01:32
0次

vsftpd+pam=虚拟用户登录FTP服务器

 

1.配置匿名用户登录

关闭firewalld和selinux

yum install -y vsftpd

编辑主配置文件

vim /etc/vsftpd/

anonymous_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES      #容许匿名用户上传文件

anon_mkdir_write_enable=YES     #容许匿名用户建立目录

anon_other_write_enable=YES     #容许匿名用户除了新建和上传外的其他权限

cd /var/ftp

mkdir upload

chmod 777 upload

systemctl restart vsftpd

客户端使用ftp://192.168.1.10访问

 

2.配置虚拟用户登录(与1独立)

2.1建立虚拟用户账号和密码

vim /tmp/logins.txt

test1

pw1

test2

pw2

2.2建立虚拟用户数据库

db_load -T -t hash -f /tmp/logins.txt /etc/vsftpd_login.db

file /etc/vsftpd_login.db

chmod 600 /etc/vsftpd_login.db

2.3建立PAM文件,告诉系统你要使用自己的数据库

vim /etc/pam.d/vsftpd(注释掉其它使下面的生效)

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd_login

account required /lib64/security/pam_userdb.so db=/etc/vsftpd_login

2.4为虚拟用户建立文件夹并授权

useradd -d /ftp/ -s /sbin/nologin virtual

chown -R virtual.virtual /ftp/

2.5编辑主配置文档

vim /etc/vsftpd/vsftpd.conf (修改以下)

anonymous_enable=NO
local_enable=YES
connect_from_port_20=YES
listen=YES
listen_port=21

 

tcp_wrappers=YES

guest_enable=YES (#允许虚拟用户登录)

guest_username=virtual(#指定虚拟用户映射到virtual系统用户)

user_config_dir=/etc/vsftpd/user_config_dir(#指定虚拟用户的配置文件位置)

pam_service_name=vsftpd

allow_writeable_chroot=YES(没加这条可能会没写权限)

 

2.6建立用户配置文档

mkdir /etc/vsftpd/user_config_dir

echo "anon_world_readable_only=NO">/etc/vsftpd/user_config_dir/test1

#给用户test1和test2赋予只读权限

echo "write_enable=YES" >> /etc/vsftpd/user_config_dir/test1

#给用户test1和test2赋予写入权限

echo "anon_upload_enable=YES" >> /etc/vsftpd/user_config_dir/test1

#给用户test1和test2赋予上传权限

echo "anon_other_write_enable=YES" >> /etc/vsftpd/user_config_dir/test1

#给用户test1和test2赋予更改和删除权限 

echo "local_root=/ftp/test1" >> /etc/vsftpd/user_config_dir/test1

#给用户test1和test2赋予访问目录权限

echo "anon_mkdir_write_enable=YES" >> /etc/vsftpd/user_config_dir/test1

    #给用户test1和test2赋予建立目录权限

mkdir /ftp/test1

touch test

2.7开启服务

systemctl start vsftpd

 

注:若开启selinux,需如下设置

setsebool –P ftp_home_dir on

setsebool -P ftpd_anon_write on

semanage fcontext -a -t public_content_rw_t "/ftp/test1(/.*)?"

restorecon -R -v /ftp/test1


阿里云vsftp配置实例

#通常供外网访问使用被动模式
anonymous_enable=NO                #不允许匿名用户访问
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
pasv_enable=YES                   #开启被动模式
pasv_min_port=6010                #被动模式数据传输端口范围
pasv_max_port=6015
pasv_address=************         #该ftp的外网IP
pasv_addr_resolve=yes
xferlog_std_format=YES
listen=YES
listen_port=2121                  #修改监听端口
tcp_wrappers=YES
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd/user_config_dir
pam_service_name=vsftpd
anon_umask=022

注:
需在防火墙开放以上被动端口和监听端口;
阿里云对应的外网IP安全规则里允许可以被哪些ip访问;
如果该外网ip是负载均衡ip,需在负载均衡配置监听以上被动端口和监听端口。



 

 


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...