猪兜 发表于 2023-11-30 02:42:22

六、用户组和权限管理

1、系统用户管理

用户的分类(用户的ID):
UID:用户的身份标识符,每个用户都会被分配一个独特的ID

[*]系统用户(服务用户):0 ~ 999 之间
[*]普通用户:1000 ~ 6000之间
[*]用户名和UID信息通常存储在/etc/passwd文件中
[*]用户的存在是为了能更好的控制系统权限
1 root:x:0:0:root:/root:/bin/bash
2 root:用户名
3 x:密码占位符 # 表示用户登录时是否需要验证密码
4 0:用户UID #身份标识符
5 0:用户GID #用户私有组
6 root:用户描述信息 #描述这个用户是干什么的(防止用户名被泄露)
7 /root:用户家目录 #用户登录之后在那个目录下
8 /bin/bash:登录shell信息 #用户登录系统之后运行的第一个程序
9                     /bin/bash 运行bash shell 表示可以登录系统
10                     /sbin/nologin禁止登录shell 表示不能登录系统2、系统用户组管理

用户组:在创建用户时,如果没有指定用户的组,则自动创建一个以用户名命名的组并将这个用户加入到该组

[*]私有组(属组):在用户创建时,一并指定的则,称之为私有组
[*]公共组(附加组):每个用户都可以有多个公共组,但是只能有一个私有组
[*]用户组和ID的映射关系保存在 /etc/group 文件中
[*]同一个组中的所有用户能共享属于这个组的文件
1 # id user
2 uid=1000(user) gid=1000(user) groups=1000(user)
3
4 itgroup: zhangsan、lisi、wangwu
5 sagroup: alice、bob、mike、zhangsan
6   #zhangsan:itgroup(私有组),sagroup(公共组)
7
8 root:x:0:zhangsan
9 root:#表示组名
10 x:#组的密码占位符
11 0:#组的ID
12 zhangsan:#表示组内用户,在root组内有zhangsan这个用户,多个用户用逗号隔开;如果改组是某个用户的私有组,则该用户不会出现在该组中3、useradd创建


[*]-u:用户号,指定用户的用户号,如果同时有 -o 选项,则可以重复使用其它用户的标识号
[*]-g:用户组,指定用户所属的用户组
[*]-c:comment指定一段注释性描述
[*]-d:目录,指定用户主目录,如果此目录不存在,则同时使用 -m选项,可以创建主目录
[*]-G:用户组,用户组指定用户所属的附加组
[*]-s:shell文件,指定用户的登录shell
1 root@example ~]# useradd -u 3000 ituser
2 # id ituser
3 uid=3000(ituser) gid=3000(ituser) groups=3000(ituser)
4
5 # useradd -g zhangsan ituser1
6 # id ituser1
7 uid=3001(ituser1) gid=1001(zhangsan) groups=1001(zhangsan)
8
9 # useradd -c "rhce user" ituser2
10 ituser2:x:3002:3002:rhce user:/home/ituser2:/bin/bash$
11
12 # useradd -d /ituser3 ituser3
13 ituser3:x:3003:3003::/ituser3:/bin/bash
14
15 # useradd -s /sbin/nologin ituser4
16 ituser4:x:3004:3004::/home/ituser4:/sbin/nologin
17
18 # su -s /bin/bash ituser4
19 $ cd
20 $ pwd
21 /home/ituser4用户的UID可以重复,一个UID可以对应多个用户名,但是UID是唯一的存在;
Linux中并不以用户名来决定用户的权限,而是依靠UID来决定用户对文件的权限;
系统会进行ID保留机制,部分UID已经提前分配给了应用程序,比如:38分配给了KVM,所以将保留的UID分配出去,就会导致新创建的用户继承到这个权限;每次创建用户都会将 /etc/passwd 中最大的UID加 1 分配给新的用户;
4、usermod修改

usermod modify 修改

