今天,我们来学习Linux中有关用户和组管理的相关知识
用户和组管理
用户分类:
用户 | UID |
超级用户 | 0 |
系统用户(不能用来登录系统 ) | 1-999 |
普通用户 | >1000 |
组分类:
基本组(私有组): 建立账户时,若没有指定账户所属的组系统会建立一个和用户名相同的组,这个组就是基本组
附加组(共有组):是用户可以加入的其他组,这些组可以赋予用户访问特定资源或执行特定操作的权限
/etc/passwd ---用户账号文件
/etc/shadow ---用户密码文件
加密方法$6 salt盐:(盐值,也称为Salt值,是用户注册时系统用来和用户密码进行组合而生成的随机数值。这个随机值可以包括随机的大小写字母、数字、字符,位数可以根据要求而不一样。盐值可以使得加密的得到的密文更加冷僻,不宜查询。即使黑客有密文查询到的值,也是加了盐值的密码,而非用户设置的密码。经过添加盐值处理的密码,即使用户设置的原密码是相通的,数据库中的密文却是不同的。加盐值是为了增加密码的安全性和保密性。)
/etc/group(用户组帐号文件)
命令
useradd(创建新用户)
-u | 用户id |
-g | 组id |
-G | 指定附加组 |
-c | “注释信息”(注释不能做用户名,因为注释可以重复) |
-d | 指定某个用户为用户的家目录 |
-s | 指定用户使用的shell |
下面来举个例子:(创建一个新的用户账户,用户名为wanger
,将其添加到rhcsa
组中,初始登录组为zhangsan
组,用户ID为2012
,注释信息为"putongyonghu",并且家目录为/root/aa/wanger
。)
[root@localhost ~]# useradd -G rhcsa -g zhangsan -u 2012 -c "putongyonghu" -d /root/aa/wanger wanger
-G rhcsa
:将新用户添加到rhcsa
组中。-g zhangsan
:将新用户的初始登录组设置为zhangsan
组。-u 2012
:指定新用户的用户ID为2012
。-c "putongyonghu"
:为新用户指定注释信息,通常用于描述用户的相关信息。-d /root/aa/wanger
:指定新用户的家目录为/root/aa/wanger
。
passwd(用于更改用户的密码)
passwd 用户名
-n | 指定密码最短使用权限 |
-x | 指定密码最长使用权限 |
-w | 制定警告时间 |
-d | 删除用户密码 |
usermod(修改用户信息)
usermod 选项 用户名
-l | 新用户名 |
-L | 锁定新用户 |
-U | 解锁用户账号 |
userdel( 删家目录、邮箱)
userdel -r 用户名
groupadd 添加
groupmod 修改
groupdel 删除
权限
u | 所属者(123) |
g | 所属组 |
o | 其他人 |
a | 所有人(后三位) |
chmod(用于更改文件或目录的权限)
chmod 对象 符号(+-=) 权限(rwx)文件名
+ | 增加 |
- | 减少 |
= | 赋予某种权限,取消原来的权限(覆盖) |
字母法:
- 读权限(r):允许用户读取文件内容or查看目录中的文件列表,相当于ls
- 写权限(w):允许用户修改文件内容or在目录中创建、删除和重命名文件。
- 执行权限(x):对于文件,允许用户执行文件中的可执行代码;对于目录,允许用户进入目录并访问其中的文件,相当于cd
数字设定法:
- | 没有权限 0 |
x | 执行权限 1 |
w | 修改权限 2 |
r | 读取权限 4 |
chmod n1n2n3 文件名称(n1n2n3代表位置)
n1 | 所属者的权限 |
n2 | 所属组的权限 |
n3 | 其他人的权限 |
举个例子:
chmod 367 f1
该命令用来执行以下操作:
-
文件所有者具有读和执行权限,但没有写权限。
-
文件所属组具有读和写权限,但没有执行权限。
-
其他用户具有读、写和执行权限。
特殊权限
SUID
作用:为了让一般用户执行某些程序的时候,在程序运行的期间,暂时获得该程序文件的所属者的权限
S:没有修改权限
s:有修改权限
SGID
文件:如果SGID设置在二进制文件上面,则不论用户是谁,都可以在执行该程序的时候程序的所属组将变成该文件的所属组。
目录:如果SGID设置A目录上,则在该目录内创建的文件或者目录的所属组会变成A目录的所属组。
chgrp(用于更改文件或目录的所属组)
chgrp rhcsa test //将test目录的所属组更改为rhcsa
Sticky Bit
SBit 只针对目录有效,在具有SBit权限的目录下,如果该用户在该目录下拥有wx权限,则当用户在该目录下创建文件或者目录的时候,只有文件拥有者和root用户才有权限去删除里面的东西。