用户和用户组管理

用户一般来说是指使用计算机的人,计算机对针使用其的每一个人给了一个特定的名称,用户就可以使用这些名称来登录使用计算机,除了人之外,一些系统服务也需要含有部分特权的用户账户运行;因此出于安全考虑,用户管理应运而生,它加以明确限制各个用户账户的权限,root在计算机中用拥有至高特权,所以一般只作管理用,非特权用户可以通过SU来临时获得特权,要想实现用户账号的管理,要完成的工作主要有如下几个方面:用户账号的添加删除修改以及用户密码的管理

 用户与组的关系:一对一:一个用户可以存在一个组中;一对多:一个用户可以存在多个组中;

          多对一:多个用户可以存在一个组中;多对多:多个用户可以存在多个组中。

用户管理:

1、添加用户 

语法:#useradd 选项 用户名

常用选项:

-g:表示指定用户的用户(主要)组,选项的值可以是用户组的id,也可以是组名

-G:表示指定用户的用户附加(额外)组,选项的值可以是用户组的id,也可以是组名

-uuid,用户的id(用户的标识符),系统默认会从1000之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯QQ的自选靓号情况】

-ccomment,添加注释

-s:指定用户登入后所使用的shell 解释器 【专门的接待员】

-d:指定用户登入时的启始目录(家目录位置)

-n:取消建立以用户名称为名的群组

建立新的用户text1

[root@localhost ~]# useradd text1
[root@localhost ~]# tail -1 /etc/passwd
text1:x:1003:1003::/home/text1:/bin/bash

/etc/passwd每个字段的指代

text1:x:1003:1003::/home/text1:/bin/bash

用户名:用户密码占位符:UID:GID:用户描述:用户主目录:用户登录后使用的shell

这个格式也就是passwd的格式,需要能够认得。


shell:  查看系统中,支持哪些shell

 [root@localhost ~]#  cat /etc/shells    #查看系统中,支持哪些shell

[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh


2、修改用户

语法:#usermod 选项 用户名

Usermoduser modify,用户修改

常用选项:

-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名

-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名

-uuid,用户的id(用户的标识符),

-l:修改用户名

-c<备注>:修改用户帐号的备注文

-d<登入目录>:修改用户登入时的目录

-s<shell>:修改用户登入后所使用的shell

如:将text1更名为text2

#usermod -l text2 text1    [新名字在前,旧名字在后]


3、设置密码

Linux不允许没有密码的用户登录到系统,因此前面创建的用户目前都处于锁定状态,需要设置密码之后才能登录计算机。

语法:#passwd [用户名] 【如果不指定用户名则修改自己的密码】

在设置密码的时候也是没有任何输入提示的,放心输入,确保两次输入的密码一致,按下回车即可。

设置密码之后shadow文件中的体现:能够看出新建立的用户没有密码的。

[root@localhost ~]# tail -3 /etc/shadow
he:$6$QHkFb3taJPeFdnmo$RGx3/G78r2oBXt0WwpE1eXNtuCTgwXw6KB6qwPP/7gudGsmrPjTykWiybnLmSVe36ieZHmTka2Hg11j8GsUum.::0:99999:7:::
mang:$6$jbo.rYFA$ODDMm/IP9AB7jYH/1HSstcjoUecTPgUde.WtHMcv4EuFuAkuv1Up7qNIWuhaEPqPFbi1k/jJ0MO2VwzhcTa5f1:18025:0:99999:7:::
text1:$6$pq7Jl./L$7XM/SN0sVtsvYieH5KGOsidtJ2xMYhx9CDtG4.3wFjKcJPYSD47YCw7IyYi/1B4iT0tcplvI2rut5Mf16kU60/:18027:0:99999:7:::

切换用户命令#su [用户名]switch user)

如果用户名不指定则表示切换到root用户。

切换用户需要注意的事项:

a. root往普通用户切换不需要密码,但是反之则需要root密码;

b. 切换用户之后前后的工作路径是不变的;

c. 普通用户没有办法访问root用户家目录,但是反之则可以;

给用户添加密码:

交互(两次)

[root@localhost ~]# useradd ge
[root@localhost ~]# tail -1 /etc/passwd
ge:x:1004:1004::/home/ge:/bin/bash
[root@localhost ~]# id ge
uid=1004(ge) gid=1004(ge) 组=1004(ge)
[root@localhost ~]# passwd ge
更改用户 ge 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:

不交互(一次)

[root@localhost ~]# useradd chali
[root@localhost ~]# tail -1 /etc/passwd
chali:x:1005:1005::/home/chali:/bin/bash
[root@localhost ~]# echo heping|passwd --stdin chali
更改用户 chali 的密码 。


4、删除用户

语法:#userdel 选项 用户名

Userdeluser delete(用户删除)

常用选项:

-r:表示删除用户的同时,删除其家目录;

如删除ge用户:

[root@localhost ~]# userdel -r ge
[root@localhost ~]# ll /home
总用量 4
drwx------.  3 chali chali   78 5月  11 21:30 chali
drwx------. 18 he    he    4096 5月  11 21:21 he
drwx------.  5 mang  text   196 5月  10 12:02 text
drwx------.  5 text1 text1  107 5月  11 21:22 text1

删除chali用户:

【root@localhost ~】# userdel -r chali

[root@localhost ~]# ll /home
总用量 4
drwx------. 18 he    he    4096 5月  11 21:21 he
drwx------.  5 mang  text   196 5月  10 12:02 text
drwx------.  5 text1 text1  107 5月  11 21:22 text1

删除完成。


注意这个表格:

名 称

帐号信息

说 明

用户配置文件

/etc/passwd

记录了每个用户的一些基本属性,并且对所有用户可读,每一行记录对应一个用户,每行记录通过冒号进行分隔

用户组文件

/etc/group

用户组的所有信息存放地儿,并且组名不能重复

用户对应的密码信息

/etc/shadow

因为passwd文件对所有用户是可读的,为安全起见把密码从passwd中分离出来放入这个单独的文件,该文件只有root用户拥有读权限,从而保证密码安全性

原文地址:https://www.cnblogs.com/getbird/p/10850190.html