​在 Linux ​中管理用户

在 Linux 系统中,用户是系统资源的主要使用者,每个用户都有一个唯一的标识符(用户ID)。为了更好地组织和管理用户,Linux 还引入了用户组的概念。用户组是用户的集合,有助于更有效地分配权限和资源。

用户是与系统进行交互的主体。每个用户都有一个唯一的用户ID(UID),这个ID是系统中用于标识用户的数字。新用户可以通过使用 adduser 命令进行创建。

sudo adduser username

这将提示您设置用户的密码等信息。新用户创建成功后,他们的家目录将在 /home/username 下。

用户组是一组用户的集合。它有助于简化权限管理和资源共享。创建用户组可以使用 addgroup 命令:

sudo addgroup groupname

新的用户组将在 /etc/group 文件中注册,用户组信息可以使用 cat /etc/group 查看。

useradd 和 userdel

useradd 和 userdel 是两个基本的用户管理命令。它们分别用于添加和删除用户。

# 添加用户
sudo useradd newuser

通过执行上述命令,将创建一个新用户并分配唯一的用户ID。但这样创建的用户没有密码,可以使用 passwd 命令为其设置密码。

# 删除用户
sudo userdel existinguser

userdel 命令用于删除用户,但请注意,这只会删除用户,不会删除用户的主目录或邮箱。如果要删除用户及其相关的文件,可以使用 -r 选项:

sudo userdel -r existinguser

passwd 命令

passwd 命令用于更改用户密码。通过执行以下命令,您可以更改用户的密码:

sudo passwd username

系统会提示您输入新的密码两次以确保一致性。成功更改密码后,新密码立即生效。

groupadd 和 groupdel

groupadd 和 groupdel 用于创建和删除用户组。

# 创建用户组
sudo groupadd newgroup

通过执行上述命令,将创建一个名为 newgroup 的新用户组。您可以使用 cat /etc/group 命令检查新用户组的信息。

# 删除用户组
sudo groupdel existinggroup

要删除用户组,可以使用 groupdel 命令。请注意,只有在没有属于该组的用户时才能成功删除用户组。

usermod 命令

usermod 命令用于修改用户属性,其中一个常见的用途是将用户添加到用户组。

# 将用户添加到用户组
sudo usermod -aG groupname username

通过执行上述命令,用户将被添加到指定的用户组。请注意,-a 选项表示追加,-G 用于指定用户组名称。

chmod 命令

文件和目录权限在 Linux 中是非常重要的概念。每个文件和目录都有一个权限模式,用于定义对它们的访问权限。chmod 命令用于更改权限。

# 更改文件权限
chmod permissions filename

其中,permissions 是一个用数字表示的权限模式,filename 是要更改权限的文件名。例如,要将文件设置为所有者可读写,组可读,其他人只可读的权限:

chmod 644 filename

chown 命令

chown 命令用于更改文件的所有者和所属组。

# 更改文件所有者
sudo chown newowner:groupname filename

通过执行上述命令,文件的所有者将更改为 newowner,所属组将更改为 groupname

sudoers 文件

sudo 允许普通用户以超级用户的身份执行特权命令。sudo 的配置信息存储在 /etc/sudoers 文件中。为了编辑这个文件,推荐使用 visudo 命令,它可以确保在保存时进行语法检查。

# 编辑 sudoers 文件
sudo visudo

在 sudoers 文件中,有一些规则需要遵循。一种常见的规则是为用户赋予 sudo 权限。例如,要为用户 username 赋予所有特权,可以在文件中添加以下行:

username ALL=(ALL:ALL) ALL

这表示用户 username 在任何主机上以任何用户和组的身份都可以执行任何命令。

在编辑 sudoers 文件时要格外小心,因为错误的配置可能导致系统不稳定。编辑完毕后,请使用 Ctrl + X 保存并退出。

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

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

相关文章

LabVIEW工业机器人系统

介绍了ABB工业机器人与LabVIEW之间进行数据交互的解决方案。通过使用TCP/IP协议的socket通信,实现了机器人坐标数据的读取,为人机交互提供了一个更便捷、更高效的新思路。 系统主要由ABB工业机器人、基于TCP/IP协议的通信接口和LabVIEW软件组成。工业机…

Excel:将截面数据转换成面板数据

原始截面数据如下: 步骤:数据——自表格/区域 点击确定,出现下图: 然后,在这个界面选择:“转换”——“逆透视列”下选择逆透视其他列。会出现面板数据形式。 然后,点击“主页”——关闭并上载即…

day16打卡

day16打卡 104. 二叉树的最大深度 递归法时间复杂度:O(N),空间复杂度:O(N) class Solution { public:int maxDepth(TreeNode* root) {if(root nullptr) return 0;return 1 max(maxDepth(root->left), maxDepth(root->right));} };…

Android Settings 显示电池点亮百分比

如题,Android 原生 Settings 里有个 电池电量百分比 的选项,打开后电池电量百分比会显示在状态栏。 基于 Android 13 , 代码在 ./packages/apps/Settings/src/com/android/settings/display/BatteryPercentagePreferenceController.java &am…

springboot125汽车资讯网站

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的125汽车资讯网站 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获…

