linux基础学习(9):用户与组

1.三个用户文件

1.1用户信息文件:/etc/passwd 

打开这个文件后,可以看到系统内所有的用户的信息,其中每一行是一个用户

linux基础学习(9):用户与组_第1张图片

列数 含义
1 用户名
2

密码位。

x代表该用户有密码

3

用户uid。

超级用户为0(就是root用户);系统用户是1~499;普通用户是500~65535

4 组id
5

用户说明。

算是注释,没有实际意义

6

用户家目录。

系统用户的家目录没有意义,不用看

7

/sbin/nologin:不能登录

/bin/bash:可以登录

在windows下,如果要把一个用户变为超级用户,是通过把这个用户加入超级用户组来实现。

但在linux中,修改配置文件中用户的组id并没有用,需要修改用户的uid才能让一个普通用户变为超级用户,也就是把uid号改为0,但这样做并没有意义,而且很危险。

1.2密码文件:/etc/shadow

linux基础学习(9):用户与组_第2张图片

列数 含义
1 用户名
2

加密密码。

(1)如果在加密密码前加一个!,则会让该用户无法登录

(2)!!和*代表没有密码,不可登录

3

密码最近更改时间

是一个时间戳,代表1970.1.1之后第几天

4

两次密码的修改间隔时间

是一个数字,以第3位为基准计算

5

密码有效期

是一个数字,以第3位为基准计算

6

密码修改到期前的警告天数

是一个数字,以第5位为基准计算

7

密码过期后的宽限天数

是一个数字,以第5位为基准计算

8

密码失效时间

也是一个时间戳,代表1970.1.1之后第几天

只要超过了此时间戳,用户就无法登录

1.3组信息文件:/etc/group

linux基础学习(9):用户与组_第3张图片

列数 含义
1 组名
2

密码位。

组密码的意义在于,可以让知道组密码的组用户进行组内成员的增删,正常情况下,这个操作只有root用户可以做。

但还是建议不要给组设置密码

3 组id,也就是GID
4

组内其他用户

图中之所以都是空白是因为它们是同名用户的初始组,同时组内除了该用户没有其他用户

|初始组与附加组

初始组:每个用户必须有初始组,且只能有一个,一般都是以用户的同名组作为初始组。在创建用户的时候如果没有指定初始组,系统会同时自动创建一个同名组作为该用户的初始组

附加组:每个用户可以属于多个附加组。

2.用户与组的相关命令

2.1 添加用户命令useradd

useadd  选项  用户名

选项:

-g  组名:指定初始组

-G  组名:指定附加组

-d  目录:指定家目录

创建完用户后一定要设置密码,否则无法登录:passwd  用户名

有一些服务,如mysql、oracle等, 不会自动创建系统用户,这时候就需要手动创建其所需的系统用户,在这种情况下,才不需要设置密码

2.2修改密码命令passwd

(1)只有root用户可以使用 passwd  用户名 修改其他用户的密码

如果普通用户要修改自己的密码,需要输入 passwd ,不需要在passwd后加自己的用户名

(2)root用户可以通过passwd -l 用户名,使某个用户无法登录,也可以再通过passwd -u 用户名,对该用户进行解锁

锁住某个用户的原理就是在该用户的/etc/shadow文件的加密密码段前加上2个!

2.3用户删除命令userdel

uesrdel  -r  用户名

-r:同时删掉用户的家目录

2.4创建组命令groupadd

groupadd  组名

2.5管理组内成员命令gpasswd

gpasswd  -a  用户名  组名:把用户加入组

gpasswd  -d  用户名  组名:把用户从组内删除

2.6删除组命令groupdel

groupdel  组名

*只能在组内没有初始用户的情况下才能删除组

你可能感兴趣的:(学习)