溫馨提示×

centos stream8用戶權限怎么管

小樊
40
2025-10-09 00:26:12
欄目: 智能運維

CentOS Stream 8用戶權限管理指南
在CentOS Stream 8中,用戶權限管理需遵循“最小權限原則”,通過用戶與組管理、文件/目錄權限控制、sudo權限配置SELinux增強等步驟,確保系統安全與穩定性。

一、用戶與用戶組基礎管理

1. 創建與管理用戶

  • 創建用戶:使用useradd命令,可指定家目錄、默認shell等選項(如-m自動創建家目錄、-s設置shell)。
    示例:sudo useradd -m -s /bin/bash newuser(創建名為newuser的用戶,附帶家目錄,使用bash shell)。
  • 設置密碼:通過passwd命令為用戶設置強密碼(需包含大小寫字母、數字、特殊字符,長度≥10位)。
    示例:sudo passwd newuser。
  • 修改用戶信息:使用usermod命令調整用戶屬性,如更改家目錄、shell或追加組。
    示例:sudo usermod -d /new/home/newuser -s /bin/zsh newuser(修改家目錄與shell);sudo usermod -aG developers newuser(將用戶追加到developers組,-a避免移除原有組)。
  • 刪除用戶:使用userdel命令,-r選項可同時刪除家目錄及內容。
    示例:sudo userdel -r olduser(徹底刪除olduser)。

2. 管理用戶組

  • 創建組:使用groupadd命令創建新組。
    示例:sudo groupadd admins(創建admins組)。
  • 添加/移除用戶到組:通過usermod(添加)或gpasswd(移除)調整用戶組歸屬。
    示例:sudo usermod -aG admins newuser(將newuser加入admins組);sudo gpasswd -d newuser admins(從admins組移除newuser)。
  • 刪除組:使用groupdel命令。
    示例:sudo groupdel admins(刪除admins組)。

二、文件與目錄權限控制

1. 修改權限(chmod)

使用chmod命令設置文件/目錄的**讀(r)、寫(w)、執行(x)**權限,格式為chmod [權限值] 文件/目錄。常見權限值:

  • 755:所有者(rwx)、組(r-x)、其他用戶(r-x)(適用于目錄,如/var/www);
  • 644:所有者(rw-)、組(r–)、其他用戶(r–)(適用于普通文件,如/etc/passwd)。
    示例:sudo chmod 755 /opt/myapp(設置/opt/myapp目錄權限為755)。

2. 更改屬主與屬組(chown/chgrp)

  • 修改屬主:使用chown命令更改文件/目錄的所有者。
    示例:sudo chown newuser /path/to/file(將/path/to/file的所有者改為newuser)。
  • 修改屬組:使用chown(同時改屬主與屬組)或chgrp(僅改屬組)命令。
    示例:sudo chown newuser:developers /path/to/file(將屬主設為newuser,屬組設為developers);sudo chgrp admins /path/to/dir(將/path/to/dir的屬組改為admins)。

3. 查看權限(ls)

使用ls -l命令查看文件/目錄的權限詳情(如-rw-r--r--表示所有者可讀寫,組與其他用戶僅可讀)。
示例:ls -l /etc/passwd(查看/etc/passwd的權限與歸屬)。

三、sudo權限精細化配置

1. 將用戶加入sudo組

默認情況下,wheel組的用戶可使用sudo執行管理員命令。將用戶加入wheel組即可授予權限:
sudo usermod -aG wheel username。

2. 自定義sudo權限(visudo)

使用visudo命令編輯/etc/sudoers文件(避免語法錯誤導致系統無法使用sudo),通過用戶/組別名命令別名限制sudo權限范圍。
示例:

# 允許developers組的用戶執行所有命令(無需密碼)
%developers ALL=(ALL) NOPASSWD: ALL

# 限制admin用戶僅能重啟httpd服務
admin ALL=(ALL) /usr/bin/systemctl restart httpd

四、SELinux增強權限管理

SELinux(Security-Enhanced Linux)提供強制訪問控制(MAC),進一步限制進程權限。

1. 檢查SELinux狀態

使用sestatus命令查看SELinux是否啟用(Enforcing表示強制模式,Permissive表示寬松模式)。
示例:sestatus。

2. 臨時/永久修改SELinux模式

  • 臨時關閉sudo setenforce 0(立即生效,重啟后恢復)。
  • 永久關閉:編輯/etc/selinux/config文件,將SELINUX=enforcing改為SELINUX=disabled(需重啟系統)。

3. 調整SELinux上下文

若應用無法訪問特定目錄(如Apache訪問/data/web),需修改SELinux上下文:

  • 添加上下文規則sudo semanage fcontext -a -t httpd_sys_rw_content_t "/data/web(/.*)?"(將/data/web及其子目錄的SELinux類型設為httpd_sys_rw_content_t)。
  • 應用上下文sudo restorecon -Rv /data/web(遞歸恢復目錄的SELinux上下文)。

五、密碼策略強化

1. 設置復雜密碼要求

編輯/etc/login.defs文件,調整以下參數:

PASS_MIN_LEN 12    # 密碼最小長度(建議≥12位)
PASS_MIN_DAYS 1    # 密碼修改間隔(至少1天)
PASS_WARN_AGE 7    # 密碼過期前警告天數(提前7天)

2. 檢查空口令賬戶

使用awk命令查找/etc/shadow中的空口令賬戶(第二字段為空),并強制設置密碼:
awk -F: '($2 == "") {print $1}' /etc/shadow(列出空口令用戶);sudo passwd username(為username設置密碼)。

3. 保護口令文件

使用chattr命令將/etc/passwd、/etc/shadow等文件設為不可修改(防止非授權刪除或篡改):
sudo chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow;若需修改,可先取消不可修改屬性(sudo chattr -i 文件)。

六、其他安全措施

  • 限制SSH訪問:編輯/etc/ssh/sshd_config,禁用root遠程登錄、限制允許登錄的用戶:
    PermitRootLogin no
    AllowUsers your_username
    PermitEmptyPasswords no
    
    重啟SSH服務使配置生效:sudo systemctl restart sshd。
  • 定期更新系統:使用sudo yum update命令更新系統與軟件包,修補安全漏洞。

通過以上步驟,可實現CentOS Stream 8用戶權限的精細化管理,平衡系統可用性與安全性。操作前需確認具備root權限,避免誤操作影響系統運行。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女