百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

13新手学习:Linux操作系统用户和组的概念

qiyuwang 2024-10-16 13:59 8 浏览 0 评论

1、为什么需要了解用户和组

服务器要添加多账户的作用

针对不同用户分配不同的权限,不同权限可以限制用户可以访问到的系统资源提高系统的安全性 帮助系统管理员对使用系统的用户进行跟踪。

2、用户和组的关系

理论上Linux系统中的每个用户在创建时都应该有一个对应的用户组,这个组就称之为用户的主组。同时,有些情况下,某个用户需要临时使用某个组的权限,那这个组就称之为这个用户的附属组或附加组。

主组只能拥有一个,但是附属组或附加组可以同时拥有多个 => 亲爹,干爹(多个)

3、用户组操作

用户组的操作无疑三件事:用户组的添加、用户组的修改以及用户组的删除操作

组:group

添加:add

修改:mod

删除:del

用户组的添加

基本语法:

# groupadd [选项]  用户组的组名称
选项说明:
-g :代表用户组的组ID编号,自定义组必须从1000开始,不能重复

实例:在系统中添加一个hr的用户组

# groupadd hr

实例:在系统中添加一个test的用户组并指定定编号1200

# groupadd -g 1200 test

问题:我们刚才创建的hr以及test用户组到底添加到哪里了?

答:默认情况下,我们添加的用户组都会放在一个系统文件中,文件位置=>/etc/group

# tail -3 /etc/group
root:x:0:
yunwei:x:1000:

/etc/group文件解析

由以上命令的执行结果可知,在/etc/group文件中,其一共拥有三个冒号,共四列。每列含义:

第一列:用户组的组名称
第二列:用户组的组密码,使用一个x占位符
第三列:用户组的组ID编号,1-999代表系统用户组的组编号,1000以后的代表自定义组的组编号
CentOS6 => 1-499,500...
CentOS7 => 1-999,1000...
第四列:用户组内的用户信息(如果一个用户的附属组或附加组为这个组名,则显示在此位置)

用户组的修改

基本语法:

# groupmod [选项 选项的值] 原来组的名称
选项说明:
	-g:gid缩写,设置一个自定义的用户组ID数字,1000以后
	-n:name缩写,设置新的用户组的名称

实例:把hr用户组更改名为:shhr

# groupmod -n shhr hr

实例:把test用户组的组编号由1200改为1201

# groupmod -g 1201 test

实例:把shhr组的组名更改为shhr1且用户组的编号改为1008

# groupmod -g 1008 -n shhr1 shhr

用户组的删除

基本语法:

# groupdel 用户组名称

实例:删除test组

# groupdel test

4、用户操作

用户:user

添加:add

修改:mod

删除:del

用户的添加

基本语法:

