跟用户、用户组相关的4个文件

  • 4个文件跟用户、组密切相关:

(本文以centos7为实验版本)

存放用户信息的文件:

/etc/passwd    ##存放用户名称、shell等信息
/etc/shadow    ##存放用户密码等信息

存放用户组信息的文件:

/etc/group  ##存放组名等信息
/etc/gshadow  ##存放组密码等信息

下面我们一一介绍这四个文件

  • /etc/passwd

此文件下有什么,我们通过其中两条内容来说明

[[email protected] ~]#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash  ##root用户
bin:x:1:1:bin:/bin:/sbin/nologin  ##系统用户
user2:x:2005:2005::/home/user2:/bin/bash  ##普通用户

每一行表示一个用户;

每一行有7个字段,以:隔开;

从左至右每个字段含义:

1、用户名

2、密码(passwd文件已经不存放密码,x只是个符号而已)

3、UID(用户ID,root的UID是0,系统用户UID是1,普通用户UID是2005)

4、GID(用户所属主组ID)

5、描述信息

6、用户家目录

7、用户shell程序类型

下面针对每个字段(除了2字段)我们分别做个实验说明,以user2用户为例:

修改用户名

[[email protected] ~]#usermod -l user22  user2  ##参数-l,是修改用户名字
[[email protected] ~]#getent passwd user22  ##getent命令是获取指定文本内容,本例中就是仅获取文件passwd中的user22信息
user22:x:2005:2005::/home/user2:/bin/bash   ##用户名变了,但是其他信息没变

修改用户ID

[[email protected] ~]#usermod -u 2006 user22  ##-u指定UID,原来是2005现在改成2006
[[email protected] ~]#getent passwd user22
user22:x:2006:2005::/home/user2:/bin/bash

修改组ID

[[email protected] ~]#groupmod -g 2006 user2  ##user2是组名,前面只是修改了用户名,并未修改组名
[[email protected] ~]#getent passwd user22
user22:x:2006:2006::/home/user2:/bin/bash   ##GID变成2006

修改描述信息

[[email protected] ~]#chfn user22  ##chfn是修改描述信息专用命令
Changing finger information for user22.
Name []: user22
Office []: china 
Office Phone []: 10080
Home Phone []: 10010
Finger information changed.
[[email protected] ~]#getent passwd user22
user22:x:2006:2006:user22,china,10080,10010:/home/user2:/bin/bash   ##按照chfn对应的格式填写描述信息

修改用户家目录,默认家目录在/home下

[[email protected] app]#usermod -d /app/user22 -m user22
[[email protected] app]#getent passwd user22
user22:x:2006:2006:user22,china,10086,10010:/app/user22:/bin/bash  ##用户家目录变成了/app/user22

修改用户shell程序类型,默认是bash

[[email protected] app]#
[[email protected] app]#chsh -s /bin/csh user22
Changing shell for user22.
Shell changed.
[[email protected] app]#getent passwd user22
user22:x:2006:2006:user22,china,10086,10010:/app/user22:/bin/csh  ## 将bash改成了csh

以上是关于/etc/passwd的分析

  • /etc/shadow

此文件也是一行一个用户,我们举例分析

[[email protected] app]#cat /etc/shadow
aaa:$6$ORtBaa7L$gdkboYX2A5vx6.F.8OPc5kDjPtHFqDQIL2mtix06k15t9C1.ZdoFrIHXP0tlLfMBzPhohL1LM.6uKgxEzA1OO/:17369:0:99999:7:::

9个字段,每个字段以:分开;

各个字段含义如下:

1、用户名

2、加密密码($6表示使用sha512加密)

3、最近一次更改口令的时间,以1970年1月1号为起始时间,单位是天

4、密码最短有效期

5、密码最长有效期

6、密码过期前几天提醒用户

7、密码过期后几天会被锁定,无法登陆

8、从1970年1月1日算起,多少天用户的账户会被锁定,无法使用

9、保留

  • /etc/group

此文件是存放组信息,一行一个组

[[email protected] app]#cat /etc/group
aaa:x:2007:

4个字段,用:隔开;

1、组名

2、组密码(x只是标记而已,真正密码存在gshadow文件里)

3、组ID(GID)

4、此组包含的用户(此组是这些用户的辅助组)

为user22添加辅助组aaa

[[email protected] app]#usermod -G aaa user22  ##-G是列出账户的辅助组
[[email protected] app]#getent group aaa
aaa:x:2007:user22
[[email protected] app]#id user22  ##查看user22所属的组,其中user2是主组,aaa是其辅助组
uid=2006(user22) gid=2006(user2) groups=2006(user2),2007(aaa)
  • /etc/gshadow

此文件存放用户组的密码信息,每行一个用户组

[[email protected] app]#getent gshadow
aaa:!::user22

4个字段,每个字段以:分开;

各字段含义如下:

1、组ID

2、组密码(!表示此组被锁定,组内成员可以不需要密码直接进入,其他人则不被允许)

3、管理员列表,可以管理组密码和成员,可设置多个管理员并以逗号隔开

4、以此组为辅助组的成员列表,也是以逗号隔开(这些成员默认是与group中的成员一致)

在centos6中,普通用户的UID和GID默认是从500-60000

