Linux 用户权限

47 阅读4分钟

1.用户类型

  • root 超级管理员 是uid 为0 的用户

  • 普通用户:权限受限的用户 uid号1000 -----60000

  • 程序用户:这个只是用来启动程序使用,并不可以登录

1.2 组账号

  • 基本组(私有组) 一定要有
  • 附加组(公共组) 可有可无

1.3 UID和GID

  • UID(User IDentity,用户标识号)
  • GID(Group IDentity,组标识号)

1.4用户相关的文件

/etc/passwd用户信息文件,用户的基本属性
/etc/shadow用户密码存放的文件,用户密码属性

1.4.1 用户信息文件

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
root用户的名字
x密码占位符
0uid号
0gid号
root备注信息 超级管理员
/root家目录
/bin/bash默认登录的shell 是 bash
account:password:UID:GID:GECOS:directory:shell
#账号: 密码 :用户UID:组ID:备注:信息:shell类型

1.4.2 用户密码属性

[root@localhost ~]# cat /etc/shadow
root:$6$K7MdFVAaGu/S1.Ml$UT9scJIAYro3sZzr3tbVhAIg/ztBsGPOiegY1eVAbwv9E.K6tZ1yZXMwDdJpJHMV4oPM5X07bP8NF/6qSdrj11::0:99999:7:::
1root用户名
2$.....P8NF/6qSdrj11加密之后的密码 (为*或!表示不能登录 该字段为空,表示无需密码就能登录)
3为空最近一次修改密码的时间
40允许你多长时间修改一次密码 ,0代表不限制
599999密码的有效期 99999 永久
67密码到期前7天会提醒你修改密码
7密码过期后的宽限天数( 7 密码今天到期 7天后才真的不可以使用)
8账号失效时间
9保留字段未使用
passwd # 修改密码
passwd 用户名修改用户密码
passwd -d清空密码
passwd -l锁定用户
passwd -u解锁密码
passwd -F查看用户密码状态
echo  “123123”  | passwd    --stdin   用户名     #免交互修改用户密码

1.4.3 修改用户帐号的属性

-u指定uid (添加新用户时使用)
-d指定家目录 /home/与用户名同名的文件夹
-e指定失效时间
-g指定基本组
-G指定附近组
-M不建家目录
-s指定 shell 的类型
-l(小写L)更改用户名称 usermod -l 新的名字 旧的名字
-L锁定用户
-U解锁密码
userdel -r   #连家目录一起删除

1.4.4 gpasswd

用于管理Linux用户组的的命令工具

  • 基本用法:
gpasswd [选项] 用户 组账号名

1.4.5 uid

  • uid:用户的身份证号 是唯一的
id -u #显示当前用户uid

2.权限的管理

2.1 权限

  • r:读 允许查看文件内容
  • w:写 允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
  • x:执行 ,二进制文件 高级语言写的脚本

(用户对文件有相应的权限,才能对文件做相应的操作)

2.1.1 文件

  • 用户如果对文件有 r 权限 ,那么用户可以看到文件中的内容
  • 用户如果对文件有 w 权限,那么用户可以修改文件中的内容
  • 用户如果对文件有 x 权限,那么用户可以运行该文件

zs 用户要复制 A 文件 ,za用户需要有A文件的什么权限?

2.1.2 文件夹

  • 用户如果对文件夹有 r 权限 ,那么用户可以看到文件夹中的所有文件
  • 用户如果对文件夹有 w 权限,那么用户可以删除文件夹中的文件 或者在文件夹中新建文件
  • x 权限对文件夹来说是最小权限 ,如果没有 x 权限 ,光有 r 、w 权限 ,什么也做不了。

(删除一个文件,和文件本身没有关系,和文件所在的文件夹权限有关)

2.2 归属

属主:文件的主人

属组:文件属于哪个组

其他人:既不属于 主人 也不属于 属组 image-20250325142151047.png

2.2.1 chmod

chmod 三位八进制数 文件或目录  #(修改权限)
-R     #递归修改指定目录下所有文件、子目录的归属
chomd  777  文件  -R   

2.2.2 chown

修改属主 、属组

  • 基本用法:
  • 其他:
chown 属主  文件 -R    #只改 属主
chown :属组   文件  -R   #只改属组
chown     .属组  文件   -R    #只改属组
  • 备注:计算umask 、文件夹 、文件权限

文件夹 777

文件 666

umask : 0022

777 - 0022 =755

666 - 0022 = 644

(为了安全,文件落地没有执行权限。)