[*]-g:指定私有组
[*]-u:指定UID
[*]-G:指定附加组
[*]-c:描述信息
[*]-d:家目录(-m:移动家目录,与 -d 一起使用)
[*]-s:登录shell
1 # usermod -u 1003 ituser1
2 # usermod -g 1000 ituser1
3 # usermod -G user ituser1
4 # usermod -c "test user" ituser1
5 # usermod -d /demo/user1 ituser15、其它相关命令


[*]userdel 用户名:删除一个用户,仅仅只是从系统中将用户删除
[*]userdel -r 用户名:干净删除用户,除了将用户本身删除外,还会连同用户的文件(用户邮箱和用户家目录)一并删除
1 # 解决办法
2 # rm -rf /var/spool/用户名
3
4 # rm -rf /home/用户名

[*]groupadd:创建新的组

[*]-g:指定gid
[*]gpasswd:设置组密码
[*]newgrp:登录到指定组,并且登录之后该组将成为用户的私有组(临时授权)



[*]groupmod:修改组的信息

[*]-n:指定新的组名



[*]groupmems:管理组内成员

[*]-g:指定组
[*]-a:添加用户
[*]-d:删除用户
[*]-l:列出组内用户
[*]-p:清空用户

1 # groupmems -a ituser -g itgroup
2 # groupmems -l -g itgroup
3 ituser
4 # groupmems -d ituser -g itgroup6、用户的密码信息

/etc/shadow:保存用户的密码信息(加密)
/etc/gshadow:保存组的密码信息
1 root:$6$HSqKs:19678:0:99999:7:::
2 第一列: #用户名
3 第二列:#用户密码(密文)
4   PS:!!表示该用户没有设置密码
5         * 表示用户从来没有设置密码
6         默认是hash512算法
7 第三列:上一次修改密码的时间
8 第四列:密码最短有效期
9 第五列:密码最长有效期
10 第六列:警告天数
11 第七列:密码锁定天数
12 第八列:密码过期时间(删除密码时间),是一个日期
13 第九列:保留字段
14
15 #加密类型(算法)安全套件:openssl
16 # openssl passwd -5 redhat
17 $5$HY9wotlwulgPch2g$IbRLwroQqoZ0q45zLqybs7hdR3IHdg2F7/ItLeOvWeA
18 # openssl passwd -6 redhat
19 $6$qQzsl2yVJjkxD421$XRmbyb/3lSD6611xPVmgQuDKN5tHNGW7SBuVEwxbw6jXLJlIODFJpwIimswycqF72iXC9PiEJduV1BfAs8mS//
20 # openssl passwd -1 redhat
21 $1$cNtRJaY6$t4AQopvQ3M0NFr5w4Lp1t/
22
23 # chage user
24 Changing the aging information for user
25 Enter the new value, or press ENTER for the default
26   Minimum Password Age : 5 #密码最短有效期
27   Maximum Password Age : 77777 #密码最长有效期
28   Last Password Change (YYYY-MM-DD) : #上一次修改密码时间
29   Password Expiration Warning : 5 # 警告天数
30   Password Inactive [-1]: 5 #锁定天数
31   Account Expiration Date (YYYY-MM-DD) [-1]: 55555 #失效时间
32   
33 #修改密码默认规则
34 # vim /etc/login.defs 7、Linux文件安全


[*]文件UID和GID


[*]每一个文件都有一个uid和gid
[*]用户在运行程序的时候,程序会继承用户的UID和GID
[*]决定于哪个用户可以访问相应的文件
[*]当程序在访问文件时,会得到三类访问权限

[*]程序的UID和文件的UID一致,则是以文件拥有人的身份访问文件
[*]程序的GID和文件的GID一致,则是以文件拥有组的身份访问文件
[*]程序的UID、GID和文件的UID、GID均不一致,则是以文件其他人身份访问文件


[*]文件权限优先级


