Linux服务安装配置-vsftpd服务安装配置虚拟用户登录

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

配置

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

3、创建虚拟用户配置文件存放的目录,这个目录是vsftpd.conf配置文件中的参数user_config_dir=/etc/vsftpd/vconf定义的

mkdir -p /etc/vsftpd/vconf

4、创建保存 虚拟用户 的文件

touch /etc/vsftpd/vusers

5、在保存虚拟用户的文件中建立测试用户

echo "test" >> /etc/vsftpd/vusers

echo "123456" >> /etc/vsftpd/vusers

6、生成虚拟用户数据库加密文件:

db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/vusers.db

7、备份vsftpd的pam认证文件"/etc/pam.d/vsftpd"

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

8、修改vsftpd的pam认证文件"/etc/pam.d/vsftpd"

首先删除/etc/pam.d/vsftpd的所有内容,然后添加以下内容到这个文件中

cat >/etc/pam.d/vsftpd <

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers

EOF

9、创建虚拟用户的配置文件,

每个虚拟用户的配置文件可以不同,

每个虚拟用户的配置文件是个独立的文件,

配置文件新建到vsftpd.conf的配置文件中的参数user_config_dir=/etc/vsftpd/vconf定义的目录中,这个目录在第3步已经创建

各个虚拟用户的配置文件名称,必须设置得和虚拟用户数据库中的虚拟用户名相同,

例:在虚拟用户的数据库文件中定义了user1这个用户,那么在/etc/vsftpd/vconf/这个目录中,就必须定义1个user1这个用户

配置文件的格式

cat > /etc/vsftpd/vconf/test <

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

10、创建虚拟用户的ftp上传目录 ,这个目录是由第9步的配置文件中的参数 local_root=/srv/vsftp/test定义的,参考示例配置

mkdir -p /srv/vsftp/test

11、修改虚拟用户的ftp上传目录权限, 这个用户是由vsftpd.conf配置文件的参数 guest_username=ftp 定义的

chown -R ftp.root /srv/vsftp/test

12、创建文件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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

友情链接更多精彩内容