linux文件权限由10位字符表示,分别定义文件类型及所有者、组、其他用户的读(r)、写(w)、执行(x)权限;通过chmod的符号模式(如u+x)或数字模式(如755)修改权限,chown更改所有者和组,常见设置如脚本755、配置文件644、私有文件600,遵循最小权限原则保障安全。
linux系统通过文件权限机制控制用户对文件和目录的访问。正确设置文件权限不仅能保障数据安全,还能确保程序正常运行。下面详细介绍Linux中文件权限的结构及设置方法。
理解Linux文件权限的基本结构
在终端执行 ls -l 命令可查看文件的详细权限信息。例如:
-rw-r--r-- 1 user group 1024 Apr 5 10:00 file.txt
第一段共10个字符,含义如下:
- 第1个字符:表示文件类型(-为普通文件,d为目录,l为链接等)
- 第2–4个字符(rw-):文件所有者的权限
- 第5–7个字符(r--):所属组用户的权限
- 第8–10个字符(r--):其他用户的权限
每类权限由三个字母组成:
- r:读权限(read),允许查看文件内容或列出目录内容
- w:写权限(write),允许修改文件或在目录中增删文件
- x:执行权限(execute),允许运行程序或进入目录
使用chmod命令修改文件权限
chmod 是修改文件权限的主要命令,支持两种模式:符号模式和数字模式。
符号模式 使用用户类别和操作符进行权限更改:
- u:文件所有者
- g:所属组
- o:其他用户
- a:所有用户(默认)
- +:增加权限
- -:移除权限
- =:精确设置权限
示例:
- chmod u+x script.sh:给文件所有者添加执行权限
- chmod go-w config.txt:去除组和其他用户的写权限
- chmod a=r data.log:设置所有用户只有读权限
数字模式 使用八进制数表示权限:
- r = 4,w = 2,x = 1
- 将权限值相加,如 rwx = 7,r-x = 5,r-- = 4
三位数字分别对应所有者、组、其他用户的权限。
示例:
- chmod 644 file.txt:所有者可读写,组和其他用户只读
- chmod 755 script.sh:所有者可读写执行,组和其他用户可读执行
- chmod 700 private.conf:仅所有者有全部权限
修改文件所有者和所属组
使用 chown 命令可以更改文件的所有者和所属组。
- chown user file.txt:将文件所有者改为user
- chown user:group file.txt:同时更改所有者和组
- chown :group dir/:仅更改所属组
需要管理员权限时,在命令前加 sudo。
使用 chgrp 命令也可单独修改组:
- chgrp developers project/:将目录的组设为developers
常见权限设置场景建议
根据用途合理设置权限能提升安全性:
- 脚本文件:一般设为 755,确保可执行且不被随意修改
- 配置文件:通常设为 644,敏感配置可用 600
- 私有文件:如ssh密钥,应设为 600,防止他人读取
- 共享目录:可设为 775 并配合组权限,便于团队协作
基本上就这些。掌握chmod、chown和权限数字含义,就能灵活管理Linux文件访问控制。注意最小权限原则,避免随意使用777。