Linux笔记--用户与用户组

        Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员(root)申请一个账号,然后以这个账号的身份进入系统。

        用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

                用户和用户组相关的指令都需要root权限

一、用户标识符

        每个用户都有用户id(UID)和群组(组id:GID),每个用户在创建时都有用户主组(默认和用户名同名,且只有一个),用户创建后可添加任意个附加组。

  • 存用户相关信息的文件:

        (1)存储用户信息:/etc/passwd

sudo vim /etc/passwd

        用户名:密码:UID:GID:注释:家目录:解释器shell

        每一行代表一个账号(有很多是系统账号),UID为0是root账号,UID为1~999是保留的系统账号,1000以上一般是给一般用户的。GID是用户主组的ID

        (2)存储用户组信息:/etc/group

vim /etc/group

        组名:用户组密码:GID:用户组支持的账号

        (3)存储用户密码信息:/etc/shadow

sudo vim /etc/shadow

        账号名称:密码:密码更新日期:密码不可被更改的天数:密码需要被更改的天数:密码需要更改期限前的警告天数:密码失效日:账号失效日期:保留字段

二、用户管理

1. whoami指令(查看当前用户)

whoami

2. adduser指令(添加用户)

adduser 选项用户名
sudo adduser -uid 8888 lyx
sudo adduser -gid p2310  //组id默认是p2310

常用选项:

        gid:表示指定用户的用户主组,选项的值可以是用户组id,也可以是组名(默认创建同名的用户组)

        uid:用户的id(用户的标识符),系统默认会从1000之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义

验证是否创建成功:
  • 验证letc/passwd的最后一行,查看是否有pointer 的信息
sudo vim /etc/passwd  //查看是否创建成功
  • 验证是否存在家目录(自动创建家目录)
cd ..
ls

3.usermod指令(修改用户)

usermod 选项 用户名

常用选项:

  • g:指定用户主组
  • u:指定UID
  • l:修改用户名
  • G:指定附加组
  • a: 与-G合用(-a -G),增加附加组(保留原组)
  • 修改用户名
sudo usermod -l 要修改的 原用户名  //家目录不会修改
sudo usermod -l lyx1 lyx  //家目录不会修改
  • 修改用户主组
sudo usermod -g pot pointer

4.passwd指令(设置/更改密码)

passwd 用户名 //默认修改root的密码
sudo passwd lyx1

5.su指令(切换用户)

su 用户名
如果用户名不指定则表示切换到root用户

6. deluser指令(删除用户)

deluser --remove-home 用户名  //删除用户的同时,删除其家目录
//如果要删除的用户正使用,就关闭终端再开一个在执行命令

三、用户组管理

1. addgroup指令(用户组添加)

addgroup 选项 用户组名
【常用选项】:
    gid:设置GID,默认从1000之后递增
sudo addgroup -gid 6666 demo2 //添加组

2. groupmod指令(用户组编辑)

groupmod 选项 用户组名
【常用选项】:
    -g:设置GID
    -n:修改用户组名
sudo groupmod -n demo3 demo2

3. delgroup指令(用户组删除)

delgroup 用户组名
sudo delgroup demo3

【注】:不允许删除某个用户的主组,需要从组内移出所有用户才能删除。

四、文件的拥有者和所属用户组

lyx1和lyx分别是拥有者和所属用户组

1. chown指令(改变文件拥有者)

change owner,改变文件拥有者(属主)

chown新用户名待修改文件
sudo chown lyx1 x.c

chown -R 新用户名 待修改文件   //递归修改,连同目录下所有文件都变更
sudo chown -R lyx1 day1

chown 新用户名:新用户组名 待修改文件  //修改拥有者和所属用户组
sudo chown -R lyx1:lyx day1 

2. chgrp 指令(改变文件所属用户组)

change group,改变文件所属用户组

chgrp 新用户组名 待修改文件
【常用选项】:
    R,递归
sudo chgrp lyx1 x.c

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/414725.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python接口自动化测试 —— unittest框架suite、runner详细使用!

test suite 测试套件,理解成测试用例集一系列的测试用例,或测试套件,理解成测试用例的集合和测试套件的集合当运行测试套件时,则运行里面添加的所有测试用例 test runner 测试运行器用于执行和输出结果的组件 test suite、tes…

【前端素材】推荐优质后台管理系统Salreo平台模板(附源码)

一、需求分析 当我们从多个层次来详细分析后台管理系统时,可以将其功能和定义进一步细分,以便更好地理解其在不同方面的作用和实际运作。 1. 结构层次 在结构层次上,后台管理系统可以分为以下几个部分: a. 辅助功能模块&#…

PostgreSQL:开源巨人的崛起和不可阻挡的发展

PostgreSQL:开源巨人的崛起和不可阻挡的发展 PostgreSQL是一款开源的关系型数据库管理系统(RDBMS),以其强大的功能和持续的发展势头在数据库领域崭露头角。本文将探讨为什么PostgreSQL的发展势不可挡,从开源精神和强大…

GridView 演示(P28 5.4GridView)

