【Gold菜鸟】Linux知识回忆(3)——用户组和权限

前言

这一部分让我们来了解,Linux中的用户组和权限吧~

VX: wenjinworkon

目录

用户、组

1.1 用户

1.2 用户组

1.3 用户与组之间的关系

1.4 用户与组的配置文件

1.4.1 主要配置文件

1.4.2 passwd文件

1.4.3 shadow文件

1.4.4 group文件

1.4.5 gshadow

1.5 用户与组相关命令

1.5.1 useradd命令

1.5.2 usermod命令

1.5.3 用户删除

1.5.4 创建密码

1.5.5 创建组

1.5.6 修改组

1.5.7 删除组

权限

2.1 文件所有者和属组属性操作

2.1.1 chown命令

2.1.2 chgrp命令

2.2 文件权限

2.2.1 权限说明

2.2.2 修改文件权限chmod

2.3 文件和目录创建的默认权限

2.4 特殊权限

2.4.1 suid

2.4.2 sgid

2.4.3 粘滞位置sticky

总结


用户、组

1.1 用户

Linux中每个用户用User Id(UID)来唯一标识

  • 超级管理员:root,0
  • 普通用户:1-60000自动分配
    • 系统用户:1-999 (对守护进程获取资源进行权限分配)
    • 登录用户:1000+ (提供普通用户用于交互式登录)

1.2 用户组

Linux中可以将一个或多个用户加入到用户组中,用户组通过Group Id(GID)来唯一标识

  • 管理员组:root,0
  • 普通组:
    • 系统组:1-999 (对守护进程获取资源进行权限分配)
    • 普通组:1000+ (提供给用户使用)

1.3 用户与组之间的关系

  • 主组:一个用户必须属于一个且只能有一个主组,默认创建用户时会自动创建和用户名同名的组,作为主组,也称为私有组
  • 附加组:一个用户可以属于零个或多个附加组,也称为附属组

1.4 用户与组的配置文件

1.4.1 主要配置文件

  • /etc/passwd:用户名以及属性信息(用户名,UID,主组ID)
  • /etc/shadow:用户密码以及密码相关属性
  • /etc/group:组以及组属性信息
  • /etc/gshadow:组密码以及组密码相关属性(使用较少)
  • /etc/login.defs:有关用户默认属性的文件

1.4.2 passwd文件

[root@vpc1 ~]# tail -1 /etc/passwd
geekgold:x:1000:1000::/home/geekgold:/bin/bash


用户登录名:密码占位符:UID:GID:注释:家目录:默认使用的shell环境

1.4.3 shadow文件

[root@vpc1 ~]# tail -1 /etc/shadow
geekgold:$6$I8vGaEZC$k0lS688jBtYqw6ZuxwhBvKWoLU5JhIS0w2CGxvm7OUVm5eB/pDMelaFWklDTRdX.vpKoCq.Vp2bo2MGIqSphc.:19878:0:99999:7:::


用户名:密码($6代表加密算法,$I8vGaEZC代表使用的salt,$k0lS688jBtYqw6ZuxwhBvKWoLU5JhIS0w2CGxvm7OUVm5eB/pDMelaFWklDTRdX.vpKoCq.Vp2bo2MGIqSphc.代表加密后的密码):上一次密码修改时间值:密码最小使用天数(至少使用多少天才能修改):密码过期时间:密码过期提醒时间:密码过期锁定时间:账号失效时间

1.4.4 group文件

[root@vpc1 ~]# tail -1 /etc/group
geekgold:x:1000:test


组名:组密码占位符:GID:以该组为附加组的用户

1.4.5 gshadow

[root@vpc1 ~]# tail -1 /etc/gshadow
geekgold:!::

组名:组密码:组管理员:以当前组为附加组的用户

1.5 用户与组相关命令

1.5.1 useradd命令

添加用户

useradd [options] LOGIN


选项:

-u UID 
-o 配合-u 选项,不检查UID的唯一性
-g GID 指明用户所属基本组,可为组名,也可以GID
-c "COMMENT“ 用户的注释信息
-d HOME_DIR 以指定的路径(不存在)为家目录
-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r 创建系统用户 CentOS 6之前: ID<500,CentOS7 以后: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
-p 指定加密的密码

1.5.2 usermod命令

用户属性修改

usermod [OPTION] login

选项:

-u UID: 新UID
-g GID: 新主组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使
用-a选项
-s SHELL:新的默认SHELL
-c 'COMMENT':新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name: 新的名字
-L: lock指定用户,在/etc/shadow 密码栏的增加 ! 
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限,即宽限期

1.5.3 用户删除

userdel [OPTION]... Login

选项:

-f, --force   强制
-r, --remove 删除用户家目录和邮箱

1.5.4 创建密码

passwd [OPTIONS] UserName

选项:

-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-f:强制操作
-n mindays:指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码,Ubuntu无此选项

1.5.5 创建组

groupadd [OPTION]... group_name

选项:

-g GID 指明GID号;[GID_MIN, GID_MAX]
-r 创建系统组,CentOS 6之前: ID<500,CentOS 7以后: ID<1000