[*]如果UID一致,UID匹配文件成功;文件拥有人的身份访问文件(user)
[*]如果UID不一致,GID一致,GID匹配文件成功;文件拥有组的身份访问文件(group)
[*]如果UID、GID均不一致,则匹配文件的其他人身份;文件其他人的身份访问文件(other)
1 -rw-r--r--.   1 root root    0 Nov 26 21:48 test.txt
2 -:表示文件类型(-:普通文件;d:目录;l:软链接(字符文件);b:块设备)
3 rw-:表示拥有人的权限
4 r--:表示拥有组的权限
5 r--:表示其他人的权限
6 .:表示文件受到seLinux的保护(安全机制)
7 1:表示文件的硬链接数(硬链接数决定了在系统中文件有几份)
8 第一个root:文件的UID(文件的拥有人;文件的所有者)
9 第二个root:文件的GID(文件的拥有组)
10 0:文件的大小
11 Nov 26 21:48:文件最后一次修改的时间
12 test.txt:文件名
[*]Linux文件系统权限


[*]查看文件和目录的权限

[*]ls -l 文件名
[*]ls -ld 目录名
[*]chmod u/g/o +/-/= 文件名:修改权限(u+g+o=all)
[*]chomd -R :递归赋权

1 -rw-r--r--. 1 root zhangsan0 Nov 26 21:44 zhangsan.txt
2
3 权限分配         文件所属人      文件所属组用户   其它用户
4 字符表示         rwx         rwx      rwx
5 权限项         读写执行   读写执行   读写执行
6 数字表示         421         421      421
7 -:表示对应栏位没有权限
8 r:表示可以读取文件内容
9 w:表示可以修改文件内容
10 x:表示文件可以被执行
11
12 #文件的拥有人可以强制对文件进行保存
13 #如果是对文件进行操作只需要看文件所在目录的权限;如果是对文件的内容进行操作,要看文件本身的权限
14
15 #十进制
16 1表示该栏位有权限      r w x
17 0表示该栏位没有权限      1 0 0   4
18                     0 1 0   2
19                     0 0 1   1
20
21 # chmod 751 zhangsan.txt
22 # ls -l zhangsan.txt
23 -rwxr-x--x. 1 root zhangsan 0 Nov 26 21:44 zhangsan.txt
24 # chmod u+r zhangsan.txt
25 # ls -l zhangsan.txt
26 -r--------. 1 root zhangsan 0 Nov 26 21:44 zhangsan.txt
27 # chmod u+w zhangsan.txt
28 # ls -l zhangsan.txt
29 -rw-------. 1 root zhangsan 0 Nov 26 21:44 zhangsan.txt
30 # chmod u+w,g+rw,o+r zhangsan.txt
31 # ls -l zhangsan.txt
32 -rw-rw-r--. 1 root zhangsan 0 Nov 26 21:44 zhangsan.txt
33 root@example tmp]# chmod +x zhangsan.txt
34 # ls -l zhangsan.txt
35 -rwxrwxr-x. 1 root zhangsan 0 Nov 26 21:44 zhangsan.txt8、设置文件属主和属组


[*]chown :用于设置文件的属主和属组(只能root用户可以使用)
[*]chgrp:只能设置文件的属组
普通用户可以赋权吗?
[*]普通用户只能修改拥有人自己文件的权限,不能修改其它人文件的权限;普通用户不能修改文件的拥有人/组
1 # chown zhangsan zhangsan/
2 # ls -l
3 total 0
4 drwxr-xr-x. 2 zhangsan root 6 Nov 28 21:56 zhangsan
5 # chown root:zhangsan zhangsan/
6 # ls -l
7 total 0
8 drwxr-xr-x. 2 root zhangsan 6 Nov 28 21:56 zhangsan
9 # chown :ituser zhangsan/
10 # ls -l
11 total 0
12 drwxr-xr-x. 2 root ituser 6 Nov 28 21:56 zhangsan
13 # chgrp zhangsan zhangsan/
14 # ls -l
15 total 0
16 drwxr-xr-x. 2 root zhangsan 6 Nov 28 21:56 zhangsan 

来源:https://www.cnblogs.com/Ju-zhi/p/17866013.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 六、用户组和权限管理