[AIGC 大数据基础] 浅谈hdfs

HDFS介绍 什么是HDFS? HDFS(Hadoop Distributed File System)是Apache Hadoop生态系统的一部分,是一个分布式文件系统。它被设计用于存储和处理大规模数据集,并且能够容错、高可靠和高性能地处理文件。 HDFS是为了支…

逻辑回归中的损失函数梯度下降

一、引言 逻辑回归中的损失函数通常采用的是交叉熵损失函数(cross-entropy loss function)。在逻辑回归中,我们通常使用sigmoid函数将线性模型的输出转换为概率值,然后将这些概率值与实际标签进行比较,从而计算损失。 …

创建第一个 Spring 项目(IDEA社区版)

文章目录 创建 Spring 项目创建一个普通的 Maven 项目添加 Spring 依赖IDEA更换国内源 运行第一个 Spring 项目新建启动类存储 Bean 对象将Bean注册到Spring 获取并使用 Bean 对象 创建 Spring 项目 创建一个普通的 Maven 项目 首先创建一个普通的 Maven 项目 添加 Spring 依…

web项目开发的基本过程

一、背景 web项目开发基本过程一般由需求分析,概要设计,详细设计,数据库设计,编码,测试,发布上线这几个过程。这就是经典的瀑布模型。但是随着系统的复杂度越来越高,团队人员技术栈分工越来越小…

《WebKit技术内幕》学习之十三(3):移动WebKit

3 其他机制 3.1 新渲染机制 为了移动领域更好的用户体验,渲染机制所做的改进主要是提升渲染性能来增加响应的速度,甚至不惜牺牲一些跟规范定义的行为不一致的地方。在这一小节中主要介绍三个方面的技术,其一是Tiled Backing Store&#x…

Wpf 使用 Prism 实战开发Day14

备忘录接口增删(CURD)改查实现 一.添加备忘录控制器(MemoController) 备忘录控制器(MemoController)和待办事项控制器 (ToDoController)功能实现差不多一样。基本套路就是&#xff1…

结构化文本编程语言:ST语言

ST语言通常指的是结构化文本(Structured Text),是一种用于工业自动化和过程控制领域的编程语言。它被广泛应用于PLC(可编程逻辑控制器)和工业控制系统中,用于编写控制逻辑、数据采集和设备通信等任务。 ST语…

Qt5编译qextserialport(Qt5.14.2+VS2017)

1、qextserialport库下载 (1)github GitHub - qextserialport/qextserialport: Automatically exported from code.google.com/p/qextserialport (2) code.google https://code.google.com/archive/p/qextserialport/downloads 我下载的是最新版qextserialport-1.2rc.zip ​…

【踩坑日常】mysql查询错误排查

背景 在生产上发现一个接口数据怎么查都为空,做的日志记录,sql语句以及参数手动执行却能返回结果 排查 刚发现问题的时候,第一时间是通过日志去查看问题,模拟下核心点就如下 2024-01-24 14:10:03,912 DEBUG selectSQL:137 - >…

Vp9解码方式概述 -- Parsing Process

Vp9解码方式概述 – Parsing Process 本文是对vp9协议第9章,解析字符串函数的一个梳理,主要对几种解析类型(Type)的流程进行梳理 目录 Vp9解码方式概述 -- Parsing Process1. 如何解码视频?2. f(n)3. 布尔解码器Boole…

核心类库ArrayList、hashMap等

八. 核心类库 1. ArrayList 数组缺点 ArrayList,它常常被用来替代数组 数组的缺点:不能自动扩容,比如已经创建了大小为 5 的数组,再想放入一个元素,就放不下了,需要创建更大的数组,还得把旧…

基于 MQTT 的开源桥接器:自由控制物联网设备 | 开源日报 No.151

Koenkk/zigbee2mqtt Stars: 10.5k License: GPL-3.0 Zigbee2MQTT 是一个 Zigbee 🐝 到 MQTT 桥接器 🌉,可以摆脱专有的 Zigbee 桥接器 🔨 允许您在不使用供应商桥接器或网关的情况下使用 Zigbee 设备通过 MQTT 桥接事件并控制 Z…

Salesforce Lightning 的 Close Case 按钮无法批量关闭 Case 的原因和解决方法

为 Lightning 页面添加了自定义的 Close Case 按钮(方法可参考:https://www.simplysfdc.com/2021/01/salesforce-mass-close-case.html)后,可能会出现无法批量关闭 Case 的情况。 选中多个 Case,再点击 Close Case 按…

MYSQL数据库详解(6)-- 视图存储方式触发器

MYSQL数据库详解(6) 视图特征:作用:创建视图使用视图删除视图 存储过程 ***为什么使用存储过程定义:存储过程和函数的区别缺陷:创建存储过程使用存储过程环境变量 局部环境变量 全局环境变量删除存储过程…

10个免费高质量视频素材网站,无版权,可商用。

推荐10个高清无水印视频素材网站,免费下载,无版权可商用,建议收藏起来! 1、菜鸟图库 https://www.sucai999.com/video.html?vNTYwNDUx 菜鸟图库虽然是个设计素材网站,但除了设计类素材之外还有很多视频、音频、办公类…