linux学习-用户组管理
admin
2024-04-01 00:05:54
0

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理,linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建

用户组的操作实际上是对/etc/group文件的更新

增加新的用户组:groupadd 选项 用户组

[root@192 /]# groupadd --help
用法:groupadd [选项] 组选项:-f, --force		如果组已经存在则成功退出并且如果 GID 已经存在则取消 -g-g, --gid GID                 为新组使用 GID-h, --help                    显示此帮助信息并推出-K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值-o, --non-unique              允许创建有重复 GID 的组-p, --password PASSWORD       为新组使用此加密过的密码-r, --system                  创建一个系统账户-R, --root CHROOT_DIR         chroot 到的目录

此命令向系统中增加一个新组group1,新组的组标识号在当前已有的最大组标识号的基础上+1

[root@192 /]# groupadd group1

增加新组的时候添加组标识号并查看/etc/group:可以看到我们创建的group1和group2

[root@192 /]# groupadd -g 101 group2
[root@192 /]# cat /etc/group
postdrop:x:90:
postfix:x:89:
huangzheng:x:1002:
group1:x:1003:
group2:x:101:

删除一个已存在用户组:groupdel 用户组

[root@192 /]# groupdel group1

修改用户组的属性:groupmod 选项 用户组

[root@192 /]# groupmod --help
用法:groupmod [选项] 组选项:-g, --gid GID                 将组 ID 改为 GID-h, --help                    显示此帮助信息并推出-n, --new-name NEW_GROUP      改名为 NEW_GROUP-o, --non-unique              允许使用重复的 GID-p, --password PASSWORD	将密码更改为(加密过的) PASSWORD-R, --root CHROOT_DIR         chroot 到的目录

修改用户组的组标识:

#将用户组的组标识从101改为102
[root@192 /]# groupmod -g 102 group2

修改组名:

#将组名group2改为group3
[root@192 /]# groupmod -n group3 group2

切换组:如果一个用户同时属于一个组,那么用户可以在用户组之间切换,以便举有其他用户的权限,用户在登陆后,使用newgrp切换用户组,这个命令的参数就是用户组,将当前用户切换到用户组

将当前用户切换到root用户组
[root@192 /]# newgrp root

与用户和用户组相关的信息存放在/etc/passwd,/etc/shadow,/etc/group中

/etc/passwd文件是用户管理工作设计的最重要的一个文件,linux中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了用户的一些基本属性,这个文件对所有用户都是可读的

/etc/passwd中的每一行记录对应一个用户,每行记录又被冒号(:)分割为7个字段,其格式和具体含义如下

[root@192 /]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
huangzheng:x:1002:1002::/home/huangzheng:/bin/bash

用户名:口令:用户标识符:组标识符:注释型描述:主目录:登录shell

1)"用户名"是代表用户账号的字符串:通常不超过8个字符,并且由大小写字母,/,数字组成,用户名中不能由(:),冒号在这里是分隔符,为了兼容,登录名中不要包含(.),不要使用(-),(+)打头

2)口令一些系统中,存放加密的用户口令字。真正的加密后的用户口令存放在/etc/shadow,/etc/passwd文件的口令字段中只存放一个特殊的字符,例如‘X’或者‘*’

3)用户标识符是一个整数,系统内部用它来标识用户:一般情况下它与用户名是一一对应的。如果有几个用户名对应的用户标识号是一样,系统内部将他们视为同一个用户,但是它们可以有不同的口令,不同的主目录以及不同的登录shell等。通常用户标识号从100开始,0是超级用户的标识符,1-99由系统保留,作为账号管理,普通用户的标识从100开始。在linux中,这个界限是500.

4)组标识号字段记录的是用户所属的用户组:它对应着/etc/group文件中的一条记录

5)注释性描述字段记录着用户的一些个人情况,例如用户真实姓名,电话,地址等,这个字段没有实际的用途

6)主目录:就是用户的起始工作目录,是用户登录到系统之后所处的目录

7)用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。

Shell是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。

系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。

8)除此之外还有一些伪用户,这些用户在/etc/passwd文件中也占一条记录,但是不能登录,因为它们的登录shell为空,它们的存在主要是方便系统管理,满足相应的系统进程对文件属性的要求

相关内容

热门资讯

【MySQL】锁 锁 文章目录锁全局锁表级锁表锁元数据锁(MDL)意向锁AUTO-INC锁...
【内网安全】 隧道搭建穿透上线... 文章目录内网穿透-Ngrok-入门-上线1、服务端配置:2、客户端连接服务端ÿ...
GCN的几种模型复现笔记 引言 本篇笔记紧接上文,主要是上一篇看写了快2w字,再去接入代码感觉有点...
数据分页展示逻辑 import java.util.Arrays;import java.util.List;impo...
Redis为什么选择单线程?R... 目录专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程?三、R...
【已解决】ERROR: Cou... 正确指令: pip install pyyaml
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
Lock 接口解读 前置知识点Synchronized synchronized 是 Java 中的关键字,...
Win7 专业版安装中文包、汉... 参考资料:http://www.metsky.com/archives/350.htm...
3 ROS1通讯编程提高(1) 3 ROS1通讯编程提高3.1 使用VS Code编译ROS13.1.1 VS Code的安装和配置...
大模型未来趋势 大模型是人工智能领域的重要发展趋势之一,未来有着广阔的应用前景和发展空间。以下是大模型未来的趋势和展...
python实战应用讲解-【n... 目录 如何在Python中计算残余的平方和 方法1:使用其Base公式 方法2:使用statsmod...
学习u-boot 需要了解的m... 一、常用函数 1. origin 函数 origin 函数的返回值就是变量来源。使用格式如下...
常用python爬虫库介绍与简... 通用 urllib -网络库(stdlib)。 requests -网络库。 grab – 网络库&...
药品批准文号查询|药融云-中国... 药品批文是国家食品药品监督管理局(NMPA)对药品的审评和批准的证明文件...
【2023-03-22】SRS... 【2023-03-22】SRS推流搭配FFmpeg实现目标检测 说明: 外侧测试使用SRS播放器测...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
初级算法-哈希表 主要记录算法和数据结构学习笔记,新的一年更上一层楼! 初级算法-哈希表...
进程间通信【Linux】 1. 进程间通信 1.1 什么是进程间通信 在 Linux 系统中,进程间通信...
【Docker】P3 Dock... Docker数据卷、宿主机与挂载数据卷的概念及作用挂载宿主机配置数据卷挂载操作示例一个容器挂载多个目...