温馨提示×

linux服务器搭建如何设置访问控制

小樊
83
2024-12-08 10:17:19
栏目: 云计算

在Linux服务器上设置访问控制通常涉及以下几个方面:

  1. 用户和组管理

    • 创建用户和组:
      sudo useradd username
      sudo groupadd groupname
      
    • 将用户添加到组:
      sudo usermod -aG groupname username
      
  2. 权限管理

    • 设置文件权限:
      sudo chmod 755 filename  # 设置读、写、执行权限给所有者,读、执行权限给组和其他用户
      sudo chmod 644 filename  # 设置读、写权限给所有者,读权限给组和其他用户
      
    • 设置目录权限:
      sudo chmod 755 directory  # 设置读、写、执行权限给所有者,读、执行权限给组和其他用户
      sudo chmod 775 directory  # 设置读、写、执行权限给所有者,读、写、执行权限给组和其他用户
      
    • 使用chmod的符号表示法:
      • r:读权限
      • w:写权限
      • x:执行权限
      • -:无权限
      • u:用户(所有者)
      • g:组
      • o:其他用户
  3. SELinux和AppArmor

    • SELinux
      • 安装SELinux:
        sudo yum install policycoreutils-python-utils
        sudo setenforce 1  # 开启SELinux
        
      • 配置SELinux策略:
        sudo semanage fcontext -a -t httpd_sys_content_t "/var/www(/.*)?"
        sudo restorecon -Rv /var/www
        
    • AppArmor
      • 安装AppArmor:
        sudo apt-get install apparmor apparmor-utils
        
      • 配置AppArmor策略:
        sudo aa-complain /etc/apparmor.d/usr.sbin.httpd
        
  4. 防火墙设置

    • 使用iptables
      sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # 允许HTTP流量
      sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT  # 允许HTTPS流量
      sudo service iptables save
      
    • 使用ufw
      sudo ufw allow 80/tcp  # 允许HTTP流量
      sudo ufw allow 443/tcp  # 允许HTTPS流量
      sudo ufw enable
      
  5. SSH访问控制

    • 修改SSH配置文件:
      sudo nano /etc/ssh/sshd_config
      
    • 设置允许的用户:
      AllowUsers username1 username2
      
    • 设置禁用密码登录:
      PasswordAuthentication no
      
    • 重启SSH服务:
      sudo systemctl restart sshd
      
  6. 使用访问控制列表(ACL)

    • 安装acl软件包:
      sudo yum install acl
      
    • 设置ACL:
      sudo setfacl -m u:username:--- filename
      sudo setfacl -m u:groupname:--- filename
      
    • 查看ACL设置:
      getfacl filename
      

通过以上步骤,你可以在Linux服务器上设置基本的访问控制。根据具体需求,你可能还需要进行更复杂的配置。

0