1193 words
3 minutes
Linux文件权限
1.Linux 用户
- Linux 是多用户操作系统,允许多个用户同时登录,系统通过控制用户账户对各种对象的访问权限来保证安全
- 每个用户有唯一的 UID 和账户名,Linux 通过 UID 判断用户
1.1 用户类别
- Linux 系统中用户有三类:
- 超级用户(0)
- root 用户,能够操作任何文件和命令
- 程序用户(1~499)
- 用于服务进程访问资源的特殊账户,无法用于登录
- 普通用户(500~65535)
- root 用户添加的一般账户
- 超级用户(0)
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:可执行
- -:无权限
- 字符 1 表示对象类型

- 三组权限
- owner(属主)
- group(属组)
- other(其它用户)
3.2 权限表示
- 文件权限可以用八进制数字表示,每种权限用一个数字表示:
- r=4,w=2,x=1,-=0

4.操作命令
4.1 用户
1.添加新用户
- 一次性创建新用户账户,设置用户 HOME 目录结构
useradd -m test
- 可以在 -D 选项后面跟上指定参数修改新增用户的默认设置
useradd -D -s /bin/tsch
2.删除用户
- userdel 删除/etc/passwd 文件中的用户信息,但是不会删除系统中属于该账户的文件
- 如果加上 -r 参数,userdel 会删除用户的 HOME 和邮件目录,但还是可能存在其它属于用户的文件
userdel -r test3.修改用户
- usermod
- 可用来修改 /etc/passwd 文件中大部分字段
usermod 选项 用户名- 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、GIDt:保留文件或目录u:参照属主权限g:参照属组权限o:参照其他权限
- 第一组:
2.改变所属
- chown 改变文件属主
chown 选项 属主[.属组] 文件
例: chown li newfile chown li.share newfile chown .share newfile- chgrp 改变文件属组
chgrp 属组 文件 Share
If this article helped you, please share it with others!
Some information may be outdated
Related Posts Smart