在linux中与用户有关的文件,Linux用户与用户组管理

Linux用户与用户组管理相关命令与用户相关的配置文件:

/etc/passwd:  用户的配置文件, 保存用户账户的基本信息;

/etc/shadow : 用户影子口令文件;

/etc/group和/etc/gshadow : 用户组账号文件.

一,passwd用户账号文件

1.“/etc/passwd”文件是UNIX安全的关键文件之一。该文件用于用户登录时效验用户的登录名、加密的口令数据项、用户ID(UID)、默认的用户组ID(GID)、用户信息、用户主目录及登录后使用的shell。

2.“/etc/passwd”文件的每一行保存一个用户的资料,而用户数据按域以冒号“ :”分隔。

/etc/passwd文件中域的含义

d989932479ab86db18c01193b97bd5d4.png

-d:删除密码,仅有系统管理者才能使用;

-f:强制执行;

-k:设置只有在密码过期失效后,方能更新;

-l:锁住密码;

-s:列出密码的相关信息,仅有系统管理者才能使用;

-u:解开已上锁的帐号。

二,shadow用户影子文件

与Linux /etc/passwd文件不同,Linux /etc/shadow文件是只有系统管理员才有权利进行查看和修改的文件,系统管理员应该弄明白Linux /etc/shadow文件中每个字符段的相应的意义,清楚管理时的具体意义。

Linux /etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用“:”隔开。这些字段是:

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志。

1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号

2)“口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。

3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。

4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。

5)“最大时间间隔”指的是口令保持有效的最大天数。

6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。

7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。

8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

/etc/shadow文件中域的含义

含义

username

用户登录名

password

加密的用户口令

lastchg

表示从1970年1月1日起到上次修改口令所经过的天数

min

表示两次修改口令之间至少经过的天数

max

表示口令还会有效的最大天数,如果是99999则表示永不过期

warn

表示口令失效前多少天内系统向用户发出警告

inactive

表示禁止用户登录前用户名还有效的天数

expire

表示用户禁止登录的时间

flag

保留域,暂未使用

shadow 是 passwd 的影子文件。

在linux中,口令文件在/etc/passwd中,早期的这个文件直接存放加密后的密码,前两位是"盐"值,是一个随机数,后面跟的是加密的密码。为了安全,现在的linux都提供了 /etc/shadow这个影子文件,密码放在这个文件里面,并且是只有root可读的。

/etc/passwd文件的每个条目有7个域,分别是名字:密码:用户id:组id:用户信息:主目录:shell

例如:ynguo:x:509:510::/home/ynguo:/bin/bash

在利用了shadow文件的情况下,密码用一个x表示,普通用户看不到任何密码信息。影子口令文件保存加密的口令;/etc/passwd文件中的密码全部变成x。Shadow只能是root可读,从而保证了安全。

/etc/shadow文件每一行的格式如下:用户名:加密口令:上一次修改的时间(从1970年1月1日起的天数):口令在两次修改间的最小天数:口令修改之前向用户发出警告的天数:口令终止后账号被禁用的天数:从1970年1月1日起账号被禁用的天数:保留域。

三,group和gshadow用户组账号文件

1,group文件

/ect/group 文件是用户组配置文件,即用户组的所有信息都存放在此文件中。

/etc/group 文件的内容可以通过 Vim 看到:

[root@localhost ~]#vim /etc/group

root:x:0:

bin:x:1:bin,daemon

daemon:x:2:bin,daemon

…省略部分输出…

lamp:x:502:

可以看到,此文件中每一行各代表一个用户组。在前面章节中,我们曾创建 lamp 用户,系统默认生成一个 lamp 用户组,在此可以看到,此用户组的 GID 为 502,目前它仅作为 lamp 用户的初始组。

各用户组中,还是以 ":" 作为字段之间的分隔符,分为 4 个字段,每个字段对应的含义为:

组名:密码:GID:该用户组中的用户列表。

/etc/group的域及其含义

含义

group-name

用户组名

group-password

加密后的用户组名

group-id

用户组ID(GID)

group-members

以逗号分隔的成员用户清单

2,gshadow文件

