linux搭建FTP服務器並整合Nginx


操作系統: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;
    }
}    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM