多用户、多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员(root)申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问(权限);另一方面也可以帮助用户组织文件(家目录),并为用户提供安全性保护(权限)。

唯一的用户名和各自的密码

用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。

账号的管理,要完成的工作主要有如下几个方面:

1. 用户账号的添加、删除、修改以及用户密码的管理。

2.用户组的管理。

注意三个文件:

/etc/passwd 存储用户的关键信息

/etc/group 存储用户组的关键信息

/etc/shadow 存储用户的密码信息

1、用户管理

①添加用户

语法:#useradd 选项 选项的值 …. 用户名

常用选项:
-g:表示指定用户的主组,选项值可以是用户组的id或是用户组的名称
-G:表示指定用户的附加组,选项值可以是用户组的id或是用户组的名称
-u:uid,用户的id,系统默认从500之后按顺序分配(7.0以后是1000)用户id也可以手动定义
-c:添加注释
-s:指定用户登录后的shell解析器
-d:指定用户登录时启动的目录
-n:取消用户名为名的群组
注意:在没有添加选项的时候,系统自动创建同名目录家和同名用户组

案例:创建用户lisi,让lisi属于501主组,附加组500,自选靓号666,并且要求不能登录到系统,可以写注释为“user lisi”。




把zabbix用户加入root组 将用户添加到root组_用户名


验证是否成功:

a. 验证/etc/passwd的最后一行,查看是否有zhangsan的信息;

#tail -1 /etc/passwd

b. id lisi 指令来进行验证

c. ls -la /home (也可以查看但是不太推荐,在Centos下创建好用户之后随之产生一个同名家目录);

passwd文件的详解:

root:x:0:0:root:/root:bin/bash
用户名:密码:用户id:用户组id:注释:家目录:shell解析器
用户名:创建新用户名称,后期登录的时候需要输入;
密码:此密码位置一般情况都是“x”,表示密码的占位;
用户ID:用户的识别符;【-u】
用户组ID:该用户所属的主组ID;【-g】
注释:解释该用户是做什么用的;【-c】
家目录:用户登录进入系统之后默认的位置;【-d】
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;【如果解释器是/bin/bash表示用户可以登录到系统,/sbin/nologin表示该用户不能登录到系统】【-s】
注意:一个用户只能有一个主组且必须有,可以有多个附加组或者没有附加组,文档的属性值的是主组

②修改用户

语法:#usermod 选项 选项的值 …. 用户名

常规选项:
-g:表示指定用户的主组,选项值可以是用户的id也可以是用户组的名称
-G:表示指定用户的附加组,选项值可以是用户的id也可以是用户组的名称
-u:uid,用户的id,系统默认从500之后顺序分配(7.0以后是1000)用户id也可以手动定义
-l:修改用户名
-c:添加注释
-d:修改用户名登录的目录
-s:修改用户登录的shell解析器

案例:修改zhangsan用户用户名,改为wangerma


把zabbix用户加入root组 将用户添加到root组_把zabbix用户加入root组_02


③设置密码(特殊)

特殊点1:该指令普通用户也可以执行

特殊点2:只有root用户才可以指定用户名

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

[ root@locahost 桌面] # passwd 用户名 // 注意:如果没有设置用户名表示修改当前账号密码
[ root@locahost 桌面] # cat /etc/shadow // 可以查看设置的密码(加密)

④删除用户

语法:#userdel 选项 用户名

[ root@locahost 桌面] # userdel [选项] 用户名
-r:表示删除用户名后目录家也跟着删除
注意:如果当前用户登录,无法删除先切换,kill进程在删除(终端也得退出 exit),删除的权限只有root有

2、用户组管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建(创建用户时不指定用户组的时候情形)

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

group的文件结构:

admin:x:500
用户组名:占位符:id:组内用户名[看附加组的]

①用户组添加

语法:#groupadd 选项 选项的值 …. 用户组名

[ root@locahost 桌面] # groupadd [选项] 用户组名
-g:类似于用户添加的-u,就是设置一个自定义的id,如果没指定那么还是从500默认顺序排序

案例:使用groupadd指令创建一个新的用户组,命名为admins


把zabbix用户加入root组 将用户添加到root组_用户登录_03


查看是否创建成功:


把zabbix用户加入root组 将用户添加到root组_shell如何添加root用户_04


②用户组编辑

语法:#groupmod 选项 选项的值 … 用户组名

[ root@locahost 桌面] # groupmode 选项 新用户名 用户名
-g:类似于用户添加的-u,就是设置一个自定义的id
-n:类似于用户修改的-l,表示新的名称
[ root@locahost 桌面] # groupmod -g 9999 -n locahost admin

案例:修改admins用户组,将组ID改成520,将名称改为admin123


把zabbix用户加入root组 将用户添加到root组_用户登录_05


③用户组删除

语法:#groupdel 用户组名

[ root@locahost 桌面] # groupdel 用户组名
注意:当要删除一个组名时,如果这个组是一个用户的主组那么无法删除,如果是附加组可以删除,如果真想删除可以移除所有用户在删除

案例:删除admin123组


把zabbix用户加入root组 将用户添加到root组_用户登录_06