系统相关
首页 > 系统相关> > linux用户及组相关文件介绍

linux用户及组相关文件介绍

作者:互联网

/与用户相关的配置文件:/etc/passwd:  #用户的配置文件, 保存用户账户的基本信息
                                          /etc/shadow  #用户影子口令文件

一、用户帐号文件——passwd

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

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

                                                                                                                username:password:uid:gid:userinfo:home:shell

 

各个域的含义如下所示                        

                                                                                                                                            “/etc/passwd”文件中域的含义

含义
username 登录名
password 加密的用户口令
uid 用户ID
gid 用户组ID
userinfo 用户信息
home 分配给用户的主目录
shell 用户登录后将执行的shell(若为空格则默认为“/bin/sh”)

下面是一个实际用户的例子。

user1:x:500:500: user1:/home/user1:/bin/bash

那么该用户的基本信息如下所示。

1.登录名:user1。

2.加密的口令表示:x。

3.UID:500。

4.GID:500。

5.用户信息:user1.

6.用户主目录:“/home/user1”。

7.登录后执行的shell:“/bin/bash”。

//任何拥有0值UID的用户都具有root用户访问权限。

 

二、用户影子文件——shadow

1.针对恶意用户取得“/etc/passwd”文件,linux系统目前广泛采用“shadow(影子)文件”机制,将加密的口令转移到“/etc/shadow”文件里。“/etc/shadow文件”只为root超级用户可读,而相应的“/etc/passwd”

文件的密文域显示为一个“x”,从而最大限度地减少了密文泄露的机会。

2.和“/etc/passwd”类似,“/etc/shadow”文件中每条记录用冒号“:”分隔,形成9个域,格式如下:

                                                                                                                          username:password:lastchg:min:max:warn:inactive:expire:flag

各个域含义如下所示: 

                                                                                                                                            “/etc/shadow”文件中域的含义

含义
username 用户登陆名
password 加密的用户口令
lastchg 表示从1970年1月1日期到上次修改口令所经过的天数
min 表示俩次修改口令之间至少经过的天数
max 表示口令还会有效的最大天数,如果是99999则表示永不过期
warn      表示口令失效前多少天内系统向用户发出警告
inactive 表示禁止登录前用户名还有效的天数
expire 表示用户被禁止登录的时间
flag 保留域

//有域未被定义以:表示

 

三、用户帐号文件——group和gshadow

1.“/etc/passwd”文件包含在每个用户组ID(GID),在“/etc/passwd”文件中寻找同组用户较费时。“/etc/grop”文件包含关于用户组信息,“/etc/grop”提供了一个比较快捷的寻找途径。

2.在“/etc/passwd”中每个GID在“/etc/grop”中都应该有相应的项列出用户组和其他的用户。

2.“/etc/group”文件记录格式如下所示:

                                                                   group_name:group_password:group_id:group_members

各个域的含义如下

                                                                                                                                             “/etc/group”的域及其含义 

 域 含义
group_name 用户组名
group_password 加密后的用户组口令
group_id

用户组ID(GID)

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

 

 

和用户帐号文件passwd一样,为了应对黑客对其实行的暴力攻击,用户组文件也采用一种将组口令的其他信息相分离的安全机制——gshadow。

“/etc/gshadow”文件记录格式如下:

                                                group_name:group_password: group_members

其中各个域的含义如下

                                                                                                                                         “/etc/gshadow”的域及其含义

含义
group_name 用户组名
group_password 加密后的用户组口令
group_members 以逗号分隔的成员用户清单

 

 

 

四、pwck和grpck命令

1.pwck命令:作用是检验“/etc/passwd”和“/etc/shadow”每个域的格式及数据的正确性,并对二者的一致性进行校验。如果错误,系统将提示用户对出现错误的数据项进行修改或删除。

2.grpck命令:作用是检验“/etc/group”和“/etc/gshadow”数据项中每个域的格式及其数据的正确性,并对组帐号文件“/etc/group”及其影子文件“/etc/gshadow”的一致性进行校验。如果错误,系统将提示用户对出现错误的数据项进行修改或删除。

 

 

五、linux用户管理命令

1.useradd  添加用户

  当使用useradd命令不加参数选项,后面直接跟所添加的用户名时,系统首先会读取配置文件/etc/login.defs和/etc/default/useradd文件中所配置的信息建立用户的家目录,并复制/etc/skel中的所有文件(包括隐藏的环境配置文件)到新用户的家目录中。

  useradd语法

 

