Linux系统管理(六)——用户、组的管理

系列文章往期回顾

Linux系统管理(一)——Linux虚拟机在VMware上的安装
Linux系统管理(二)——VMware使用文件共享功能
Linux系统管理(三)——Shell以及基本命令
Linux系统管理(四)——Shell编程资料分享以及示例演示
Linux系统管理(五)——vim使用及配置



一、用户和组

Linux系统中的用户唯一的标识码为用户ID,即UID,每个用户至少属于一个组,即为用户分组。用户分组存在唯一的标识码,为GID。不同的用户拥有不同的权限。

1.认识文件/etc/passwd和/etc/shadow

显示系统的用户信息

cat /etc/passwd

在这里插入图片描述
每行为一个用户的信息,包括七个域,用:隔开。

root:x:0:0:root:/root:/bin/bash
第一字段:用户名
第二字段:口令
第三字段:UID
第四字段:GID
第五字段:用户名全称
第六字段:用户的登录目录
第七字段:用户所用的shell类型

cat /etc/shadow显示:
在这里插入图片描述

root:!:18967:0:99999:7:::

包括九个域
帐号名称:由于密码也需要与帐号对应,必须要与 /etc/passwd 相同。

密码:这个才是真正的密码,而且是经过编码过的密码,只有 root 才可以读写如果是在密码栏的第一个字元为‘ * ’或者是‘#’,表示这个帐号并不会被用来登入。

最近更动密码的日期:以 1970 年 1 月 1 日作为 1累加的

密码不可被更动的天数: 第四个栏位记录了这个帐号的密码需要经过几天才可以被变更。

密码需要重新变更的天数:为了安全性

密码需要变更期限前的警告期限:

密码过期的恕限时间:必须变更密码的期限前,并没有变更你的密码,原始密码可登入的时间。

帐号失效日期:这个日期跟第三个栏位一样,都是使用 1970 年以来的总日数设定。

保留:最后一、栏位是保留的。

2.认识文件/etc/group和/etc/gshadow

用户组的设置是为了方便检查、设置文件或目录的访问权限。举例:我们为了让一些用户有权限查看某一文件,比如是个时间表,而编写时间表的人要具有读写执行的权限,我们想让一些用户知道这个时间表的内容,而不让他们修 改,所以我们能把这些用户都划到一个组(用chgrp命令),然后来修改这个文件(用chmod命令)的权限,让用户组可读(用chgrp命令将此文件归 属于这个组),这样用户组下面的每个用户都是可读的,其他用户是无法访问的。

cat /etc/group

在这里插入图片描述

二、用户管理

实现用户账号的管理,要完成的工作主要有如下几个方面:
a.用户账号的添加、删除和修改。
b.用户口令的管理。

Linux用户账号的管理

用户账号的管理主要涉及到用户账号的添加、删除和修改。
添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。

1、添加新的用户账号使用useradd命令,语法如下:

useradd 选项 用户名
其中各选项含义如下:

-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,能创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则能重复使用其他用户的标识号。
-p这个命令是需求提供md5码的加密口令,普通数字是不行的。
例1:useradd -d /usr/sam -m sam

此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。

例2:useradd -s /bin/sh -g group -G adm,root gem

此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,他属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
这里可能新建组:groupadd group 及 groupadd adm
增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件,如/etc/shadow,/etc/group等。

2、删除帐号

如果一个用户账号不再使用,能从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还要删除用户的主目录。删除一个已有的用户账号使用userdel命令,格式如下:
代码:

userdel 选项 用户名

常用的选项是-r,他的作用是把用户的主目录一起删除。
例如: userdel -r sam
此命令删除用户sam在系统文件(主要是/etc/passwd,/etc/shadow,/etc/group等)中的记录,同时删除用户的主目录。

3、修改帐号

修改用户账号就是根据实际情况更改用户(chgrp是针对文件而言)的有关属性,如用户号、主目录、用户组、登录Shell等。

修改已有用户的信息使用usermod命令,格式如下:

usermod 选项 用户名[只有终极管理员或用sudo命令的普通用户才有权限修改帐号名]

常用的选项包括-c,-d,-m,-g,-G,-s,-u,-o等,这些选项的意义和useradd命令中的相同,能为用户指定新的资源值。另外,有些系统能使用如下选项:
代码:
-l 新用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
例如:

usermod -s /bin/ksh -d /home/z -g developer sam

此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

usermod zte1 -g cheng

此命令是改动用户zte1所属的组为cheng这个组

4、查看帐号属性

格式: id user1 显示user1的uid和gid ,缺省(default)为当前用户的id信息.
groups user1 显示用户user1所在的组,缺省(default)为当前用户所在的组信息.

Linux用户口令的管理

用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,是被系统锁定的,无法使用,必须为其指定口令后才能使用,即使是空口令。
指定和修改用户口令的Shell命令是passwd。终极用户能为自己和其他用户指定口令,普通用户只能修改自己的口令。命令的格式为:

passwd 选项 用户名
可使用的选项:
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令。
例如:假设当前用户是sam,则下面的命令修改该用户自己的口令:

passwd
Current password:******
New password:*******
Tetype new password:*******

如果是终极用户,能用下列形式指定任意用户的口令:

passwd sam
New password:*******
Tetype new password:*******

普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再需求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而终极 用户为用户指定口令时,就不必知道原口令。为了安全起见,用户应该选择比较复杂的口令,最佳使用不少于8位的口令,口令中包含有大写、小写字母和数字,并 且应该和姓名、生日等不相同。
为用户指定空口令时,执行下列形式的命令:
代码:

passwd -d sam

此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。
passwd命令还能用-l(lock)选项锁定某一用户,使其不能登录,例如:
代码:

passwd -l sam

三、组管理

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

1、增加一个新的用户组使用groupadd命令

groupadd 选项 用户组[用户组添加后,将用户进行组赋予用chown和chgrp指令]

能使用的选项有:
-g GID 指定新用户组的组标识号(GID)。
-o 一般和-g选项同时使用,表示新用户组的GID能和系统已有用户组的GID相同。
例1:

groupadd group1

此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
例2:

groupadd -g 101 group2

此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

2、如果要删除一个已有的用户组,使用groupdel命令

groupdel 用户组

例如:

groupdel group1

此命令从系统中删除组group1。

3、修改用户组的属性使用groupmod命令

groupmod 选项 用户组

常用的选项有:

-g GID 为用户组指定新的组标识号。
-o 和-g选项同时使用,用户组的新GID能和系统已有用户组的GID相同。
-n 新用户组 将用户组的名字改为新名字

例1:

groupmod -g 102 group2

此命令将组group2的组标识号修改为102。
例2:

groupmod -g 10000 -n group3 group2

此命令将组group2的标识号改为10000,组名修改为group3。

4、一个用户同时属于多个用户组

如果一个用户同时属于多个用户组,那么用户能在用户组之间转换,以便具有其他用户组的权限。用户能在登录后,使用命令newgrp转换到其他用户组,这个命令的参数就是目的用户组。
例如:

newgrp root

这条命令将当前用户转换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也能通过集成的系统管理工具来完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾醒(AiXing-w)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值