我们借助 Vim 命令查看一下此文件中的内容:

[root@localhost ~]#vim /etc/gshadow

root:::

bin:::bin, daemon

daemon:::bin, daemon

...省略部分输出...

lamp:!::

文件中,每行代表一个组用户的密码信息,各行信息用 ":" 作为分隔符分为 4 个字段,每个字段的含义如下:

组名:加密密码:组管理员:组附加用户列表

/etc/gshadow的域及其含义

含义

group-name

用户组名

group-password

加密后的用户口令

group-members

以逗号分隔的成员用户清单

四,使用命令方式行方式管理用户和组

1,使用user add命令添加用户

useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

选项含义

-u UID

手工指定用户的 UID,注意 UID 的范围(不要小于 500)。

-d 主目录

手工指定用户的主目录。主目录必须写绝对路径,而且如果需要手工指定主目录,则一定要注意权限;

-c 用户说明

手工指定/etc/passwd文件中各用户信息中第 5 个字段的描述性内容,可随意配置;

-g 组名

手工指定用户的初始组。一般以和用户名相同的组作为用户的初始组,在创建用户时会默认建立初始组。一旦手动指定,则系统将不会在创建此默认的初始组目录。

-G 组名

指定用户的附加组。我们把用户加入其他组,一般都使用附加组;

-s shell

手工指定用户的登录 Shell,默认是 /bin/bash;

-e 曰期

指定用户的失效曰期,格式为 "YYYY-MM-DD"。也就是 /etc/shadow 文件的第八个字段;

-o

允许创建的用户的 UID 相同。例如,执行 "useradd -u 0 -o usertest" 命令建立用户 usertest,它的 UID 和 root 用户的 UID 相同,都是 0;

-m

建立用户时强制建立用户的家目录。在建立系统用户时,该选项是默认的;

-r

创建系统用户,也就是 UID 在 1~499 之间,供系统程序使用的用户。由于系统用户主要用于运行系统所需服务的权限配置,因此系统用户的创建默认不会创建主目录。

2,使用usermod命令修改用户信息

usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。你需手动更改使用者的crontab档。也需手动更改使用者的at工作档。采用NIS server须在server上更动相关的NIS设定。

usermod命令选项:

-c 用户说明:修改用户的说明信息,即修改 /etc/passwd 文件目标用户信息的第 5 个字段;

-d 主目录:修改用户的主目录,即修改 /etc/passwd 文件中目标用户信息的第 6 个字段,需要注意的是,主目录必须写绝对路径;

-e 日期:修改用户的失效曰期,格式为 "YYYY-MM-DD",即修改 /etc/shadow 文件目标用户密码信息的第 8 个字段;

-g 组名:修改用户的初始组,即修改 /etc/passwd 文件目标用户信息的第 4 个字段(GID);

-u UID:修改用户的UID,即修改 /etc/passwd 文件目标用户信息的第 3 个字段(UID);

-G 组名:修改用户的附加组,其实就是把用户加入其他用户组,即修改 /etc/group 文件;

-l 用户名:修改用户名称;

-L:临时锁定用户(Lock);

-U:解锁用户(Unlock),和 -L 对应;

-s shell:修改用户的登录 Shell,默认是 /bin/bash。

3,使用userdel命令删除用户

userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。

userdel命令选项

-f:强制删除用户,即使用户当前已登录;

-r:删除用户的同时,删除与用户相关的所有文件。

4,使用groupadd命令创建用户组

groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。

groupadd命令选项

-g:指定新建工作组的id;

-r:创建系统工作组,系统工作组的组ID小于500;

-K:覆盖配置文件“/ect/login.defs”;

-o:允许添加组ID号不唯一的工作组。

5,使用groupmod命令修改用户组属性

groupmod命令更改群组识别码或名称。需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。

groupmod命令选项

-g:设置欲使用的群组识别码;

-o:重复使用群组识别码;

-n:设置欲使用的群组名称

6,使用groupdel命令删除用户组

groupdel命令用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。

标签:文件,passwd,用户组,用户,口令,etc,Linux

来源: https://www.cnblogs.com/XulinTvT/p/14085721.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值