[root@localhost ~]# man useradd
NAME
       useradd - create a new user or update default new user information
SYNOPSIS
       useradd [options] LOGIN
       useradd -D

       useradd -D [options]

 

 

 

 

 

 

命令选项

 

-c comment :新账户的password的说明栏  
   -u:  指定 UID 标记号。这个值是唯一的,除非用-o选项。数字不可为负值
    -d:  指定宿主目录,缺省为 /home/用户名
    -e:  指定帐号失效时间
  -f:   账户过期几天后永久停权。
    -g:  指定所属的基本组(组名或GID)
    -G:  指定所属的附加组(组名或GID)
  -m:   用户目录如不存在则自动建立。
    -M:  不为用户建立并初始化宿主目录。优先于/etc/login.defs文件的设定。
  -n:   默认情况下,用户的用户组和用户的名称会相同,如果命令加了-n参数,就不会生成和用户同名的用户组
  -r:   用来建立系统账户。系统账户的UID会比定义在/etc/login.defs的UID_MIN来的小。
    -s:  指定用户的登录Shell

 

 

 

 

 

 

 

 

 

  passwd      设置密码

 普通用户和超级用户都可以运行passwd命令,但普通用户只能更改自身的用户密码。超级用户则可以设置或修改所有用户的密码

当直接passwd命令后面不接任何参数或用户名时,则表示修改当前登陆用户的密码。

 

复制代码 复制代码 复制代码
   -d    清空密码,仅root能操作
  -f  强制操作,仅root能操作
  -k  保留即将过期的用户在期满后仍能使用
-l 锁定用户账户;锁定用户无权更改其密码,仅root能操作 -S 查看用户账户的状态 -u 解锁用户账户;仅root能操作 --stdin 从标准输入取密码
复制代码 复制代码

 

 

修改用户密码有效期:chage

语法:

格式:chage [选项] 用户名

常用命令选项:

复制代码 复制代码 复制代码
 -d:将最近一次密码设置时间设置为"最近时间"
-E:指定账号过期时间,YYYY-MM-DD -I:指定当密码失效后多少天锁定账号; -l:列出密码有效期信息 -m:指定密码的最小天数 -M:指定密码的最大天数
-W:将过期警告天数设置为"警告天数"
复制代码 复制代码 复制代码

 

id:查看用户的帐号属性信息

 

    -u:只看UID
    -g:只看gid
    -G:只看GID
    -n:看名字,与其他选项连用

 

userdel     删除账户

 

 -r    连同主目录一起删除

 

添加组账号groupadd命令

 

格式:groupadd [-g GID] 组名

 

选项:

 

-g gid:指定组ID号。
-o:允许组ID号,不必惟一。
-r:添加系统组,低于499系统账号。

 

删除用户组groupdel命令

 

 

格式:groupdel 组名
删除的目标组不能是用户的基本组

 

gpasswd命令    管理组

 

语法:

格式:gpasswd [选项] 组名

 

选项:

    -A    定义组管理员列表
    -a    添加组成员,每次只能加一个
    -d    删除组成员,每次只能删一个
    -M    定义组成员列表,可设置多个,用“,”分开——定义的组成员必须是已存在用户的
    -r    移除密码

 

 

切换所属基本组newgrp命令

 

newgrp GRPNAME <--> exit  //临时切换属组

 

查看用户的组信息


groups 命令

 

格式:groups [用户名]

 



groupmod:更改群组和名称

   

  -g GID
    -n GRPNAME

 


修改用户账号的属性

 

语法:

格式:usermod [选项] 用户名

 

常用命令选项:

 

复制代码 复制代码 复制代码
-c:指定注释信息
-d -m:-d一般跟-m使用,既指定新的家目录位置,又移动其此前的文件至新的家目录当中
 -e:指定账号失效时间
-g:指定所属的基本组(组名或GID)
-a -G GID:不使用-a选项,会覆盖此前的附加组;
-l:更改用户账号的登陆名称
 -L:锁定用户账号
-s:指定用户登录Shell
-u:指定UID标志号
-U:解锁用户账号

标签:文件,group,passwd,用户组,用户,etc,linux,及组
来源: https://www.cnblogs.com/pengxs/p/13939498.html