centos+nginx+php,使用ftp工具后,目录权限设置问题
背景:
网站使用nginx+php-fpm
,运行账户为nginx:nginx
,ftp
账户为test:ftp
;
网站根目录为 /user/share/nginx/html/www
;
ftp
工具为vsftpd
;
现在网站能正常使用,但是本地使用filezilla
无法上传文件,提示553 Could not create file.
,附图如下:
问题:
如何设置www
的目录权限,才能在保证安全的情况下,使nginx
和ftp
都能正常使用?
回复内容:
背景:
网站使用nginx+php-fpm
,运行账户为nginx:nginx
,ftp
账户为test:ftp
;
网站根目录为 /user/share/nginx/html/www
;
ftp
工具为vsftpd
;
现在网站能正常使用,但是本地使用filezilla
无法上传文件,提示553 Could not create file.
,附图如下:
问题:
如何设置www
的目录权限,才能在保证安全的情况下,使nginx
和ftp
都能正常使用?
虽然可能跑题,但我的建议是每个网站用单独的用户来跑,网站相关的所有文件属于该用户,这样可以做到站点之间,服务之间的权限隔离。FTP 也用所属的用户来登录。
把test添加到www用户组,然后775应该就可以了。
usermod -a -G www test
chmod 775 -R /user/share/nginx/html/www
试试把filezilla的被动模式去掉,或者vsftpd开启一下被动模式
/etc/vsftpd/vsftpd.conf 末尾追加
<code>pasv_enable=YES pasv_min_port=40000 pasv_max_port=40080 pasv_promiscuous=YES </code>
/etc/sysconfig/iptables 开启端口
<code>-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 40000:40080 -j ACCEPT </code>
重启iptables & vsftpd
题主你好,我今天也是遇到了和你一样的问题,网站使用nginx+php-fpm,运行账户为nginx:nginx,ftp账户为myname:ftp;网站根目录为 /user/share/nginx/html;研究了一下成功了,方法如下,可供参考:
首先编辑“vsftpd.conf”:
<code>vim /etc/vsftpd/vsftpd.conf </code>
在文档最后添加:
<code>guest_enable=YES #启用vsftpd虚拟用户 guest_username=nginx #虚拟用户对应的系统用户,我安装的是 nginx #pam_service_name=vsftpd #启用 vsftpd 验证,如果文档里有这一行就注释掉 user_config_dir=/etc/vsftpd/vu_conf #虚拟用户配置文件路径 virtual_use_local_privs=yes #启用vsftpd虚拟用户,并且虚拟用户和本地用户有相同的权限。 </code>
完成后按 ESC 输入 :wp 保存并退出。然后进入“vsftpd”目录:
<code>cd /etc/vsftpd </code>
创建一个目录“vu_conf”:
<code>mkdir vu_conf </code>
然后进入此目录:
<code>cd vu_conf </code>
创建一个和虚拟用户名同名的文件“myname”:
<code>touch myname </code>
然后打开这个文件:
<code>vim myname </code>
按 i 键盘进入编辑模式,输入这个用户所对应的路径“local_root= /usr/share/nginx/html”然后按保存退出。最后重新启动 vsftpd 即可:
<code>service vsftpd restart </code>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

如何解決 Nginx 403 Forbidden 錯誤?檢查文件或目錄權限;2. 檢查 .htaccess 文件;3. 檢查 Nginx 配置文件;4. 重啟 Nginx。其他可能原因還包括防火牆規則、SELinux 設置或應用程序問題。

服務器無權訪問所請求的資源,導致 nginx 403 錯誤。解決方法包括:檢查文件權限。檢查 .htaccess 配置。檢查 nginx 配置。配置 SELinux 權限。檢查防火牆規則。排除其他原因,如瀏覽器問題、服務器故障或其他可能的錯誤。

解決 Nginx 跨域問題有兩種方法:修改跨域響應頭:添加指令以允許跨域請求,指定允許的方法和頭,以及設置緩存時間。使用 CORS 模塊:啟用模塊並配置 CORS 規則,允許跨域請求、方法、頭和設置緩存時間。

在 Linux 中啟動 Nginx 的步驟:檢查 Nginx 是否已安裝。使用 systemctl start nginx 啟動 Nginx 服務。使用 systemctl enable nginx 啟用在系統啟動時自動啟動 Nginx。使用 systemctl status nginx 驗證啟動是否成功。在 Web 瀏覽器中訪問 http://localhost 查看默認歡迎頁面。

問題的答案:304 Not Modified 錯誤表示瀏覽器已緩存客戶端請求的最新資源版本。解決方案:1. 清除瀏覽器緩存;2. 禁用瀏覽器緩存;3. 配置 Nginx 允許客戶端緩存;4. 檢查文件權限;5. 檢查文件哈希;6. 禁用 CDN 或反向代理緩存;7. 重啟 Nginx。

如何在 Windows 中配置 Nginx?安裝 Nginx 並創建虛擬主機配置。修改主配置文件並包含虛擬主機配置。啟動或重新加載 Nginx。測試配置並查看網站。選擇性啟用 SSL 並配置 SSL 證書。選擇性設置防火牆允許 80 和 443 端口流量。

確認 Nginx 是否啟動的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 檢查端口 80 是否開放;3. 查看系統日誌中 Nginx 啟動消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

查看 Nginx 運行狀態的方法有:使用 ps 命令查看進程狀態;查看 Nginx 配置文件 /etc/nginx/nginx.conf;使用 Nginx 狀態模塊啟用狀態端點;使用 Prometheus、Zabbix 或 Nagios 等監控工具。
