Linux Minimal系統文件權限管理指南
Linux Minimal系統(如CentOS Minimal、Ubuntu Minimal)的權限管理以“最小權限原則”為核心,通過基礎命令與高級工具實現細粒度的訪問控制,保障系統安全。
Linux文件權限分為三類:所有者(Owner)(文件創建者)、所屬組(Group)(文件所屬用戶組)、其他用戶(Others)(未歸屬前兩類的用戶)。每類權限包含三種操作:讀(r,4)、寫(w,2)、執行(x,1),權限值通過三者之和表示(如rwx
=7,rw-
=6)。
chmod 640 file.txt
表示所有者有讀寫權限(6),所屬組有讀權限(4),其他用戶無權限(0);chmod u+x script.sh
表示給所有者添加執行權限。755
用于目錄,644
用于普通文件)。chmod g-w file.txt
移除組的寫權限,chmod o+r file.txt
給其他用戶添加讀權限)。chown
:同時修改所有者和組(如chown user:group file.txt
);chgrp
:僅修改所屬組(如chgrp developers file.txt
)。chmod u+s /usr/bin/passwd
,允許普通用戶修改密碼);chmod g+s /var/www
,方便團隊協作);chmod +t /tmp
,僅文件所有者可刪除自己的文件)。基礎權限無法滿足復雜場景時,可使用**訪問控制列表(ACL)**為特定用戶或組設置額外權限。
acl
包(如CentOS用yum install acl
,Ubuntu用apt install acl
);setfacl -m u:user1:rw file.txt
給user1
添加讀寫權限,setfacl -m g:devs:rwx /project
給devs
組添加讀寫執行權限;getfacl file.txt
顯示文件的詳細權限信息;setfacl -d -m u:user1:rwx /project
設置目錄的默認ACL,新建文件自動繼承。umask
定義新創建文件的默認權限(通過屏蔽基礎權限實現)。
umask 022
表示新文件權限為644
(666-022=644
),新目錄權限為755
(777-022=755
);umask
命令;umask 022
添加到~/.bashrc
(用戶級)或/etc/profile
(系統級)。chmod o-w file.txt
),敏感文件(如/etc/shadow
)設置600
權限;chmod 777
(完全開放權限),否則可能導致系統被入侵;ls -l
查看文件權限,用find / -type f -perm 777 -exec ls -ld {} \;
查找系統中權限過高的文件;/etc/sudoers
文件(用visudo
命令),允許特定用戶使用sudo
執行管理命令(如username ALL=(ALL) NOPASSWD: /usr/bin/apt
);setenforce 1
)或AppArmor(systemctl enable apparmor
)提供強制訪問控制,限制進程的權限范圍。