在LNMP(Linux, Nginx, MySQL, PHP)環境下進行權限管理,主要包括以下幾個方面:
文件和目錄權限管理:
chmod
命令進行設置。例如,為目錄設置讀、寫、執行權限可以使用命令 sudo find /path/to/your/website -type d -exec chmod 755 {} \;
,為文件設置權限可以使用 sudo find /path/to/your/website -type f -exec chmod 644 {} \;
。chown
和 chgrp
命令調整文件屬主和屬組。例如,將網站文件的所有者設置為 www-data
用戶和組可以使用命令 sudo chown -R www-data:www-data /path/to/your/website
。Nginx 權限配置:
/etc/nginx/nginx.conf
,在配置文件中可以通過 user
指令設置 Nginx 運行的用戶和組,例如 user www-data;
。location
和 auth_basic
指令控制對特定目錄的訪問權限,例如:location /directory1/ {
auth_basic "input your user name and password";
auth_basic_user_file /home/test/.htpasswd;
}
```。
MySQL 用戶權限管理:
CREATE USER
語句創建新用戶,例如 CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
。GRANT
語句為用戶分配權限,例如 GRANT SELECT, INSERT ON database_name.* TO 'newuser'@'localhost';
。REVOKE
語句撤銷用戶的權限,例如 REVOKE INSERT ON database_name.* FROM 'newuser'@'localhost';
。SHOW GRANTS
語句查看用戶的當前權限,例如 SHOW GRANTS FOR 'newuser'@'localhost';
。PHP-FPM 權限配置:
/etc/php-fpm.d/www.conf
,在該文件中可以通過 user
和 group
設置 PHP-FPM 運行的用戶和組,例如 user www-data;
。通過以上步驟,可以有效管理 LNMP 環境下的權限,確保系統的安全性和穩定性。