在centos7中,普通用户的UID和GID默认是从1000-60000

具体信息可参考以下命令:

cat /etc/login.defs

至此4个文件大致整理完了,有不足的地方请多多指教!

时间: 2024-10-08 04:38:21

跟用户、用户组相关的4个文件的相关文章

Linux 用户 用户组 相关命令

Linux添加用户(user)到用户组(group) 将一个用户添加到用户组中,千万不能直接用: usermod -G groupA 这样做会使你离开其他用户组,仅仅做为 这个用户组 groupA 的成员. 应该用 加上 -a 选项: usermod -a -G groupA user (FC4: usermod -G groupA,groupB,groupC user)-a 代表 append, 也就是 将自己添加到 用户组groupA 中,而不必离开 其他用户组. 从用户组中删除某用户 从w

用户和用户组相关的配置文件

用户和用户组相关的配置文件 一.与用户相关的配置文件 一般来说,与用户配置相关的几个文件如下: l  /etc/passwd: 最重要的文件,存储着用户的用户名,UID,Shell等信息 l  /etc/shadow: 用户密码文件,使用sha-1算法加密存储(注意该文件的权限) l  /etc/skel/: 用户的模板文件,新建用户如果创建家目录,会默认将改目录下文件拷贝至用户家目录 l  /etc/login.defs: 登录用户的相关配置(部分环境变量),通常无需改动       1./e

linux每日命令(30):Linux 用户及用户组相关文件、命令详解

阅读目录(Content) 一. 用户.用户组概念及其文件结构详解 二. 常用的用户.用户组shell命令 用户相关命令 useradd userdel usermod passwd 用户组相关命令 groupadd groupdel groupmod 三. 综合示例 1.建立两个用户组group1和group2,以及三个用户dennis.daniel.abigale,并且将前2个用户分配在group1用户组下,后一个分配在group2用户组下,并给dennis设置密码 2.改变abigale的

linux 学习7 用户管理相关文件 r

7.1.用户配置文件 7.2.用户管理相关文件 7.3.用户管理命令 7.4.用户组管理命令 删除用户userdel [[email protected] ~]# userdel [-r] 用户名 //一定要加上-r, 删除家目录 除了用命令修改,还可以直接在文件中修改,更直接,不容易写错.本来命令的执行也是为了写到文件里 用户的初始组是和用户绑定在一起的,一般不建议修改. ----------------------------------- 7.1.1 用户信息文件/etc/passwd 7

Linux手动添加用户、相关文件说明

手动添加用户 顺序 更改/etc/passwd 更改/etc/group 更改/etc/shadow并添加密码 新建家目录并修改权限和属性 装修家目录/etc/skel/.bash* 也可以再改下组的密码文件/etc/gshadow 检查工具pwck , grpck , pwconv pwck:检查用户密码文件的完整性(/etc/passwd以及/etc/shadow文件). 用法:pwck [-q] [-s] [passwd [ shadow ]] pwck [-q] [-r] [passwd

10、自学——Linux的学习进度与任务【用户和用户组相关操作】

用户和用户组相关操作 用户和用户组定义: 用户:资源获取标识符(资源分配),是安全权限模型的可信要素之一 用户组:用户组是指多个用户的集合,方便对一类需要同样权限的用户授权   密码:用户认证  Linux是多用户.多任务的操作系统.  多用户指:多人同时使用系统资源:多任务:同时运行多个进程 用户和用户组的类别: 1.用户:名称解析库 /etc/passwd a.管理员 root 用户标识(UID)为0 b.普通用户及系统用户  普通用户的用户标识(既UID):   CentOS 5,6: 5

用户配置相关文件

用户配置相关文件小总结 /etc/passwd         记录用户相关的信息 /etc/shadow         密码影子文件 /etc/group          记录用户组相关的信息 /etc/gshadow         密码影子文件(组密码) /etc/passwd  文件中各段的内容 第1段:用户名 第2段:密码占位符,真正的密码在/etc/shadow文件中 第3段:用户的UID(用户ID) 0:超级用户        若将普通用户的ID变为0,则该用户拥有超级用户的权

linux 学习7 用户管理相关文件

7.1.用户配置文件7.2.用户管理相关文件7.3.用户管理命令7.4.用户组管理命令 删除用户userdel [[email protected] ~]# userdel [-r] 用户名 //一定要加上-r, 删除家目录除了用命令修改,还可以直接在文件中修改,更直接,不容易写错.本来命令的执行也是为了写到文件里用户的初始组是和用户绑定在一起的,一般不建议修改.----------------------------------- 7.1.1 用户信息文件/etc/passwd7.1.2 影子

Linux用户信息文件和用户信息相关文件

01.用户信息文件  =>  /etc/passwd root:x:0:0:root:/root:/bin/bash 字段解析: (用户名称):(密码标识):(用户ID):(用户组ID):(说明信息):(家目录):(登入之后的shell解释器) 第一字段:用户名称 第二字段(x):密码标志 第三字段:UID ( 用户ID ) 0:   超级用户 1-499:  系统用户(伪用户) 500-65535: 普通用户 第四字段:GID (用户初始组ID) 初始组:指用户一登录就立刻拥有这个用户的相关权