linux常用命令全集权限
linux常用命令全集权限详细介绍
在 Linux 系统中,权限管理是核心功能之一,涉及文件 / 目录的所有者、所属组及其他用户的读写执行权限。以下是常用的权限相关命令及详解:
一、查看权限:ls
功能:
显示文件 / 目录的权限、所有者、所属组、大小、修改时间等详细信息。
语法:
bash
文件/目录目录
权限格式说明:
plaintext
-rw-r--r-- 1 user group 1234 May 1 12:00 file.txt
- 第 1 位:文件类型(
-普通文件,d目录,l链接,b块设备,c字符设备)。 - 第 2-4 位:所有者权限(
r读,w写,x执行)。 - 第 5-7 位:所属组权限。
- 第 8-10 位:其他用户权限。
示例:
bash
~/Documents/var/www
二、修改权限:chmod
功能:
修改文件 / 目录的权限(所有者、所属组、其他用户)。
语法:
- 符号模式(增量修改):bash
u/g/o/a+/-/r/w/x 文件/目录u:所有者(user),g:所属组(group),o:其他用户(other),a:所有用户(all)。+:添加权限,-:删除权限,=:设置权限。
- 数字模式(直接设置):bash
权限数字 文件/目录- 权限数字:
r=4,w=2,x=1,三者相加(如rwx=7,rw-=6,r--=4)。 - 格式:三位数字分别对应所有者、所属组、其他用户(如
755表示rwxr-xr-x)。
- 权限数字:
示例:
bash
u+x script.shg-w,o-r file.txt
dir/
docs/
三、修改所有者 / 所属组:chown & chgrp
chown 功能:
修改文件 / 目录的所有者和所属组。
语法:
bash
所有者:所属组 文件/目录所有者 文件/目录
:所属组 文件/目录
chgrp 功能:
单独修改文件 / 目录的所属组。
语法:
bash
所属组 文件/目录
示例:
bash
root:root /etc/config.confwww-data:www-data /var/www
file.txt
四、默认权限设置:umask
功能:
设置新建文件 / 目录的默认权限(掩码),系统会从默认权限(文件666,目录777)中扣除umask的值。
语法:
bash
0003
示例:
- 若
umask为0022:- 新建文件权限:
666 - 0022 = 644(rw-r--r--)。 - 新建目录权限:
777 - 0022 = 755(rwxr-xr-x)。
- 新建文件权限:
五、扩展权限:ACL(访问控制列表)
getfacl 功能:
查看文件 / 目录的 ACL 权限。
语法:
bash
getfacl 文件/目录
setfacl 功能:
设置文件 / 目录的 ACL 权限(针对特定用户 / 组的额外权限)。
语法:
bash
setfacl u:用户名:权限 文件/目录setfacl g:组名:权限 文件/目录
setfacl u:用户名:权限 目录
setfacl 文件/目录
示例:
bash
setfacl u:bob:rwx /shared_foldergetfacl /shared_folder
六、特殊权限:粘滞位、SUID、SGID
1.
粘滞位(Sticky Bit)
- 作用:防止用户删除其他用户的文件(常用于公共目录,如
/tmp)。 - 语法:bash
+t 目录目录
- 示例:
chmod 1777 /public_dir(粘滞位 + 所有人读写执行)。
- 示例:
2.
SUID(Set UID)
- 作用:让普通用户执行文件时临时拥有文件所有者的权限(仅对可执行文件有效)。
- 语法:bash
+s 可执行文件可执行文件
- 示例:
chmod u+s /usr/bin/passwd(普通用户修改密码时临时获得 root 权限)。
- 示例:
3.
SGID(Set GID)
- 作用:
- 对文件:执行时临时拥有所属组的权限。
- 对目录:新建文件 / 子目录继承目录的所属组。
- 语法:bash
+s 目录/文件目录/文件
- 示例:
chmod g+s /var/lib/group_dir(目录内新建文件所属组与目录一致)。
- 示例:
七、其他相关命令
sudo
- 功能:以管理员(root)权限执行命令。
- 语法:
sudo 命令(需当前用户在sudoers文件中授权)。 - 示例:
sudo chown root:root /etc/sysctl.conf。
su &
su -
su:切换用户(保留当前环境变量)。su -:切换用户并加载目标用户的环境(推荐用su - root切换到 root)。
stat
- 功能:查看文件 / 目录的详细元数据(包括权限、inode、时间戳等)。
- 语法:
stat 文件/目录。
权限管理最佳实践
- 最小权限原则:仅赋予用户 / 程序必要的权限。
- 递归操作慎用:使用
chmod/chown -R时确保路径正确,避免误删权限。 - ACL 替代方案:若系统不支持 ACL,可通过创建用户组并合理分配组成员来管理权限。
通过以上命令,可全面管理 Linux 系统中的文件 / 目录权限,涵盖基础权限、特殊权限及扩展权限场景。实际使用时,需根据具体需求选择合适的工具和模式。