《掌控Linux:全面解析用户与组管理的奥秘》

目录

引言

用户与组管理

一、理解用户账户和组

二、Linux用户账户及其类型

三、超级用户权限

(一)Ubuntu的sudo命令

1、使用su命令临时改变用户身份

2、sudo命令用于切换用户身份执行

四、用户配置文件

(一)用户账户配置文件 /etc/passwd

(二)用户密码配置文件 /etc/shadow

(三)组账户的信息存放在 /etc/group 文件中

(四)组账户密码配置文件 /etc/gshadow

五、管理用户账户

(一)新建用户账户

(二)useradd和adduser区别

(三)查看用户账户

① 使用文本分析工具awk查看全部用户列表。            

② 使用文本分析工具awk查看普通用户列表。

(四)管理用户账户密码

(五)用户账户维护

1、 修改账户

2、禁用和恢复账户  

①使用passwd命令(被锁定用户的密码必须是使用passwd命令生成的)

②使用usermod命令

③ 直接修改用户账户配置文件        

3、删除用户账户

4、创建组账户

5、修改组账户      

6、删除组账户      

7、查看组账户

8、查看组成员

9、gpasswd命令

10、管理组成员

总结


引言

        在Linux系统中,用户与组的管理是维护系统安全和有效性的关键环节。随着网络环境的日益复杂,作为网络管理员,掌握用户和组的创建、配置及管理显得尤为重要。用户账户不仅是用户身份的标识,更是访问系统资源的基础。通过合理的组管理,可以简化权限的分配,提升管理效率。本项目将详细介绍如何利用命令行和图形工具进行用户与组的管理,以帮助管理员更加高效地维护系统安全。

用户与组管理

        Linux是多用户多任务的网络操作系统,作为网络管理员,掌握用户和组的创建与管理至关重要。而在进行用户和组的管理时,如何有效地建立和管理用户和组将是网络管理员面临和必须处理好的一个重要问题。本项目将主要介绍利用命令行和图形工具对用户和组进行创建与管理等内容。

一、理解用户账户和组

用户账户是用户的身份标识。用户通过用户账户可以登录到系统,并且访问已经被授权的资源。

Linux系统下的用户账户分为三种种:普通用户账户、超级用户账户(root)、系统用户

组是具有相同特性的用户的逻辑集合,在做资源授权时可以把权限赋予某个组,组中的成员即可自动获得这种权限。一个用户账户可以同时是多个组的成员,其中某个组是该用户的主组(私有组),其他组为该用户的附属组(标准组)。

二、Linux用户账户及其类型

三、超级用户权限

Linux的超级用户权限解决方案

许多系统配置和管理操作需要root权限。 Linux提供了特殊机制,让普通用户临时具备root权限。

  • 用户执行su命令将自己提升为root权限
  • 使用命令行工具sudo临时使用root身份运行程序,执行完毕后自动返回到普通用户状态。

(一)Ubuntu的sudo命令

1、使用su命令临时改变用户身份

su [选项] [用户登录名] 临时改变用户身份示例

  • sudo 允许你以超级用户身份运行命令。

  • su root 则是请求切换到root用户。

  • 因为前面有 sudo,所以系统会首先验证你当前用户的权限,并要求你输入你自己账户的密码。

  • 如果密码正确,你将获得root用户的权限。

2、sudo命令用于切换用户身份执行

         sudo [选项] <命令> ... 切换身份示例

用于以root用户的身份启动一个新的交互式shell。与普通的 sudo 命令相比,sudo -i 具有以下特点:

  • 模拟登录sudo -i 会模拟root用户的登录环境,这意味着会加载root用户的环境变量和配置文件,类似于你直接登录到root账户时的状态。
  • 保持会话:使用 sudo -i 后,你会进入一个新的shell会话,可以在这个会话中运行命令,直到你输入 exit 退出这个会话。
  • 简化操作:通过这种方式,你可以方便地执行多条需要root权限的命令,而不必每次都输入 sudo

四、用户配置文件

(一)用户账户配置文件 /etc/passwd

例:zhovyx:x:1000:1000:zhovyx:/home/zhovyx:/bin/bash

用户名:加密口令:UID:GID:用户描述信息:主目录:命令解释器

(二)用户密码配置文件 /etc/shadow

账户名:密码:最近一次修改:最短有效期:最长有效期:过期前警告期:过期日期:禁用:保留

(三)组账户的信息存放在 /etc/group 文件中

