ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

FTP

2021-05-29 10:34:36  阅读:129  来源: 互联网

标签:FTP 配置文件 vsftpd 用户 etc 虚拟 pam


1、安装vsftpd和依赖
yum install vsftpd pam pam-devel db4 db4-devel db4-utils db4-tcl -y
2、备份并且配置vsftpd.conf
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
3、配置
cat > /etc/vsftpd/vsftpd.conf << EOF
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
connect_from_port_20=YES

xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log

ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

chroot_local_user=YES
chroot_list_enable=YES
allow_writeable_chroot=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf
EOF
4、创建虚拟用户配置文件存放的目录,这个目录是vsftpd.conf配置文件中的参数user_config_dir=/etc/vsftpd/vconf定义的
user_config_dir=/etc/vsftpd/vconf定义的
mkdir -p /etc/vsftpd/vconf
5、创建保存 虚拟用户 的文件
touch /etc/vsftpd/vusers
6、在保存虚拟用户的文件中建立测试用户
echo "mm" >> /etc/vsftpd/vusers
echo "123" >> /etc/vsftpd/vusers
7、生成虚拟用户数据库加密文件
db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/vusers.db
8、备份vsftpd的pam认证文件"/etc/pam.d/vsftpd"
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
9、修改vsftpd的pam认证文件"/etc/pam.d/vsftpd"
# 首先删除/etc/pam.d/vsftpd的所有内容,然后添加以下内容到这个文件中
cat >/etc/pam.d/vsftpd <<EOF
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers
EOF
10、创建虚拟用户的配置文件
# 每个虚拟用户的配置文件可以不同,
# 每个虚拟用户的配置文件是个独立的文件,
# 配置文件新建到vsftpd.conf的配置文件中的参数user_config_dir=/etc/vsftpd/vconf定义的目录中,这个目录在第3步已经创建
# 各个虚拟用户的配置文件名称,必须设置得和虚拟用户数据库中的虚拟用户名相同,
# 例:在虚拟用户的数据库文件中定义了user1这个用户,那么在/etc/vsftpd/vconf/这个目录中,就必须定义1个user1这个用户配置文件的格式
cat > /etc/vsftpd/vconf/test <<EOF
local_root=/srv/vsftp/test
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
EOF
11、创建虚拟用户的ftp上传目录 ,这个目录是由第9步的配置文件中的参数 local_root=/srv/vsftp/test定义的,参考示例配置
mkdir -p /srv/vsftp/test
12、修改虚拟用户的ftp上传目录权限, 这个用户是由vsftpd.conf配置文件的参数 guest_username=ftp 定义的
chown -R ftp.root /srv/vsftp/test
13、创建文件vsftpd.conf配置文件
# 创建文件vsftpd.conf配置文件中参数 chroot_list_file=/etc/vsftpd/vsftpd.chroot_list 定义的文件,这个参数和chroot_local_user=YES,chroot_list_enable=YES这2个参数配合使用,表示如果在chroot_list_file参数中未定义任何用户,就没有任何用户能切换到ftp的上级目录
touch /etc/vsftpd/vsftpd.chroot_list
14、启动vsfrpd
systemctl enable --now vsftpd 

# 默认文件  /var/fsp/pub  #或者 /srv/vsftp/test
#访问:ftp://172.16.1.31

标签:FTP,配置文件,vsftpd,用户,etc,虚拟,pam
来源: https://www.cnblogs.com/caodan01/p/14824636.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有