作者:手机用户2602918323 | 来源:互联网 | 2023-07-07 02:48
操作系统:Centos71.1、服务器配置#关闭SELINUX,把SELINUXenforcing改为SELINUXdisabled,reboot重启服务器生效vimetcsysc
操作系统:Centos7
1.1、服务器配置
# 关闭SELINUX,把SELINUX=enforcing改为SELINUX=disabled,reboot重启服务器生效
vim /etc/sysconfig/selinux
SELINUX=disabled
# 开放21端口
firewall-cmd --zOne=public --add-port=21/tcp --permanent
# 开放ftp服务
firewall-cmd --add-service=ftp --permanent
# 重新加载防火墙
firewall-cmd --reload
# 查看21端口是否开放
firewall-cmd --zOne=public --query-port=21/tcp
# 查看ftp服务是否开放
firewall-cmd --query-service=ftp
# 新建一个不能登录系统用户,只用来登录ftp服务。这里如果没设置用户目录,默认是在home下。
useradd ftpuser -s /sbin/nologin
# 设置密码
echo "foo" | passwd --stdin ftpuser
```
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
#从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报误。
#要修复这个错误,可以用命令chmod a-w /home/ftpuser 去除用户主目录的写权限,注意把目录替换成你自己的。
#或者你可以在vsftpd的配置文件中增加下列项:
allow_writeable_chroot=YES
```
# 查看目录权限
ll -d /home/ftpuser/
drwx------. 2 ftpuser ftpuser 62 9月 19 14:04 /home/ftpuser/
# 去除用户主目录的写权限
chmod a-w /home/ftpuser
dr-x------. 2 ftpuser ftpuser 62 9月 19 14:04 /home/ftpuser/
1.2、安装vsftpd
yum -y install vsftpd
# vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:
# vsftpd.conf 为主要配置文件
# ftpusers 配置禁止访问FTP服务器的用户列表
# user_list 配置用户访问控制------这里的用户默认情况(即在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=YES)下也不能访问FTP服务器
1.3、配置vsftpd.conf
# 禁用匿名用户,YES改为NO
anonymous_enable=NO
# 禁止切换根目录
chroot_local_user=YES
1.4、启动vsftpd
#
systemctl start vsftpd.service
#查看vsftpd状态
systemctl status vsftpd.service
1.5、安装ftp客户端
yum install -y ftp
1.6、登录ftp服务器(推荐,这种方式在出错的情况下可以看到错误信息的输出)
ftp 192.168.0.183
2.1、安装Nginx
linux下yum安装最新稳定版nginx
2.2、配置Nginx
修改nginx.conf
#user nginx;
user ftpuser;
在conf.d下增加ftp_server.conf
server {
listen 8080;
server_name localhost;
#charset koi8-r;
access_log /var/log/nginx/ftp.access.log main;
location / {
# 指定到ftp文件位置
root /home/ftpuser;
index index.html index.htm;
}
}