组名称:组口令(一般为空,用x占位):GID:组成员列表

(四)组账户密码配置文件 /etc/gshadow

组名称:加密后的组口令:组的管理员:组成员列表

五、管理用户账户

(一)新建用户账户

使用useradd或者adduser命令。

 useradd  sh     adduser bash      

useradd命令的格式是:useradd  [选项]  <username>

 adduser会自动处理一些细节(如创建主目录、设置密码等)

(二)useradd和adduser区别

useraddadduser 是用于在Linux系统中添加用户的命令,它们的主要区别在于实现方式、使用体验和默认行为。以下是更详细的比较:

① 实现方式

  • useradd:这是一个低级命令,直接与系统用户数据库交互。它是一个二进制可执行文件,功能比较基础,执行时不会自动配置用户的环境。

  • adduser:通常是一个 Perl 脚本,是 useradd 的封装。它提供了更丰富的功能,自动完成许多配置步骤。

② 交互体验

  • useradd:是一个非交互式命令,必须通过命令行参数指定所有选项。例如,用户的主目录、shell等都需要明确指定。如果不提供这些选项,命令将使用系统默认值。

  • adduser:是一个交互式命令,执行时会提示用户输入必要的信息,如密码、全名等,提供了更友好的体验。

③ 默认行为

  • useradd:默认情况下不会创建用户的主目录,也不会复制默认的配置文件。

  • adduser:会自动创建用户的主目录,并复制系统的默认配置文件(如 .bashrc.profile 等)。

④ 参数使用

useradd:参数使用复杂,需要手动指定所有选项。例如:

useradd -m -d /home/newuser -s /bin/bash newuser

这里 -m 表示创建主目录,-d 指定主目录,-s 指定用户的默认shell。

adduser:使用更为简单,通常只需执行:

adduser newuser

在讨论 useraddadduser 的时候提到 bashsh 主要是因为它们的交互方式和用户体验方面的不同,具体如下:

  • sh(Bourne shell):是一个较老的shell,提供了基本的命令行界面和脚本功能,功能相对简单。
  • bash(Bourne Again SHell):是 sh 的增强版本,支持更多功能,如命令补全、命令历史、数组等,提供了更丰富的交互体验。

在使用 adduser 时,因为它通常是一个更复杂的脚本,可能会用到 bash 以支持更多的功能和用户交互;而 useradd 则是一个直接的命令,主要用于基本的用户添加,不涉及复杂的用户交互。

(三)查看用户账户

在命令行中执行文件显示命令并通过管道操作使用grep命令来查找指定用户账户。

cat /etc/passwd | grep zhovyx

cat:这是一个用于显示文件内容的命令。它的全称是 "concatenate",可以用来读取文件并将其内容输出到标准输出(通常是终端)。

/etc/passwd:这是一个系统文件,包含所有用户的基本信息。每个用户信息一行,格式一般为:用户名:密码占位符:用户ID:组ID:用户全名:主目录:登录shell

|(管道)

管道符号 | 将前一个命令的输出传递给后一个命令。在这个例子中,cat/etc/passwd 的输出会作为输入提供给 grep 命令。

grep这是一个用于文本搜索的命令,可以在文件或输入流中查找符合条件的行,并将其输出。grep 的名称来自于“global regular expression print”。

ahead:这是要搜索的字符串。grep 会查找所有包含 ahead 的行。

① 使用文本分析工具awk查看全部用户列表。            

awk -F':' '{ print $1}' /etc/passwd

② 使用文本分析工具awk查看普通用户列表。

awk -F':' '{ if ($3 >= 1000) print $1}' /etc/passwd

(四)管理用户账户密码

使用passwd命令为用户设置密码          

passwd [选项] [用户名]                      

指定要更改密码的用户。如果不提供用户名,passwd 将默认为当前登录用户。

(五)用户账户维护

1、 修改账户

 usermod 命令用于修改已存在用户的属性      

usermod [选项] 用户名   

2、禁用和恢复账户  

①使用passwd命令(被锁定用户的密码必须是使用passwd命令生成的)

锁定用户:passwd -l username        

解锁用户:passwd -u username

②使用usermod命令

锁定用户:usermod -L username        

解锁用户:usermod -U username

③ 直接修改用户账户配置文件        

不推荐此方法

可将/etc/passwd文件或/etc/shadow文件中关于user账户的passwd域的第一个字符前面加上一个“*”,达到禁用账户的目的,在需要恢复的时候只要删除字符“*”即可。