# useradd [选项 选项的值] 用户名称
选项说明:
	-g:代表添加用户时指定所属组的主组,唯一的组信息(重要)
	-s:代表指定用户可以使用的shell类型
				默认为/bin/bash(拥有大部分权限(给用户使用)
				还可以为/sbin/nologin,代表账号创建成功,但是不能登录系统(给软件使用)
	-G:代表添加用户时指定用户组的附属组或附加组,可以指定多个,用逗号隔开即可(了解)
	-u:代表添加用户时指定的用户ID编号,centos6从500开始,centos7从1000开始(了解)
	-c:代表用户的备注信息,hr:88888:(hr使用)
	-d:代表用户的家目录,默认为/home/用户名称,可以使用-d进行更改
	-n:取消建立以用户名为名的群组(了解)

实例:在系统中添加一个yunwei账号

# useradd yunwei

问题:我们并没有为yunwei账号指定所属的主组,可以成功创建账号么?

答:可以,因为在创建账号时,如果没有明确指定用户所属的主组,默认情况下,系统会自动在用户组中创建一个与用户yunwei同名的用户组,这个组就是这个用户的主组。

问题:刚才创建的yunwei账号能不能用于登录操作系统

答:不行,因为Linux的登录账号必须要求有密码,如果一个账号没有密码是无法登录操作系统的。

实例:在系统中创建一个账号:yuge,指定用户所属的组为:shhr

# useradd -g 12002 yuge
注:可先查询shhr组的编号
	tail -5 /etc/group

实例:在系统中创建一个账号:centos,指定主组为:shhr,设置此用户只能被软件使用,不能用于登录操作系统

# useradd -g 12002 -s /sbin/nologin centos

实例:在系统中创建一个centos7,指定主组为:shhr,附属组为:test

# useradd -G 12002 shhr

用户信息查询

基本语法:

# id 用户名称

主要功能:查询某个指定的用户信息

实例:查询centos用户的信息

# id centos
uid=1002(centos) gid=1003(centos) groups=1003(centos)
uid:用户编号
gid:用户所属的主组编号
groups:用户的主组以及附属组信息,第一个是主组,后面的是附属组或附加组

相关推荐

你们想要的Python爬虫教程来了:从原理到实践

概述:网络世界的智能采集者Python爬虫是通过自动化程序模拟人类浏览网页行为的技术工具,其核心价值在于高效获取并解析网络数据。得益于Python丰富的第三方库(如requests、Beautiful...

你需要知道的 19 个 console 实用调试技巧

大家好,我是Echa。之前给大家介绍了《...

CSS布局必备技能

Flex是一种用于布局的CSS属性,它使得在容器中的子元素能够灵活地伸缩和排列,从而实现更加自适应和响应式的布局。使用Flex布局可以轻松地创建各种复杂的布局,而无需使用复杂的CSS或者...

我是如何使用ChatGPT和CoPilot作为编码助手的

...

jsoup Selector类学习笔记,快速提升你的HTML处理能力!

Selector类是jsoup库中的一个核心类,用于通过CSS选择器语法来查找HTML文档中的元素。选择器语法通用选择器*:匹配任何元素。标签选择器tag:匹配指定标签名的元素。...

CSS伪类选择器大全:提升网页交互与样式的神奇工具

CSS伪类选择器是前端开发中不可或缺的强大工具,它们允许我们根据元素的状态、位置或用户行为动态地应用样式。本文将全面介绍常用的伪类选择器,并通过代码示例展示其实际应用场景。一、基础交互伪类1.超链接...

简析JS中Document与CSS

如果你是一名前端人员,你单单的使用jq插件显然不够,js在大多时候比较搁置,但你如果前端技术想要提升,那么js的精通对你显得很重要,本文只是他到js的document与css。1.Document与E...

网页世界隐藏的神秘代码语言,竟能这样改变布局

CSS基础:选择器与属性CSS(CascadingStyleSheets)是用于控制网页外观的一门样式表语言。它通过定义HTML元素的显示方式来增强网页的表现力。CSS的选择器允许开发者精确地定位...

Thymeleaf 语法全面详解(史上最全)

Thymeleaf是一个现代化的服务器端Java模板引擎,支持HTML、XML、JavaScript、CSS甚至纯文本。以下是Thymeleaf语法的全面详解,包含所有属性和复杂用法。...

零基础学习HTML之CSS篇内联内部外部样式表和类型选择符

CSS简介CSS(CascadingStyleSheets)层叠样式表。CSS能做些什么?1.使用CSS样式可以有效地对页面进行布局。2.使用CSS样式可以对页面字体、颜色、背景和其他效果实现...

css 设置盒子阴影,阴影和背景图保持一致

预览图首先查看预览图:原理采用了background属性...

CSS中的定位(postion)详解

定义CSSposition属性用于指定一个元素在文档中的定位方式。top,right,bottom和left属性则决定了该元素的最终位置,z-index属性则决定了该元素所在的层级。定位类型1...

CSS selector 小知识学习分享

在设计器中,大家拾取网页元素后,在右侧的属性栏里都会有一个叫“查找路径”的选择框,一般也很少有人用到,打开后里面显示了一堆‘@#yen#%#yen@*T&’的玩意,那么这个“查找路径”到底是个什...

从网站检查中复制CSS代码的最简单方法

在处理网站项目时,您是否曾经对使用开发工具感到沮丧?必须在您正在处理的网页和检查器之间来回切换以查看CSS并进行调整通常可能是一个挑战。值得庆幸的是,有一个浏览器扩展程序可以简化该过程:CSSSca...

XPath 选择器

上篇《Selenium入门(基于Python)...

取消回复欢迎 发表评论: