在Linux系统中,修改文件或目录权限主要通过chmod
命令实现,以下是详细操作指南:
chmod
命令chmod [who][+/-/=][permissions] 文件名
u
:所有者(user)g
:所属组(group)o
:其他用户(others)a
:所有用户(all,默认)+
:添加权限-
:移除权限=
:精确设置权限r
:读(4)w
:写(2)x
:执行(1)示例:
chmod u+rwx file.txt # 给所有者添加读、写、执行权限
chmod g-w file.txt # 移除所属组的写权限
chmod a=rx file.txt # 所有用户设为读和执行权限
用三位八进制数表示权限(分别对应所有者、组、其他用户):
chmod 755 文件名
4(r) + 2(w) + 1(x) = 7
4(r) + 1(x) = 5
常见权限:
- 755
:所有者可读/写/执行,其他用户可读/执行(常用于可执行文件)
- 644
:所有者可读/写,其他用户仅读(普通文件)
- 777
:所有用户可读/写/执行(慎用!)
chown
)sudo chown 新所有者:新组名 文件名
示例:
sudo chown root:admin file.txt # 将所有者改为root,组改为admin
sudo chown user1 file.txt # 仅修改所有者
添加 -R
参数可递归修改目录及其内容:
chmod -R 755 /path/to/dir # 递归修改目录权限
chown -R user:group /path/to/dir # 递归修改所有者和组
bash
chmod 4755 file # 设置SUID
bash
chmod 2775 dir # 设置SGID
bash
chmod 1777 dir
ls -l 文件名 # 查看详细权限
stat 文件名 # 查看权限的数字表示
sudo
权限。777
权限会带来安全风险,尽量避免。x
权限才能进入,文件需x
权限才能执行。通过以上命令,你可以灵活控制Linux系统中的文件权限。