mobile wallpaper 1
mobile wallpaper 2
mobile wallpaper 3
mobile wallpaper 4
1193 words
3 minutes
Linux文件权限
2026-10-14
2026-10-15

1.Linux 用户#

  • Linux 是多用户操作系统,允许多个用户同时登录,系统通过控制用户账户对各种对象的访问权限来保证安全
  • 每个用户有唯一的 UID 和账户名,Linux 通过 UID 判断用户

1.1 用户类别#

  • Linux 系统中用户有三类:
    • 超级用户(0)
      • root 用户,能够操作任何文件和命令
    • 程序用户(1~499)
      • 用于服务进程访问资源的特殊账户,无法用于登录
    • 普通用户(500~65535)
      • root 用户添加的一般账户

1.2 /etc/passwd#

  • /etc/passwd 文件中每行定义一个用户账户,有多少行就表示多少个账户。每条记录通过”:”号划分了7个字段:
    • 账户名
    • 用户密码:设置为密码占位符 x,保证密码安全
    • 账户 UID
    • 账户所属 GID
    • 账户备注
    • 账户 HOME 目录(/home/账户名)
    • 账户默认 Shell:一般情况下是 /bin/bash;若希望禁止登录,设为 /sbin/nologin

1.3 /etc/shadow#

  • /etc/shadow 只有 root 用户才能访问,比 /etc/passwd 更安全。每条记录有 9 个字段:
    • 账户名
    • 加密后的密码
    • 更改期(从 1970/1/1 到上次更改密码的天数)
    • 冻结期(从上次更改开始多少天后才能更改密码)
    • 有效期(从上次更改开始密码维持多少天有效)
    • 警示期(密码过期前多少天提醒更改密码)
    • 延迟期(密码过期多少天后禁用账户)
    • 禁用期(从 1970/1/1 到账户被禁用的天数)
    • 保留字段

2.Linux 用户组#

  • Linux 通过组权限允许多个用户对系统中的对象共享一组共用的权限,每个组有唯一的 GID 和组名

2.1 用户组的对应#

  • 用户与用户组之间的对应关系有:
    • 一对一:即一个用户可以存在一个组中
    • 一对多:即一个用户可以存在多个组中
    • 多对一:即多个用户可以存在一个组中
    • 多对多:即多个用户可以存在多个组中

2.2 /etc/group#

  • /etc/group 文件保存组信息,有 4 个字段:
    • 组名
    • 组密码:设置为密码占位符 x,保证密码安全
    • GID
    • 下属用户列表

2.3 /etc/gshadow#

  • /etc/gshadow 有 4 个字段:
    • 组名
    • 加密后的密码:字段若为空或!,表示没有密码
    • 该组的管理员列表
    • 该组的成员列表

3.文件权限#

3.1 权限字段#

  • 文件权限字段有 10 个字符
    • 字符 1 表示对象类型
      • -:文件
      • d:目录
      • l:链接
      • c:字符型设备
      • b:块设备
      • n:网络设备
    • 后 9 字符分 3 组三字符
      • r:可读
      • w:可写
      • x:可执行
      • -:无权限
文件权限字段
  • 三组权限
    • owner(属主)
    • group(属组)
    • other(其它用户)

3.2 权限表示#

  • 文件权限可以用八进制数字表示,每种权限用一个数字表示:
    • r=4,w=2,x=1,-=0
权限的八进制表示

4.操作命令#

4.1 用户#

1.添加新用户#

  • 一次性创建新用户账户,设置用户 HOME 目录结构
useradd -m test
useradd 创建新用户
  • 可以在 -D 选项后面跟上指定参数修改新增用户的默认设置
useradd -D -s /bin/tsch
useradd -D 修改默认设置

2.删除用户#

  • userdel 删除/etc/passwd 文件中的用户信息,但是不会删除系统中属于该账户的文件
  • 如果加上 -r 参数,userdel 会删除用户的 HOME 和邮件目录,但还是可能存在其它属于用户的文件
userdel -r test

3.修改用户#

  1. usermod
    • 可用来修改 /etc/passwd 文件中大部分字段
usermod 选项 用户名
  1. passwd
    • 任何用户都能修改自己的密码,root 用户可以修改别人的密码
passwd 选项 用户名
选项:
-l 禁用账户
-u 解禁账户
-d 解除密码
-f 强迫用户下次登录时修改密码

4.2 用户组#

1.创建新组#

  • groupadd 创建新组
groupadd 选项 组名
选项:
-g GID 指定用户组的组标识

2.删除组#

  • groupdel 删除用户组
groupdel 用户组

3.修改组#

  • groupmod 可以修改已有组的 GID 或组名
groupmod 选项 用户组
选项:
-g GID 修改为指定GID
-n name 修改为指定组名

4.3 文件权限#

1.改变权限#

  • chmod 改变文件与目录的权限,mode 有八进制模式、符号模式进行设置
chmod 选项 mode 文件
八进制mode:
chmod 760 newfile
符号模式:
chmod o+r newfile
  • 符号模式:[ugoa][+-=][rwxXstugo]
    • 第一组:u 代表用户;g 代表组;o 代表其他;a 代表所有
    • 第二组:+ 代表增加权限;- 代表移除权限;= 代表设置权限
    • 第三组:
      • X:对象是目录或已有执行权限,赋予执行权限
      • s:运行时重新设置 UID、GID
      • t:保留文件或目录
      • u:参照属主权限
      • g:参照属组权限
      • o:参照其他权限

2.改变所属#

  1. chown 改变文件属主
chown 选项 属主[.属组] 文件
例:
chown li newfile
chown li.share newfile
chown .share newfile
  1. chgrp 改变文件属组
chgrp 属组 文件
Share

If this article helped you, please share it with others!

Linux文件权限
https://kieas.cn/posts/linux-file-permissions/
Author
Kieas
Published at
2026-10-14
License
CC BY-NC-SA 4.0

Some information may be outdated

Table of Contents