您的位置:首页 > 运维架构 > Linux

Linux基础命令详解之用户/组管理

2017-11-19 00:17 751 查看

一,用户/组简介

Linux是一个多用户操作系统,允许多个用户同时登录系统使用系统资源。

一种秩序以区分不同用户。这就是用户ID,即账户、用户共有两种。超级用户和普通用户。超级用户又被成为管理员,用来管理整个系统,因此具有所有权限(当然也具有摧毁整个系统的能力,一定要慎用)。普通用户拥有一般的、可设定的权限,以进行正常工作。组是用户的集合。创建用户时,若没有指定属组,系统会创建一个与其同名的私有组。此私有组只包含其一个用户。当用户登录时,其当前所属的组为主组,其它组成为附加组。

二,Linux的用户/组系统文件

1,/etc/passwd

此文件中每行定义一个用户账号,每行中有7个字段,以:作为分隔符。



各字段说明:

用户名:用户登录系统时使用的用户名,是唯一的。

口令:由于口令受/etc/shadow保护,此字段用x占位。所有加密的口令以及和口令有关的设置都保存在/etc/shadow中。

UID:用户标识符。系统用来标识用户。每个用户的标识符都是唯一的。root的UID为0,系统用户的UID为0-499,普通用户的UID为500-60000。

GID:组标识符。系统用来表示组。

注释:保存用户的注释信息。

家目录:用户登录系统后所进入的目录。

shell:用户的默认shell。

2,/etc/shadow

由于/etc/passwd文件对所有用户均是可读的,为了安全起见,其中的口令经过加密后保存在本文件中,它只对root可读。每一行有9个字段,以:为分隔符。



各字段说明如下:

用户名:用户的账户名

口令:用户的口令,是SHA512加密过的

最后一次修改的时间:从1970.1.1起,到用户最后一次更改口令的天数

最小时间间隔:从1970.1.1起,到用户可以更改口令的天数

最大时间间隔:从1970.1.1起,到用户必须更改口令的天数

警告时间:在用户口令过期之前多少天气象用户更新

不活动时间:在用户口令过期之后到禁用账户的天数

失效时间:从1970.1.1起,到账户被禁用的天数

标志:保留位

3,/etc/group

将用户分组是Linux管理用户及控制访问权限的一种手段。组的属性都保存在本文件中,并且本文件对所有用户均可读。每行共有4个字段,以:为分割符。



各字段说明如下:

组名:该组的名称

组口令:由于受/etc/gshadow保护,此文件中只以x占位。加密的组口令保存在/etc/gshadow中。

GID:组的标识符

组成员:属于这个组的成员,多个成员以,分割。

4,/etc/gshadow

文件用于定义用户组口令、组管理员等信息,只有root可以读取。共有4个字段,以:分割。



各字段说明如下:

组名:组名称,与group文件中的组名称对应

组口令:保存加密的组口令

组的管理员账号:组的管理员账号,管理员有权对该组添加、删除账号

组成员:属于该组的用户成员列表,列表中多个用户间以,分割

总结:账户管理的是指就是管理上述4个账户系统文件。

三,用户/组命令

用户管理:常用的有useradd ,userdel, usermod, passwd, chsh, chfn, finger, id, chage.

接下来一一详解:

1,useradd 添加用户

选项

-u   UID                指定用户ID(UID)

-g   GID            指定GID

-G   GID            指定附加组

-c   "COMMENT''     指定注释信息

-d   /path/to/directory    指定家目录

-s   /path/to/shell     指定shell

-m -k               创建家目录

-r                  添加系统用户

-M                  不创建家目录




注释:创建用户时,用useradd的-u选项指定UID,用-g指定GID,-c指定注释信息。由图可知我们创建新用户Leonard时,指定的UID为1500、GID为1000,由于用户信息保存在文件/etc/passwd中,因此,我们可以之前学到的tail来显示最后一行,因为最新创建的用户信息是在最后一行。其它选项不再举例。

2.userdel 删除用户(不删除家目录)

选项

-r       删除用户家目录






注释:如图,用userdel的-r选项可直接删除用户及其家目录

3. usermod 修改用户账号属性

选项

-u        修改UID

-g        修改GID

-c        修改注释信息

-d -m   指定新家目录位置,并移动到新家目录

-l         改用户名

-s         改用户shell

-L         锁定用户




注释:如图,用usermod的-u选项来修改用户的UID。例子里,我们将用户Leonard的UID由1001改为了1002。

4.id 查看用户ID属性信息(UID,GID)

选项

-u        只查看UID

-g        只查看GID

-G        查看所有GID




注释:如图所示,我们使用id命令的-u,-g 和 -G 选项可分别查看UID,GID,所以GID。若不使用任何参数,则显示完整信息。

5.finger USER 查看用户账号信息



6. chsh 修改用户的默认shell

选项

-s        修改用户的shell

-l         显示系统支持的shell




注释:如图,若直接使用chsh命令,则系统会出现提示界面提醒你输入新的shell



注释:若使用-s选项,可直接制定新的shell。



注释:使用-l选项,可查看系统支持的所有shell。

7.chfn 修改用户的finger信息



8.passwd 修改用户密码

选项

--stdin        从标准输入中修改密码

-l                 锁定用户账号

-u                解锁用户账号

-d                删除用户密码


9.pwck 查看用户账号的完整性

用法:

pwck   USERNAME


10.chage 修改用户密码的过期信息

选项

-d         最近一次修改的时间

-E         过期时间

-I          活动时间

-m        最短使用期限

-M        最长使用期限

-W        警告时间


组管理:常用命令有groupadd, groupdel, groupmod, gpasswd, newgroup

1.groupadd 创建新工作组

选项

-g               指定GID

-r              创建系统组


2.groupdel 删除工作组

用法:

groupdel  GROUPNAME


3.groupmod 修改工作组信息

选项

-g             指定新GID

-n             指定新组名


4.gpasswd 工作组文件管理工具

选项

-a         向组内添加用户

-d         从组内删除用户

-A         设置组管理员


5.newgrp 临时切换用户基本组

使用exit可返回原基本组


6.whoami 显示当前用户名称

7.groups 显示指定用户所属的组

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息