最近需要在一台EulerOS 2.0 (SP5)服务器上启用ftp服务,但是在配置过程中出现了各种问题导致失败。然后网上查询资料,结果发现网上的资料全都是你抄我的,我抄你的,要不就是缺少步骤。找不到一个完整的教程,经过不断的问题处理成功搭建了ftp服务,将具体的操作步骤及流程写下来,方便后期查阅。
一、检查系统版本号及相关信息。
命令:cat /etc/os-release
二、查看是否安装了ftp服务。
命令:rpm -qa | grep vsftpd
三、下载vsftp离线安装包。
本文使用vsftpd-3.0.2-28.el7.x86_64.rpm版本,下载地址见右侧下载地址栏。
四、利用MobaXterm上传到服务器/opt/目录下。
五、安装vsftp服务。
命令:cd /opt/
rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm
六、设置vsftp服务为开机自启。
命令:systemctl enable vsftpd.service
七、防火墙设置开通开通21和22端口。
命令:firewall-cmd –zone=public –add-port=21/tcp –permanent
firewall-cmd –zone=public –add-port=22/tcp –permanent
八、重启防火墙。
命令:firewall-cmd –reload
九、开启防火墙ftp协议。
命令:firewall-cmd –permanent –add-service=ftp
十、配置vsftp相关参数。
10.1配置vsftp.conf文件。
命令:vim /etc/vsftpd/vsftpd.conf #进入vsftpd配置文件。
anonymous_enable=NO #将anonymous_enable设置为NO,防止匿名登陆。
chroot_local_user=YES #设置chroot_local_user为Yes
chroot_list_enable=YES #开启chroot_list_enable
chroot_list_file=/var/ftp/ #设置chroot_list配置文件的路径
allow_writeable_chroot=YES #如果ftp的版本大于2.3.5的话,在配置文件末尾添加
10.2按ESC键,输入:wq保存退出。
10.3配置允许ftp服务。
命令:setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on
10.4配置/etc/pam.d/vsftpd。
命令:vim /etc/pam.d/vsftpd
将auth required pam_shells.so注释掉,然后将下面这行插入到上面这行配置的下方 auth required pam_nologin.so
十一、配置ftp登陆用户及权限。
11.1增加一个ftpuser的用户,且不能登陆系统
命令:useradd ftpuser -s /sbin/nologin
11.2设置ftpuser用户的密码。
命令:passwd ftpuser
11.3将新增的用户添加到chroot_list配置文件中
命令:vim /etc/vsftpd/chroot_list
11.4按下esc后,:wq保存退出。
十二、启动ftp服务。
命令:systemctl start vsftpd.service #启动vsftp服务。
systemctl enable vsftpd #添加到开机启动。
十三、客户端使用ftp软件进行登陆测试,并进行写入删除操作。
到这里就全部成功了。
如果出现账号登录不上的问题可以尝试使用以下方法。
十四、vsftp 配置文件解释。
anonymous_enable=YES 是否允许匿名登陆
local_enable=YES 允许本地登陆
write_enable=YES 启用任何形式的ftp 写入命令
local_umask=022 FTP上本本地的文件权限,默认是077,不过vsftp安装后的配置文件里默认是022
anon_upload_enable=YES 允许匿名ftp 用户上传文件
anon_mkdir_write_enable=YES 允许匿名用户 创建新的目录
dirmessage_enable=YES 激活目录消息,向远程用户发送消息,进入某个目录
xferlog_enable=YES 激活上传/下载 日志记录
connect_from_port_20=YES 确保RORT传输连接来自端口 20
chown_uploads=YES 设置可以上传权限
chown_username=whoever 设置匿名用户上传文件的默认用户,不推荐使用root
xferlog_file=/var/log/xferlog 日志文件路径
xferlog_std_format=YES 日志文件使用标准ftpd xferlog格式的日志文件 ,默认位置 /var/log/xferlog
idle_session_timeout=600 更改超时空闲会话的默认值
data_connection_timeout=120 超时数据连接的默认值
nopriv_user=ftpsecure 创建ftp服务器 独立的用户
async_abor_enable=YES 启用 异步 ABOR 请求
ascii_upload_enable=YES 允许ASCII模式上传文件
ascii_download_enable=YES 允许ASCII模式下载文件
ftpd_banner=Welcome to blah FTP service. 自定义登陆标题字符串
deny_email_enable=YES 指定不允许匿名登陆电子邮件
banned_email_file=/etc/vsftpd/banned_emails 默认路径
chroot_local_user=YES 设置本地用户权限
chroot_list_enable=YES设置列表权限
chroot_list_file=/etc/vsftpd/chroot_list 指定 chroot 参数
CHROOT就是Change Root,也就是改变程序执行时所参考的根目录位置。CHROOT可以增进系统的安全性,限制使用者能做的事
ls_recurse_enable=YES 启用 ls –R 选项
listen=NO 启用 listen 指令,vsftp 以独立模式运行侦听ipv4 套接字,该指令不能同时使用 with listen_inv6 指令
listen_ipv6=YES 监听ipv6
pam_service_name=vsftpd 虚拟用户使用PAM认证方式
userlist_enable=YES 只允许userlist 文件中的账户登陆
tcp_wrappers=YES 是否允许tcp_wrappers 管理
anon_other_write_enable=YES 允许匿名用户改名和删除文件
anon_world_readable_only=YES 匿名用户可以读文件 反之就是不能读
pasv_min_port=30000 PASV模式下指定最小端口
pasv_max_port=35000 PASV模式下指定最大端口
本站所有文章,如无特殊说明或标注,均为本站原创发布。
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)