linux之账户管理


用户

在linux中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的。

/etc/passwd:保存用户帐号和其相关信息(密码除外)。
/etc/shadow:保存用户的密码信息。
/etc/group:保存用户组的所有信息。
/etc/gshadow:保存用户组的密码信息。

在passwd文件中,一行定义一个用户帐号,每行均由多个不同的字段构成,各字段值间用":”分隔,每个字段均代表该帐号某方面的信息。在刚安装完成的linux系统中,passwd配置文件已有很多帐号信息了,这些帐号是由系统自动创建的,他们是linux进程或部分服务程序正常工作所需要使用的账户,这些账户的最后一个字段的值一般为/sbin/nologin,表示该帐号不能用来登录linux系统。

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

在passwd配置文件中,

从左至右各字段的对应关系及其含义:

root:x:0:0:root:/root:/bin/bash

第一字段:用户名(也被称为登录名)。

第二字段:口令;由于passwd不再保存密码信息,所以用x占位代表。

第三字段:用户id(UID)。

第四字段:用户组id(GID)。

第五字段:用户名全称,这是可选的,可以不设置。

第六字段:用户的主目录所在位置。

第七字段:用户所用shell的类型。

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

在shadow配置文件中,

从左至右各字段的对应关系及其含义:

root:$6$D2MTcvb$JVtbwYZZGCZpj.aGtCVjNUuijpnlaexEWDlkcmUGN9CpkIFjZvpF/cLhnzoxWi5qRjaarQZbaqX85MQguykAl/:16125:0:99999:7:::

第一字段:用户名(也被称为登录名),和/etc/passwd是相同的,这样就把passwd 和shadow中用的用户记录联系在一起;这个字段是非空的;

第二字段:密码(已被加密),如果是有些用户在这段是*,表示这个用户不能登录到系统;这个字段是非空的;

第三字段:上次修改密码的时间;这个时间是从1970年01月01日算起到最近一次修改密码的时间间隔(天数);

第四字段:两次修改密码间隔最少的天数;如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令;

第五字段:两次修改密码间隔最多的天数;这个能增强管理员管理用户口令的时效性;

第六字段:提前多少天警告用户密码将过期;当用户登录系统后,系统登录程序提醒用户口令将要作废;

第七字段:在密码过期之后多少天禁用此用户;

第八字段:用户失效日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;

第九字段:保留字段,目前为空;

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

用户组

在group配置文件中,

从左至右各字段的对应关系及其含义:

root:x:0:

第一字段:是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。

第二字段:字段存放的是用户组加密后的密码。一般为是x,因为密码存在/etc/gshadow。

第三字段:与用户标识号类似,也是一个整数,被系统内部用来标识组。

第四字段:是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

在gshadow配置文件中,

从左至右各字段的对应关系及其含义:

root:*::

第一字段:是用户组的名称,由字母或数字构成。与/etc/group中的登录名一样。

第二字段:字段存放的是用户组加密后的密码。如果开头为!表示无合法密码。

第三字段:用户组管理员的所属帐号。

第四字段:该用户组所属帐号。与/etc/group中的一样

一个账户可以有多个用户组,当前时刻所属的用户组成为有效用户组。

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

查询当前有效用户组:

~$ groups

zsp adm cdrom sudo dip plugdev lpadmin sambashare

此时创建的文件的用户组就所属有效用户组zsp。

更改有效用户组:

~$ newgrp test
~$ groups
test zsp adm cdrom sudo dip plugdev lpadmin sambashare

第一个列出的就是当前有效用户组

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

/etc/sudoers

除了 root 之外的其他账号,若想要使用 sudo 运行属于 root 的权限命令,则root 需要先使用 visudo 去修改 /etc/sudoers ,让该账号能够使用全部或部分的 root 命令功能。

root ALL=(ALL:ALL) ALL

第一字段:系统的哪个账号可以使用 sudo 这个命令的意思,默认为 root 这个账号;

第二字段:当这个账号由哪部主机联机到本 Linux 主机, 这个配置值可以指定客户端计算机。默认值 root 可来自任何一部网络主机

第三字段:这个账号可以切换成什么身份来下达后续的命令,默认 root 可以切换成任何人;

第四字段:可用该身份使用的命令。

默认 root 可以切换任何身份且进行任何命令之意。

ALL 是特殊的关键词,代表任何身份、主机或命令的意思

相关内容