3、删除用户账户

 userdel [-r] 用户名

  • 选项-r表示删除该账户的同时一并删除该账户对应的主目录和邮件目录。
  • userdel不允许删除正在使用(已经登录)的用户账户。

4、创建组账户

使用Linux通用命令groupadd:          

groupadd  [选项]  组名            

-g选项可自行指定组的GID。

5、修改组账户      

groupmod  [-g GID]  [-n 新组名]  组名

6、删除组账户      

groupdel 组名

7、查看组账户

sudo cat /etc/group               显示系统中的所有用户组及其成员

cut -d: -f1 /etc/group            只查看用户组的名称

8、查看组成员

groups命令用于显示某用户所属的全部组。 若不指定用户名则显示当前用户的组信息。

groups 用户名

查看/etc/group文件: 保存了系统中所有用户组的信息,包括组名、组ID以及组成员

9、gpasswd命令

添加用户到指定组:      

passwd -a 用户名 组名

从指定组中删除用户:    

gpasswd -d 用户名 组名

将多个用户添加为组成员:    

gpasswd -M 用户名,用户名,... 组名

10、管理组成员

adduser命令:将用户添加到指定组          

adduser 用户名 组名

deluser命令:用户从指定的组中删除  

deluser 用户名 组名

总结

        通过本项目的学习,我们深入了解了Linux用户与组的管理,包括用户账户的类型、超级用户权限的应用、用户和组配置文件的结构、以及如何有效地创建、修改和删除用户与组账户。此外,我们还探讨了useraddadduser的区别,以及如何使用命令行工具如passwdusermod、和gpasswd等进行用户和组的日常管理。掌握这些基本知识,将为系统的安全与管理打下坚实的基础,使得网络管理员能够更从容地应对多用户、多任务的管理挑战。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

exp:CVE-2024-2961将phpfilter任意文件读取提升为远程代码执行(RCE)

该exp来自于https://raw.githubusercontent.com/ambionics/cnext-exploits/main/cnext-exploit.py在原基础上添加了一个小改动&#xff0c;使其更加通用 修改后的exp顶部资源失效则https://www.123865.com/s/kN7jVv-uccLd 之前的命令行参数为 使用方式是python exp.py url com…

玄机-应急响应- Linux入侵排查

一、web目录存在木马&#xff0c;请找到木马的密码提交 到web目录进行搜索 find ./ type f -name "*.php" | xargs grep "eval(" 发现有三个可疑文件 1.php看到密码 1 flag{1} 二、服务器疑似存在不死马&#xff0c;请找到不死马的密码提交 被md5加密的…

Thread类及线程的核心操作

一. Thread类的常见构造方法 1. Thread() Thread类无参的构造方法, 用于创建Thread类的实例对象. 2. Thread(String name) 带一个参数的Thread类构造方法, 创建一个线程对象, 并给其命名. [注]: 如果不专门给线程命名, 那么线程默认的名字就是Thread-0, Thread-1, Thread-…

云腾五洲的智联引擎是什么?

智联引擎是成都云腾五洲科技有限公司旗下的数智化转型服务平台&#xff0c;它提供云边协同的分布式物联网平台引擎服务。这一平台以其强大的功能和灵活性&#xff0c;为全行业提供数智化转型的新动力&#xff0c;帮助企业在数智化升级中实现持续增长。 核心能力 智联引擎的核心…

网络编程 TCP编程 Linux环境 C语言实现

所有基于数据传输通信的程序&#xff0c;都会被分成两种角色&#xff1a; 1. 服务端&#xff1a;又称为服务器 server 提供一种通信服务的进程 基本工作过程是&#xff1a;1> 接收请求数据 2> 处理请求数据 3> 发送处理结果 2. 客户端&#xff1a;client 使用一种通…

【Qt聊天室客户端】个人信息界面功能开发

1. 加载个人信息 从DataCenter数据类中拿到个人信息相关数据&#xff0c;然后显示到窗口中即可 个人信息界面中所有功能的实现&#xff0c;都是通过按钮触发操作&#xff0c;然后通过网络请求与后台交互完成信息更新 实现 2. 修改昵称 实现逻辑分析 获取输入框的昵称&#xf…

加油-加油

A 时刻注意A可逆&#xff0c;直接除去

十分钟Linux中的epoll机制