一、目标效果 如下图所示,我们通过 GridView 新建100个子项,每个子项上写有自己的 index。 二、具体实现代码 1. Main.qml import QtQuickWindow {width: 640height: 480visible: truetitle: qsTr("GridView 演示")GridView{anchors.fill…

探索NebulaGraph:一个开源分布式图数据库的技术解析

欢迎关注微信公众号:一休哥助手。多种功能等待你的使用。1. 介绍 NebulaGraph的定位和用途 NebulaGraph是一款开源的分布式图数据库,专注于存储和处理大规模图数据。它的主要定位是为了解决图数据存储和分析的问题,能够处理节点和边数量巨大…

林浩然与杨凌芸的Scala编程历险记:变量与数据类型的魔法对决

林浩然与杨凌芸的Scala编程历险记:变量与数据类型的魔法对决 在Scala世界的梦幻殿堂中,两位英勇的程序员——林浩然和杨凌芸正准备开启一场代码之旅。这次,他们将深入探索Scala王国中的变量奥秘与数据类型丛林。 一、变量声明篇 &#xff0…

【DDD】学习笔记-领域驱动设计体系

从统一语言到限界上下文,从限界上下文到上下文映射,从领域分析建模到领域设计建模,再从领域设计建模到领域实现建模,我将软件架构设计、面向对象设计、场景驱动设计和测试驱动开发有机地融合起来,贯穿于领域驱动设计的…

数据结构:循环队列

一、队列的概念 操作受限的线性表,允许在队列的一端执行入队操作,另一端执行出队操作 先进先出(FIFO) 1.顺序队列 物理结构连续,依赖于数组实现 队列中有一个队头指针和队尾指针,队头指针保存每次要出队的元素,队…

使用Jenkins部署前端Vue项目和后端Java服务

Jenkins安装相关插件,供后续使用(Dashboard - Manage Jenkins - Plugins) Maven Integration plugin https://plugins.jenkins.io/maven-plugin CloudBees Docker Build and Publish pluginhttps://plugins.jenkins.io/docker-build-publish…

代码随想录算法训练营第64天/最后一天 | 84.柱状图中最大的矩形

今日任务 84.柱状图中最大的矩形 84.柱状图中最大的矩形 - Hard 题目链接:. - 力扣(LeetCode) 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾…

Opencv实战(3)详解霍夫变换

霍夫变换 Opencv实战系列指路前文: Opencv(1)读取与图像操作 Opencv(2)绘图与图像操作 文章目录 霍夫变换1.霍夫线变换1.1 原理1.2 HoughLines() 2.霍夫圆变换2.1 原理2.2 HoughCircles() 最基本的霍夫变换是从黑白图像中检测直线(线段) 霍夫变换(Hough Transform…

第三百七十回

文章目录 1. 概念介绍2. 使用方法2.1 获取所有时区2.2 转换时区时间 3. 示例代码4. 内容总结 我们在上一章回中介绍了"分享一些好的Flutter站点"相关的内容,本章回中将介绍timezone包.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在…

Unity中URP下实现水体(水面反射)

文章目录 前言一、原理1、法一:使用立方体纹理 CubeMap,作为反射纹理使用2、法二:使用反射探针生成环境反射图,所谓反射的采样纹理 二、实现水面反射1、定义和申明CubeMap2、反射向量需要什么3、计算 N ⃗ \vec{N} N 4、计算 V ⃗…

linux服务器调度数据库的存储过程

1、需要安装数据库的客户端 2、安装sqlplus 3、编写sh脚本 脚本内容如下: 4、设置调度任务

React UI框架Antd 以及 如何按需引入css样式配置(以及过程中各种错误处理方案)

一、react UI框架Antd使用 1.下载模块 npm install antd -S 2.引入antd的样式 import ../node_modules/antd/dist/reset.css; 3.局部使用antd组件 import {Button, Calendar} from antd; import {PieChartTwoTone} from ant-design/icons; {/* 组件汉化配置 */} import l…

[机器视觉]halcon应用实例 边缘检测2

一个学习找边的实例2,用于练习相关算子,这个版本比较简单,少了一些对图像的处理。所以主要是用于练习思路和相关算子。只有用了,练了你在脑子里心才有收获。 边缘检测的步骤图解 代码 *直线找边 *清空屏幕,显式控制图…

express+mysql+vue,从零搭建一个商城管理系统5--用户注册

提示:学习express,搭建管理系统 文章目录 前言一、新建user表二、安装bcryptjs、MD5、body-parser三、修改config/db.js四、新建config/bcrypt.js五、新建models文件夹和models/user.js五、index.js引入使用body-parser六、修改routes/user.js七、启动项…

Linux------进程地址空间

目录 一、进程地址空间 二、地址空间本质 三、什么是区域划分 四、为什么要有地址空间 1.让进程以统一的视角看到内存 2.进程访问内存的安全检查 3.将进程管理与内存管理进行解耦 一、进程地址空间 在我们学习C/C的时候,一定经常听到数据存放在堆区、栈区、…

Linux shell:补充命令的使用

目录 一.导读 二.正文 三.结语 一.导读 上一篇介绍了脚本的简单概念以及使用,现在补充一些命令。 二.正文 目前处于全局目录,通过mkdir创建名我为day01的文件。 通过cd命令day01 切换至day01文件当中。 使用vim文本编辑器文件名(firstdir&…

Dledger部署RocketMQ高可用集群(9节点集群)

文章目录 🔊博主介绍🥤本文内容规划集群准备工作节点0配置(ip地址为192.168.80.101的机器)节点1配置(ip地址为192.168.80.102的机器)节点2配置(ip地址为192.168.80.103的机器)在所有…