1.5.6 修改组

groupmod [OPTION]... group

选项:

-n group_name: 新名字
-g GID: 新的GID

1.5.7 删除组

groupdel [options] GROUP

选项:

-f, --force 强制删除,即使是用户的主组也强制删除组,但会导致无主组的用户不可用无法登录

权限

用户访问文件时的权限

  • 用户为文件的属主,应用文件的属主权限
  • 用户为文件的属组,应用文件的属组权限
  • 用户不属于以上两个,应用其他权限

2.1 文件所有者和属组属性操作

2.1.1 chown命令

chown 命令可以修改文件的属主,也可以修改文件属组
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...

用法:

OWNER   #只修改所有者
OWNER:GROUP #同时修改所有者和属组
:GROUP   #只修改属组,冒号也可用 . 替换
--reference=RFILE  #参考指定的的属性,来修改   
-R #递归,此选项慎用,非常危险!

2.1.2 chgrp命令

chgrp 命令可以只修改文件的属组
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...


-R 表示递归

2.2 文件权限

2.2.1 权限说明

文件权限针对的对象:

owner 属主, u
group 属组, g
other 其他, o

notice:

  用户的最终权限,是从左向右进行顺序匹配,即,所有者,所属组,其他人,一旦匹配权限立即生效,不再向右查看其权限
  r和w权限对root 用户无效
  只要所有者,所属组或other三者之一有x权限,root就可以执行

文件权限:

r Readable 4
w Writable 2
x eXcutable 1


对于文件:

r 可使用文件查看类工具,比如:cat,可以获取其内容
w 可修改其内容,文件的是否被删除和文件的权限无关
x 可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件(此文件的内容必须是可执行)



对于目录:

r 可以使用ls查看此目录中文件名列表,但无法看到文件的属性meta信息,包括inode号,不能查看文件的内容
w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关
x 可以cd进入此目录,可以使用ls -l file或stat file 查看此目录中指定文件的元数据,当预先知道文件名称时,也可以查看文件的内容,属于目录的可访问的最小权限
X 分配给目录或有部分x权限的文件的x权限,对无任意x权限的文件则不会分配x权限

数字的表示方法:

2.2.2 修改文件权限chmod

chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
#参考RFILE文件的权限,将FILE的修改为同RFILE
chmod [OPTION]... --reference=RFILE FILE...


MODE:who opt permission
who:u,g,o,a 
opt:+,-,=
permission:r,w,x
修改指定一类用户的所有权限
u=  g= o= ug=  a= u=,g=
修改指定一类用户某个或某个权限
u+ u- g+ g- o+ o- a+ a- + -
-R: 递归修改权限

eg.1

chmod u+wx,g-r,o=rx file
chmod  -R g+rwX /testdir
chmod  600 file

2.3 文件和目录创建的默认权限

umask 用来设置创建文件权限

非特权用户 umask 默认是 002
root umask 默认是 022
  • 新建文件的默认权限 : 666-umask ,如果所得结果某位存在执行(奇数)权限,则将其权限 +1, 偶数不变
  • 新建目录的默认权限: 777-umask
修改umask文件方法:
  • 全局:/etc/bashrc
  • 用户: ~/.bashrc
[root@centos8 ~]#umask
0022
[root@centos8 ~]#( umask 666; touch /data/f1.txt )
[root@centos8 ~]#umask
0022
[root@centos8 ~]#ll /data/f1.txt
---------- 1 root root 0 Mar 27 14:55 /data/f1.txt

2.4 特殊权限

2.4.1 suid

只是针对于具有执行x权限的文件(命令,程序),让普通用户临时拥有该文件拥有者的权限

chmod u+s /opt/testfile
[root@localhost ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 33424 Feb 18  2022 /usr/bin/passwd

s: 有效的suid权限
S:无效的suid权限(通过添加x权限即可变为有效)

2.4.2 sgid

针对目录,文件,如果针对的是目录,不管是任何的普通话用户,只要能在该目录中创建自己的文件或者目录,这些用户所创建的文件和目录的属组都是继承于sgid的目录的属组

chmod g+s 目录名

场景: 保证权限一致,都在一个组

只有su - 用户环境,手动创建才会有特殊权限的效果 , cp | mv 如果加了 -p sgid没有效果

针对普通文件,不同用户临时拥有该文件属组的权限

2.4.3 粘滞位置sticky

只有目录中每个用户所创建的属于自己的文件|目录,只有自己和管理员root才能删除

主要针对目录的

chmod -R o+t  [文件目录]

效果
普通用户#rm -rf nangefile
rm: cannot remove 'upnangefile':Operation not permitted

小总结:

Linux系统中文件,目录完整的权限是7777

第一个7 代表特殊权限 suid 4 | sgid 2 | sticky 1

没有7

第二个7 拥有者的基本权限

第三个7 拥有者属组的基本权限

第四个 其他人的基本权限

总结

以上就是关于用户、组和权限相关知识的了解,欢迎添加VX: wenjinworkon 交流学习

  • 45
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geekgold

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值