Linux用户,用户组相关

admin 2024-9-1 8 9/1

关于用户和用户组

Linux系统上每个进程都是作为特定的用户运行

每个文件是由一个用户特定拥有

访问文件和目录受到用户的限制

用户和用户组查看

#用于显示用户的id以及所属群组的id
[root@serve1 ~]# id
uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
选项(了解)
-g 显示用户所属群组id
-G 显示用户所属附加群组的id
-r 显示实际id
-u 显示用户id

UID

#uid的约定
0 超级管理员用户也就是root用户
1~999 系统用户 ,约束系统服务
1000+ 普通用户,登录使用Linux操作

相关文件

1.passwd文件

用于保存用户的信息

[root@localhost ~]# head -n 1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
# 这个格式为用户名:密码:uid:gid:描述:家目录:登陆后执行的命令

2.shadow文件

用于存放用户的密码和密码有效期的文件

[root@localhost ~]# head -n 1 /etc/shadow
root:$6$frokclXSnQa8EbKs$pWElbjPlmxjYh30tr8qLsTQVOhuPg7GmW9Sanm2yXAK8TNMgje1gyc/vwPgqvmSMf6VaoEvveM0gFvtETmXy/.::0:99999:7:::
# 这个格式为用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

3.group文件

用于存放用户和组的对应关系文件

[root@localhost ~]# head -n 1 /etc/group
root:x:0:
# 这个格式是组名:口令:组标识号:组内用户列表

用户管理

添加用户

useradd 选项 用户名
选项
-c 指定一段注释性描述
-d 目录 指定用户主目录,如果此目录不存在,可以使用-m创建主目录
-m 创建用户主目录
-g 用户组 指定用户所属的用户组
-G 用户组 指定用户所属的附加组
-s shell文件 指定用户的登录shell
-u 用户号 指定用户登录的用户号,如果同时有-o选项,则可以重复使用其他用户的用户号。
#实例
添加用户并指定用户组
[root@localhost ~]# useradd -g root user02
添加用户并指定home目录
[root@localhost ~]# useradd -d /home/test user03
建立一个不可以登录的用户
[root@localhost ~]# useradd -s /sbin/nologin user04

修改用户

#usermod
usermod用于修改用户账号以及修改用户账户的各项设定。
选项
-c <备注> 修改用户账户的备注文字
-a 追加,默认的修改是覆盖
-d 目录 修改用户登录的目录
-e 有效期限 :修改账号的有效期限
-f 缓冲天数 :修改在密码过期后多少天关闭该账号
-g 群组 :修改用户所属的群组
-G 群组 :修改用户附加的群组
-l 账号名称:修改用户的账号名称
-s :修改用户登录后的shell
-u :修改用户的id
-U :解除密码锁定

删除用户

#userdel
userdel用户删除用户账号,如果不加参数,仅仅删除用户的账号不会删除账号的相关文件。
-r 删除用户登录目录以及目录中的所有文件
不使用-r参数,不删除用户的相关文件,并且这些文件还会被其他新创建的用户id相同的用户继承。
问:会出现一个没有属主没有属组的文件的情况吗?
会的,删除用户不彻底,没有使用-r的参数,没被删除掉的文件可能会出现没有属主没有属组的情况。

关于用户的主组和附加组的描述

用户的主组有且只有一个,如果创建用户时有指定,则指定的组为用户的主组,如果创建用户时没有指定,那么系统会创建一个和用户同名的组作为用户的主组。
用户的附加组可以有多个,附加组可以创建用户时-G指定,用户已经存在也可以加入到附加组中。

用户组管理

#添加用户组
groupadd 选项 组
选项
-g 指定新建的工作组id
-r 创建系统工作组,系统工作组的组id小于500
-k 覆盖配置文件/etc/login.defs
-o 允许添加组id号不唯一的工作组
#添加用户组
[root@localhost ~]# groupadd hr -g 1000
[root@localhost ~]# tail -n 4 /etc/group
#修改用户组
groupmod
groupmod 选项 组
-g 将组id改为Gid
-n 改名
-O 允许使用重复的GID
#删除用户组
groupdel
groupdel用于删除群组,注意,如果这些群组中包含某些用户,则必须先删除这些用户后才能删除群组。
groupdel 组名
[root@localhost ~]# groupadd test
#用户组成员管理
gpasswd
gpasswd是Linux下工作组文件/etc/group和/etc/gshadow管理工具,用户将一个用户添加到组或者从组中删除。
gpasswd 选项 组
选项 
-a 添加用户到组
-d 从组删除用户
-A 指定管理员
-M 指定组成员
-R 限制用户入组,只有组中的成员才可以用newgrp加入该组
#创建用户itadmin并将其加入到it组
[root@localhost ~]# useradd itadmin
[root@localhost ~]# gpasswd -a itadmin it
正在将用户“itadmin”加入到“it”组中
[root@localhost ~]# cat /etc/group |grep it:
it:x:3000:itadmin
# 在组文件中,可以看到这个组的成员
[root@localhost ~]# id itadmin
uid=6667(itadmin) gid=6667(itadmin) 组=6667(itadmin),3000(it)
# 在用户的信息中,可以看到这个用户的所属

login.defs文件

#/etc/login.defs文件是用来创建用户时进行的一定的限制,但是优先级低于/etc/passwd和/etc/shadow,如果有冲突的敌法,系统会以/etc/passwd和/etc/shadow为准。

用户密码管理

root用户可以直接设置普通用户的用户密码,普通用户的用户密码必须提供原密码才可以修改自己的密码
设置密码
passwd 选项 用户名
#passwd命令用来建立或者更改使用者的密码,初次创建账户用passwd设置密码;
[root@serve1 ~]# passwd user01
更改用户 user01 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
选项
-k :保持密码不过期
-d :删除已经命名的账号的密码
-l ;锁定指定账号的密码
-u ;接触锁定
-x :密码最长有效时限
-n :密码最短有效时限
--stdin :从标准输入读取令牌
- THE END -

admin

9月01日17:39

最后修改:2024年9月1日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论