在Linux系统中,权限管理主要通过chmod
、chown
、chgrp
等命令实现。以下是详细的权限设置方法:
ls -l 文件名 # 查看详细信息
ls -ld 目录名 # 查看目录本身权限(而非内容)
输出示例:
-rwxr-xr-- 1 user group 1024 Jan 1 10:00 file
(权限分三组:用户(u)
/组(g)
/其他(o)
)
权限对应数字:
- r
(读) = 4
- w
(写) = 2
- x
(执行) = 1
chmod 755 文件名 # 用户:rwx,组和其他:r-x
chmod -R 644 目录 # 递归修改目录内所有文件
chmod u+x 文件 # 给用户添加执行权限
chmod g-w 文件 # 移除组的写权限
chmod o=r 文件 # 其他用户仅保留读权限
chmod a+w 文件 # 给所有用户(a)添加写权限
chown 新用户 文件 # 修改文件所有者
chown 用户:组 文件 # 同时修改所有者和所属组
chown -R 用户:组 目录/ # 递归修改目录及内容
chgrp 新组名 文件 # 修改文件所属组
chgrp -R 组名 目录/ # 递归修改目录及内容
bash
chmod u+s 文件 # 设置SUID(显示为 rwsr-xr-x)
bash
chmod g+s 目录/ # 设置SGID(显示为 rwxr-sr-x)
bash
chmod +t 目录/ # 设置Sticky Bit(显示为 rwxrwxrwt)
umask 022 # 设置新建文件的默认权限(文件:644,目录:755)
umask # 查看当前umask值
计算方式:默认权限 = 最大权限 - umask
(目录最大权限777,文件最大权限666)
bash
chmod 600 ~/.ssh/id_rsa # 仅用户可读写
bash
chown :devteam /project && chmod 770 /project
bash
chmod a+x script.sh
sudo
提权。777
权限(安全隐患)。x
权限才能进入,文件需x
权限才能执行。通过合理组合这些命令,可以精准控制Linux系统中的文件访问权限。