當(dāng)前位置 主頁(yè) > 技術(shù)大全 >
無(wú)論是初學(xué)者還是高級(jí)用戶,深入理解Linux的權(quán)限體系都是必不可少的技能
本文將深入探討Linux 102級(jí)別的權(quán)限管理,涵蓋文件權(quán)限、用戶與組管理、特殊權(quán)限位以及權(quán)限提升與限制等多個(gè)方面,旨在幫助你全面掌握Linux系統(tǒng)的權(quán)限控制
一、文件權(quán)限基礎(chǔ) Linux系統(tǒng)中的每個(gè)文件和目錄都有其獨(dú)特的權(quán)限設(shè)置,這些權(quán)限決定了誰(shuí)可以讀取(read)、寫(xiě)入(write)或執(zhí)行(execute)它們
權(quán)限信息通過(guò)三組字符表示,分別對(duì)應(yīng)文件的所有者(owner)、所屬組(group)和其他用戶(others)
所有者:文件的創(chuàng)建者或最后修改者
- 所屬組:文件所屬的用戶組,組內(nèi)成員共享特定的訪問(wèn)權(quán)限
- 其他用戶:系統(tǒng)中不屬于文件所有者或所屬組的所有其他用戶
使用`ls -l`命令可以查看文件或目錄的詳細(xì)權(quán)限信息
輸出示例如下: -rw-r--r-- 1 user group 1234 Jan 1 12:34 example.txt 這里,`-rw-r--r--`就是權(quán)限部分,從左到右依次為: - 第一個(gè)字符表示文件類型(-表示普通文件,`d`表示目錄,`l`表示鏈接等)
- 接下來(lái)的三個(gè)字符`rw-`表示所有者權(quán)限(讀、寫(xiě),無(wú)執(zhí)行)
- 緊接著的三個(gè)字符`r--`表示所屬組權(quán)限(僅讀)
- 最后的三個(gè)字符`r--`表示其他用戶權(quán)限(僅讀)
二、修改文件權(quán)限 使用`chmod`命令可以修改文件或目錄的權(quán)限
有兩種主要的修改方式:符號(hào)模式和八進(jìn)制模式
- 符號(hào)模式:通過(guò)u(所有者)、g(所屬組)、`o`(其他用戶)和`a`(所有人)指定權(quán)限,結(jié)合`+`(添加)、-(移除)、`=`(設(shè)置)操作
bash chmod u+x example.txt 為所有者添加執(zhí)行權(quán)限 chmod g-w example.txt 移除所屬組的寫(xiě)權(quán)限 chmod o=r example.txt 設(shè)置其他用戶的權(quán)限為只讀 - 八進(jìn)制模式:每個(gè)權(quán)限位用數(shù)字表示(讀=4,寫(xiě)=2,執(zhí)行=1),組合這些數(shù)字即可設(shè)置權(quán)限
bash chmod 755 example.txt 所有者:讀寫(xiě)執(zhí)行(7=4+2+1),所屬組和其他用戶:讀執(zhí)行(5=4+1) 三、用戶與組管理 Linux系統(tǒng)的用戶管理通過(guò)`/etc/passwd`文件維護(hù),而組信息則存儲(chǔ)在`/etc/group`文件中
添加用戶:使用useradd命令
bash sudo useradd newuser sudo passwd newuser 設(shè)置密碼 修改用戶信息:使用usermod命令
bash sudo usermod -aG sudo newuser 將newuser添加到sudo組,賦予管理權(quán)限 - 刪除用戶:使用userdel命令,注意`-r`選項(xiàng)會(huì)同時(shí)刪除用戶的主目錄和郵件池
bash sudo userdel -r newuser - 組管理:類似地,使用groupadd添加組,`groupdel`刪除組,`gpasswd`修改組成員
bash sudo groupadd newgroup sudo gpasswd -a newuser newgroup 將newuser添加到newgroup組 四、特殊權(quán)限位 除了基本的讀、寫(xiě)、執(zhí)行權(quán)限外,Linux還支持一些特殊權(quán)限位,用于提供更細(xì)粒度的控制
- SUID(Set User ID):當(dāng)執(zhí)行該文件時(shí),進(jìn)程將以文件所有者的身份運(yùn)行,而不是執(zhí)行者的身份
bash chmod u+s executable_file - SGID(Set Group ID):對(duì)于可執(zhí)行文件,當(dāng)執(zhí)行時(shí),進(jìn)程將以文件所屬組的身份運(yùn)行;對(duì)于目錄,新創(chuàng)建的文件或目錄將繼承該目錄的組ID
bash chmod g+s directory_or_executable - Sticky Bit(粘滯位):僅對(duì)目錄有效,設(shè)置后,只有文件的所有者、目錄的所有者或root才能刪除或重命名目錄中的文件
bash chmod +t directory 五、權(quán)限提升與限制 在Linux系統(tǒng)中,權(quán)限提升與限制是保障系統(tǒng)安全的關(guān)鍵
- sudo:允許普通用戶以超級(jí)用戶(root)或其他用戶的身份執(zhí)行命令,通過(guò)`/etc/sudoers`文件配置
bash sudosome_command - sudoers文件編輯:使用visudo命令安全地編輯`/etc/sudoers`文件,避免語(yǔ)法錯(cuò)誤導(dǎo)致sudo失效
bash sudo visudo - AppArmor與SELinux:這兩者是Linux系統(tǒng)中常用的強(qiáng)制訪問(wèn)控制(MAC)機(jī)制,用于限制程序的能力,防止惡意軟件或漏洞被利用
-AppArmor:基于路徑和文件的訪問(wèn)控制,配置文件位于`/etc/apparmor.d/`
-SELinux:提供更為復(fù)雜的策略,包括基于角色的訪問(wèn)控制(RBAC),配置復(fù)雜但功能強(qiáng)大
六、實(shí)踐建議 1.最小權(quán)限原則:為每個(gè)用戶分配最小的必要權(quán)限,避免權(quán)限濫用
2.定期審計(jì):定期檢查/etc/passwd、`/etc/group`及權(quán)限設(shè)置,確保沒(méi)有不必要的權(quán)限授予
3.使用sudo代替直接登錄root:減少誤操作帶來(lái)的風(fēng)險(xiǎn)
4.啟用AppAr