epoll机制 epoll是Linux内核提供的一种高效I/O事件通知机制&#xff0c;用于处理大量文件描述符的I/O操作。它适合高并发场景&#xff0c;如网络服务器、实时数据处理等&#xff0c;是select和poll的高效替代方案。 1. epoll的工作原理 epoll通过内核中的事件通知接口和文件…

60V恒流IC SL8443B内置功率MOS 支持2.5A电流 降压LED恒流驱动芯片

一、概述 SL8443B是一款高性能的LED恒流驱动芯片&#xff0c;具有60V的耐压能力&#xff0c;适用于高电压应用场景。它内置了5A&#xff08;或说5V&#xff0c;根据上下文理解为功率等级&#xff09;的功率MOS&#xff0c;可以减少外部元件数量&#xff0c;降低成本&#xff0…

获得淘宝app商品详情原数据 API 券后价获取API

item_get_app_pro-获得淘宝app商品详情原数据 通过此API可以实现通过商品id获取商品详情页数据&#xff0c;包括券后价、主图、详情等等。 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameStr…

得计算题者得天下!软考系统集成计算题详解!

软考中级系统集成项目管理工程师考试一共有《综合知识》和《案例分析》两门科目&#xff0c;而在这两科中都会涉及到计算题&#xff0c;特别是案例分析中&#xff0c;计算题每次考试都会占到一道大题&#xff0c;共25分&#xff0c;占到了科目总分的1/4&#xff0c;所以对于系统…

访问jenkins页面报错

安装fontconfig 即可 yum install fontconfig -y 安装完之后重启jenkins systemctl restart jenkins 再访问

JDBC2(防止sql注入,数据库连接池)

防止SQL注入 sql注入&#xff1a;利用sql语句的语法特点&#xff0c;应用层输入特殊格式&#xff0c;让原有的sql语句失效 创建表结构 并加入数据 create table login(lid int primary key auto_increment,lname varchar(20),lpwd varchar(20),lsex varchar(2),laddr varcha…

SpringBoot多线程

永线程池就不会内存泄漏&#xff0c;否则一直创建线程了&#xff08;如果业务量大很危险了&#xff0c;中断报警…&#xff1f;&#xff09; 【EnableAsync实现异步任务&#xff0c;简单用法】-CSDN博客 两种方法: 1、在启动类上加EnableAsync注解(Async默认的线程池是Simpl…

Linux——五种IO模型

目录 一IO基本理解 二五种IO模型 1五种IO模型示意图 2同步IO和异步IO 二非阻塞IO 1fcntl 2实现非阻塞IO 三多路复用 1select 1.1定位和作用 1.2介绍参数 1.3编写多路复用代码 1.4优缺点 2poll 2.1作用和定位 2.2介绍参数 2.3修改select代码 3epoll 3.1介绍…

[论文阅读]SimCSE: Simple Contrastive Learning of Sentence Embeddings

SimCSE&#xff1a;句子嵌入的简单对比学习 SimCSE: Simple Contrastive Learning of Sentence Embeddings http://arxiv.org/abs/2104.08821 EMNLP 2021 文章介绍了SimCSE&#xff0c;这是一种简单的对比学习框架&#xff0c;采用了自监督来提升模型的句子表示能力 而自监…

【网络原理】——图解HTTPS如何加密(通俗简单易懂)

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;HTTP为什么不安全 二&#xff1a;HTTPS加密过程 1&#xff1a;密码学中的概念 &…

apt的编译安装(古老通讯)

Ubuntu系统的防火墙关闭&#xff1a; ufw disable 第一步&#xff1a;Ubuntu 安装依赖环境 apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential 如果出现无法下载则在末尾处假如 --fix missing如下图所示 出现下图则为安装成功 第二步&#xff1a; useradd…

上市公司企业数字金融认知数据集(2001-2023年)

一、测算方式&#xff1a;参考C刊《经济学家》王诗卉&#xff08;2021&#xff09;老师的做法&#xff0c;数字金融认知使用每万字年报描述中包含的对数字金融相关关键词的提及次数&#xff0c;关键词为&#xff1a;互联网、数字化、智能、大数据、电子银行、金融科技、科技金融…

LivePortrait——生成可拼接和重定向控制的高效肖像动画翻译

文章目录 原文翻译Abstract1. Introduction2. Related Work2.1. Non-diffusion-based Portrait Animation2.2. Diffusion-based Portrait Animation 3. Methodology3.1. Preliminary of Face Vid2vid3.2. Stage I: Base Model Training3.3. Stage II: Stitching and Retargetin…