本文主要是记录并回顾一下在CentOs 7.6 的虚拟机上安装 FTP服务器,直觉告诉我,文件传输系统可能在未来的某周马上又要在新的机器上部署FTP服务器啦,通过上次为数据平台研发线部署全新的文件传输系统,其实对这一套按部就班安装的指令印象很深刻。不过时间久了,记忆好像变得模糊了起来。那边今天再在新申请的机器上尝试一下吧!关于运维这条大路,加油总会走上正轨的。
不说废话啦,开始安装吧!
第一步:安装服务,并配置开机自启。
执行命令 :yum install vsftpd -y 安装服务。安装成功如下图所示:
执行命令: chkconfig vsftpd on 将其设置为开机自启动。
第二步:修改配置文件。
执行命令:vim /etc/vsftpd/vsftpd.conf 添加如下修改
anonymous_enable=NO #禁止匿名用户
chroot_local_user=YES #禁止本地用户登出自己的FTP主目录
guest_enable=YES
guest_username=ftp_user_shzhang7
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/user_config
配置修改简单说明:
(guest_enable=YES:开启用户身份映射;
guest_username=ftp:映射登录的用户的身份为guest用户,配合上面选项生效;
注意:开启映射功能之后,用户登录的时候。就是以该guest用户的身份运行的。只是在登录的时候,用到了系统用户的用户名和密码。
注意:将系统用户映射成为ftp用户的话,同样不允许ftp用户对他的根目录有"w"权限。)
执行如下命令 : vim /etc/vsftpd/vuser_list 添加用户信息, 单数行是用户名 双数行是对应的密码,添加后如下图:
执行如下命令 db_load -T -t hash -f vuser_list vuser_list.db 生成 vuser_list.db 文件 。对vuser_list 和 vuser_list.db 文件执行
chmod 600 如下图所示:
执行如下命令 vim /etc/pam.d/vsftpd 把前面对配置都注释掉,
auth required pam_userdb.so db=/etc/vsftpd/vuser_list
account required pam_userdb.so db=/etc/vsftpd/vuser_list
如下图所示:
最后mkdir /etc/vsftpd/user_config,然后在此目录下touch 对应用户名
然后vim输入以下内容
local_root=/data3/rdupload-ftp/ftp_user_datawell # 对应用户访问文件的目录地址
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
如下图所示:
第三步:用户初始化
执行如下指令 useradd -d /data/ftp/ftp_user_shzhang7 -s /sbin/nologin ftp_user_shzhang7
chown ftp_user_shzhang7.ftp_user_shzhang7 ftp的目录(用的是配置文件中的guest_username)
如图所示:
第四步:系统配置
setenforce 0 关闭selinux
vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled
ulimit -n 204800 打开文件数修改
vim /etc/security/limits.conf
soft nofile 204800
hard nofile 204800
重新启动服务 service vsftpd restart
添加用户
①/etc/vsftpd/vuser_list 添加用户名密码
②vuser_list.db 删除,并重新用db_load -T -t hash -f vuser_list vuser_list.db 生成
③/etc/vsftpd/user_config 创建相应用户名的文件,并在文件配置
参考文档:https://www.cnblogs.com/mikeguan/p/7118229.html
chown ftp_user_shzhang7:ftp_user_shzhang7 -R ftp_user_nbbzpt
local_root=/data3/rdupload-ftp/ftp_user_nbbzpt
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES