ubuntu

ubuntu lamp多用户环境如何设置

小樊
43
2025-08-07 06:12:49
栏目: 智能运维

Ubuntu LAMP多用户环境设置需从系统用户、数据库用户、Web应用权限及虚拟主机配置入手,以下是关键步骤:

一、系统用户管理

  1. 创建用户
    sudo adduser username  # 创建系统用户  
    sudo usermod -aG sudo username  # 添加sudo权限(可选)  
    
  2. 删除用户
    sudo deluser username --remove-home  # 删除用户及主目录  
    

二、数据库用户配置

  1. 登录MySQL
    sudo mysql -u root -p  
    
  2. 创建数据库及用户
    CREATE DATABASE dbname;  
    CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'strongpassword';  
    GRANT ALL PRIVILEGES ON dbname.* TO 'dbuser'@'localhost';  
    FLUSH PRIVILEGES;  
    
  3. 限制权限
    • 仅授予应用所需的最小权限(如SELECT, INSERT)。
    • 避免使用root账户连接数据库。

三、Web应用权限设置

  1. 目录权限
    • Web根目录(如/var/www/html):
      sudo chown -R www-data:www-data /var/www/html  # 所有者:www-data组  
      sudo chmod -R 750 /var/www/html  # 组可读写,其他无权限  
      
    • 上传目录(如/var/www/html/uploads):
      sudo chmod -R 770 /var/www/html/uploads  # 允许组写入  
      
  2. 配置虚拟主机
    • 编辑配置文件(如/etc/apache2/sites-available/site.conf):
      <VirtualHost *:80>  
          ServerName example.com  
          DocumentRoot /var/www/site1  
          <Directory /var/www/site1>  
              Options Indexes FollowSymLinks  
              AllowOverride All  
              Require all granted  
          </Directory>  
      </VirtualHost>  
      
    • 启用配置并重启Apache:
      sudo a2ensite site.conf  
      sudo systemctl restart apache2  
      

四、安全加固

  1. 禁用危险函数
    编辑php.ini,设置:
    disable_functions = exec,passthru,shell_exec  
    
  2. 启用HTTPS
    使用Let’s Encrypt免费证书:
    sudo apt install certbot python3-certbot-apache  
    sudo certbot --apache -d example.com  
    
  3. 定期审计
    • 检查目录权限:ls -la /var/www/
    • 监控日志:sudo tail -f /var/log/apache2/error.log

五、多用户隔离策略

参考来源:

0
看了该问题的人还看了