在Linux服務器上設置訪問控制通常涉及以下幾個方面:
用戶和組管理:
sudo useradd username
sudo groupadd groupname
sudo usermod -aG groupname username
權限管理:
sudo chmod 755 filename # 設置讀、寫、執行權限給所有者,讀、執行權限給組和其他用戶
sudo chmod 644 filename # 設置讀、寫權限給所有者,讀權限給組和其他用戶
sudo chmod 755 directory # 設置讀、寫、執行權限給所有者,讀、執行權限給組和其他用戶
sudo chmod 775 directory # 設置讀、寫、執行權限給所有者,讀、寫、執行權限給組和其他用戶
chmod的符號表示法:
r:讀權限w:寫權限x:執行權限-:無權限u:用戶(所有者)g:組o:其他用戶SELinux和AppArmor:
sudo yum install policycoreutils-python-utils
sudo setenforce 1 # 開啟SELinux
sudo semanage fcontext -a -t httpd_sys_content_t "/var/www(/.*)?"
sudo restorecon -Rv /var/www
sudo apt-get install apparmor apparmor-utils
sudo aa-complain /etc/apparmor.d/usr.sbin.httpd
防火墻設置:
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
SSH訪問控制:
sudo nano /etc/ssh/sshd_config
AllowUsers username1 username2
PasswordAuthentication no
sudo systemctl restart sshd
使用訪問控制列表(ACL):
acl軟件包:sudo yum install acl
sudo setfacl -m u:username:--- filename
sudo setfacl -m u:groupname:--- filename
getfacl filename
通過以上步驟,你可以在Linux服務器上設置基本的訪問控制。根據具體需求,你可能還需要進行更復雜的配置。