Linux用户和组的基本概念和配置

用户和组的基本概念


用户分为三类

  1. 管理员(root) uid=0

  2. 系统用户(运行进程) uid>0, <=499 

  3. 普通用户 uid >=500


用户和组需要的相关文件

  1. 用户账号信息: /etc/passwd

  2. 用户密码信息: /etc/shadow

  3. 组账号信息: /etc/group

  4. 组密码信息: /etc/gshadow, 组密码只有在newgrp 切换的时候有用



所有文件格式说明

/etc/passwd

[root@CentOS02 ~]# tail /etc/passwd
named:x:53:53::/home/named:/bin/bash
joice:x:504:505::/home/joice:/bin/bash
apache:x:48:48:Apache:/var/www:/sbin/nologin
alex:x:1234:1234::/home/alex:/bin/bash

以第一行named为例

named: 用户登录名

x: 密码占位符

53: uid

53: 基本组gid

空: 注释信息

/home/named:家目录

/bin/bash: 登录时启动的shell程序 (/sbin/nologin一般是系统用户登录)


/etc/shadow

[root@CentOS02 ~]# tail /etc/shadow
named:!!:16667::::::
harry:$6$lRR836lh$boqHmrq7ivCTjhK.oqjTs1qm.iYetyWL/91V6NDeIbP3dPo/E5nsBpPmcoWEm6ZOOo9yTxo20T8MvNnyRuXgs0:16667:0:99999:7:::

以第二行为例

harry: 用户登录名

$6$lRR836...: 密码MD5 128bit加密后结果

16667: 密码上一次修改时间,单位为天, 从linux元年1970开始计算

0:最短密码修改间隔

99999:密码最长修改间隔

7: 密码过期前7天提醒重设密码

下个空白: 过期后的宽限期

下个空白: 账号过期的时间,从linux元年计算

下个空白: 保留


/etc/group

[root@CentOS02 ~]# tail /etc/group
robbie:x:506:
apache:x:48:

以第一行为例

robbie: 组名

x:密码占位符

506: gid

最后一个空位: 这个组的成员

注意:组成员只是用户的附加组是这个组


/etc/gshadow

[root@CentOS02 ~]# tail /etc/gshadow
robbie:!::
apache:!::

以第一行为例

robbie: 组名

!: 密码, !因为没有设置密码

下个空白: 组管理员, 可以修改组密码和添加删除成员

下个空白:组成员.和/etc/group中的类似


用户和组的基本配置命令

useradd: 添加用户

groupadd: 添加组

usermod:修改用户

groupmod: 修改组

userdel: 删除用户

groupdel: 删除组


passwd: 设定用户密码

gpasswd: 设定组密码


chsh: 修改用户登录shell

chfn: 修改用户comment的详细内容

chage: 修改密码过期信息


newgroup: 临时切换当前用户的基本组

id:查看用户和组的信息



useradd 参数 用户名

参数说明

  • -u: 设置uid

  • -g: 基本组id

  • -G: 附加组id

  • -c: 注释

  • -d: 家目录

  • -s: 用户启动默认shell

  • -M: 不用设置家目录

  • -r: 自动创建系统用户, 不会添加家目录

说明: 使用-d时若目录已经自己建好了,会有系统警告,因为目录的权限不对, 默认的权限 rwx------ USERNAME USERNAME


groupadd 参数 组名

参数说明

  • -g: 设置gid

  • -r: 系统组 


usermod 参数 用户名

参数说明:

  • -u: 设置uid

  • -g: 基本组id

  • -G: 附加组id

  • -c: 注释

  • -d: 修改家目录, 但不会自动创建 和 -m一起用可以创建家目录并且添加原有的文件

  • -s: 用户启动默认shell

  • -l : 修改登录用户名

  • -L: 锁定用户

  • -U: 解锁用户

说明:要添加附加组是用选项-a, 否则会覆盖所有已有的附加组


groupmod 参数 组名

参数说明:

  • -g : 设置新的gid

  • -n: 新的组名


userdel 用户名

参数

  • -r: 家目录也同时删除


groupdel 组名


passwd

管理员: passwd 用户名

一般用户: passwd

说明:管理员可以重置所有用户密码, 一般用户只能重置自己密码.

重置密码快捷方式 echo newpassword | passwd stdin USER &> /dev/null


gpasswd

同上面passwd用法


chsh 用户名


chfn 用户名


chage 参数 用户名

参数:

  • -d:修改"上次密码修改的时间"单位为天, 从1970 7月1日算

  • -E: 修改密码过期时间, 单位为天, 从1970 7月1日算

  • -I: 密码过期后依然活动的天数 

  • -l: 显示密码所有时间信息

  • -m: 最小修改时间间隔

  • -M: 做大修改时间间隔

  • -W: 过期时前警告时间天数


newgrp 要设为基本组的组名

完成后用exit切换回去

你可能感兴趣的:(linux,用户和组)