linux入门之用户和组管理类命令
Posted www岩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux入门之用户和组管理类命令相关的知识,希望对你有一定的参考价值。
在学习用户和组管理命令之前,我们首先要了解id这个基本命令,它是为了显示当前用户的身份信息,有用户就不免会牵扯到组的相关概念,那就让我们一起来看有关用户和组的相关命令。
1、id
id 当前用户自身信息
语法
id 选项 参数(用户名)
选项与参数
id 用户名 显示指定用户的信息
[[email protected] ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unco nfined_t:s0-s0:c0.c1023
id –u 用户名 显示指定用户的uid
id –g 用户名 显示指定用户的主组gid
[[email protected] ~]# id -g alice
id –un 用户名 显示指定用户的名字
[[email protected] ~]# id -un alice
alice
id –gn 用户名 显示指定用户的主组gid
[[email protected] ~]# id -gn alice
g2
2、用户
- useradd 用于创建用户
语法:
useradd 选项 参数(用户名)
选项与参数:
useradd -u 指定 UID
-o 与-u 配合,不检查uid的唯一性
-g GID/组名 指定用户的主要组
-G GID/组名 指定用户的附加组
-c "注释" 用户名
-d 指定用户的默认shell
-N 使用users组做为主要组
-r 创建系统用户
-m 与-r 配合使用,在创建系统用户时,同时创建家目录
-M 创建非系统用户时,不创建家目录
-D 设置默认值,影响以下文件
实例1
[[email protected] ~]# useradd -u 521 abc
[[email protected] ~]# id -u abc
521
这个命令创建了一个abc用户,它的UID号为521。
实例2
[[email protected] ~]# useradd -u 521 -o bc
[[email protected] ~]# id bc
uid=521(abc) gid=522(bc) groups=521(abc)
这个命令-u 和-o配合使用时,会不检查UID是否重复,即使UID号存在仍然可以创建。
实例3
[[email protected] ~]# useradd -G g2 d
[[email protected] ~]# id d
uid=523(d) gid=523(d) groups=523(d),510(g2)
这个命令创建了一个为d的用户,它的附属组为g2。
- userdel 删除不再使用的用户
语法:
userdel 选项 参数(用户名)
选项与参数:
-r 连带用户的主目录一起删除
-f 强制删除用户
删除命令常用选项是-r,这样可以删的彻底,家目录以及邮箱等都不存在了。
[[email protected] ~]# userdel -r d
- 修改用户权限
usermod
-u UID 用户名 修改指定用户的uid
-g GID/组名 修改用户的主组(该组要先存在)
-G GID/组名[GID2/组名2..] 设置用户的附加组
-a 与-G 配置 增加用户的附加组
-s shell 修改用户的默认shell
-c ‘注释内容‘ 修改用户的注释
-d 新地址 用户名 只修改/etc/passwd当中家目录的信息,并不会将目录迁移
-m 与-d 配合使用 修改家目录时,目录一同迁移
note: -d 与地址 一定要连在一起
-l 新名字 旧名字 修改用户的登录名
-L 用户名 锁定用户的密码
-U 用户名 解锁用户的密码
实例4
[[email protected] ~]# usermod -g g1 alice
[[email protected] ~]# id alice
uid=502(alice) gid=509(g1) groups=509(g1)
修改用户的主组,将主组改为g1。
实例5
[[email protected] ~]# usermod -G g2 alice
[[email protected] ~]# id alice
uid=502(alice) gid=509(g1) groups=509(g1),510(g2)
将g2设置用户alice的附加组。
实例6
[[email protected] ~]# usermod -s sbin/nologin alice
3、组相关
- groupadd
选项与参数
-g 组ID 组名
-r 自动分区的组ID centos6 < 500 centos7 <1000
例7
[[email protected] ~]# groupadd group1
增加新组group1
例8
[[email protected] ~]# groupadd -g 101 group
添加新组group2,并设组标识号为101。
- groupmod
-n 新组名 当前组名
-g 新ID 当前组名
例9
[[email protected] ~]# groupmod -g 102 group2
将组标识号改为102。
- groupdel
groupdel 组名 删除组
- gpasswd
gpasswd -a username groupname 将指定用户以附加组方式加入到指定组
gpasswd -d username groupname 将指定用户从指定组中删除
gpasswd -A admin1[,admin2……] groupname 设置组管理员,管理员可
以修改组密码,及修改组成员
gpasswd -M user1,user2 groupname 设置组成员列表 (仅root执行)
gpasswd -M ‘‘ groupname 删除组成的所有成员
gpasswd -r g roupname 清空指定组的组密码
注意:
每个用户有且只能有一个主要组,但用户可以有零到多个附加组
每个文件只能有一个所属人,和一个所属组
当用户访问一个文件时,首先判断当前用户是否为该文件的所属人owner,
如果是owner,则应用owner位的权限如果不是owner,则判断该用户的所属组当中,是否有一个组与该文件的group相同,如果有,则应用group位的权限,如果都不是,则应用other位。
以上是关于linux入门之用户和组管理类命令的主要内容,如果未能解决你的问题,请参考以下文章