Linux管理本地用户和组

在所有网络操作系统当中,都有一个很重要的概念:用户和组
对于组而言,我们使用组的目的是便于分配权限,权限的管理
对于用户而言,我们使用的目的主要是便于标识用户的身份

描述用户和组

我们在使用服务器时
平常使用的是普通用户
而在修改配置时使用的是root超级用户
我们可以通过id命令来查看当前用户的身份以及信息
image.png
值得一提的是,在Linux系统中,UID为0的都是root用户
对于上面的id数值而言
gid代表用户的组、groups代表所属组、context代表上下关系
image.png
而普通用户的id一般是从1000开始直至10000
用户通过用户账户可以登录到系统,并且访问已经被授权的资源

用户账户概述

在Linux中,用户主要分为三大类:

  • 超级用户(也称为root用户)
    系统上最高权限的用户,具有对系统所有资源的完全访问权限
    这个账户通常仅用于系统管理任务,例如安装软件或配置系统
  • 普通用户
    系统上的一个标准用户账户
    可以访问有限的系统资源(通常根据管理员的权限设定)以及安装在该账户下的应用程序
    这个类型的账户通常用于普通用户,例如网站用户或员工账户
  • 程序用户
    Linux系统中预定义的一些具有特定权限的用户账户
    例如,www-data用户用于运行Web服务器进程,bindaemon用户用于运行系统服务等
    这些账户不应由用户手动创建或修改,因为它们的权限和用途是由系统本身所定义的

su切换用户和授权

对于用户而言,管理员可能需要切换至普通用户工作
普通用户可能需要提高权限对文件操作,下载,更改配置等
我们在这种情况下便可以使用su + '-' + [username]命令在不注销的情况下来更改工作用户
image.png
通过su - kiosk命令从root超级用户转换到kiosk用户
image.png
通过su -命令从kiosk用户输入root密码后转换到root超级用户

sudo提权操作

在生产中,在有多个工作协作者的情况下,不可能一个root账号给多个人一起使用
所以一般会给普通用户分配权限
也就是sudo命令
下面我们使用例子来进行理解:
image.png
我们在普通用户下使用sudo命令,随后需要我们进行密码的输入(root的密码)
但是输入之后却报了一个Sorry,try again的错误
这个原因是我们的普通用户kiosk没有使用sudo的权利
要想使用sudo,我们要在root用户下输入visudo命令
使用vim进入sudo命令配置文件进行权限编辑更改
进入之后找到这个
image.png
按i进入编辑模式,输入以下数据
image.png
其中,kiosk是你想要添加的用户的名称,ALL=(ALL)代表的是可以从任何终端来进行提权操作
NOPASSWD : ALL代表的是该用户进行提权操作时不需要输入密码
随后按esc退出编辑模式,输入:wq保存并退出
image.png
再次返回kiosk用户进行sudo操作就可以发现成功了,且不需要输入密码
我们也可以通过在root中输入vim /etc/sudoers操作进入sudo命令配置文件进行权限编辑更改
两种方法等效~

用户管理

用户账户文件 ——/etc/passwd
username:password:UID:GID:GECOS:/home/dir:/bin/bash

  • username:用户名
  • password:密码占位符
  • UID:用户账户的UID号
  • GID:所属基本组账号的GID号
  • GECOS:用户描述
  • /home/dir:宿主目录
  • /bin/bash:登录Shell信息

本地用户管理

对于用户管理,我们有以下几种操作,下面分别来进行介绍:

  • useradd + 选项 + 用户名 添加用户账号
  • usermod + 选项 + 用户名 修改用户账号
  • userdel + [-r] + 用户名 删除用户账号
    下面举个实例:
    我想要添加一个账户,并且详细设置他的信息
    image.png
    我们想在这里添加一个名叫Benny,uid为6666,gid为1111,描述为people的用户
    但是在创建时出现了一个错误,是由于这个组不存在的,所以我们需要先添加该组
    image.png
    这样便创建用户成功,可以使用grep Benny /etc/passwd命令在passwd文件内寻找Benny用户的信息
    image.png
    可以看到,里面的信息全都是按照我们创建时设置的信息来的
    如果想要修改信息,我们也可以使用usermod命令来进行修改
    image.png
    这里我们将Benny用户的uid修改为8888,名称修改为ThirteennyC
    通过grep Thirteenny /etc/passwd的指令可以看到也是成功修改

密码设置

用户密码文件——/etc/shadow
name:password:lastchage:minage:maxage:warning:inactive:expire:blank

  • name:用户账号名称
  • password:加密的密码串信息
  • lastchange:最近一次修改密码时间
  • minage:密码的最短使用天数(默认值0)
  • maxage:密码的最长有效天数(默认99999)
  • warning:密码过期提前警告(默认7)
  • inactive:密码过期后账号的活动天数,指定天数后账号被锁定
  • expire:账号失效时间(默认为空)
  • blank:保留字段(未使用)
    当创建了一个新用户之后,需要设置一个密码,否则无法登录(没有默认密码)
    我们可以通过在root用户下输入passwd命令来修改一个用户的密码
    image.png
    可以看到,在输入两次新密码之后显示修改密码成功

用户组管理

用户组文件——/etc/group
groupname:passwd:gid:groupmember

  • groupname:组名
  • passwd:组密码
  • gid:组号
  • groupmember:组成员
    对于用户组管理,我们有以下几种操作,下面分别来进行介绍:
  • groupadd + 选项 + 用户名 添加用户组号
  • groupmod + 选项 + 用户名 修改用户账组号
  • groupdel + [-r] + 用户名 删除用户组号

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

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

相关文章

Wordpress自动定时发布怎么开通-Wordpress怎么自动发布原创文章

在当今数字化时代,博客已经成为许多人分享观点、经验和知识的重要平台。然而,对于博主们来说,每天按时发布一篇又一篇的文章可能是一项具有挑战性的任务。为了解决这个问题,一些创新的工具应运而生,其中包括WordPress的…

48、Flink DataStream API 编程指南(1)- DataStream 入门示例

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

记一篇Centos7安装innodb_ruby

安装innodb_ruby过程非常坎坷,这里记录下安装过程,有些坑当时没有记录下来,主要把完成安装过程就记录下来 yum安装ruby默认的会安装ruby2.0.0版本,但是在安装innodb_ruby时,会报错,提示至少需要2.4版本以上…

[架构之路-254]:目标系统 - 设计方法 - 软件工程 - 软件设计 - 架构设计 - 全程概述

目录 一、软件架构概述 1.1 什么是软件架构 1.2 为什么需要软件架构设计 1.3 软件架构设计在软件设计中位置 (1)软件架构设计(层次划分、模块划分、职责分工): (2)软件高层设计、概要设计…

const 和 constexpr 深入学习

在 C 中,const 和 constexpr 都可以用来修饰对象和函数。修饰对象时,const 表示它是常量,而 constexpr 表示它是一个常量表达式。常量表达式必须在编译时期被计算1。修饰函数时,const 只能用于非静态成员的函数,而 con…

Python实现学生信息管理系统(详解版)

Python实现学生信息管理系统-详解版 个人简介实验名称:学生信息管理系统系统功能实验步骤详讲添加入住学生信息删除学生的住宿信息修改学生的住宿信息查询学生的住宿信息显示所有学生住宿信息显示所有请假学生的信息 运行截图展示1.主界面2.添加新的入住学生信息3.显…

网络通信与TCP.IP协议

网络通信与TCP.IP协议 URI 用字符串标识某一互联网资源,而 URL 表示资源的地点(互联网上所处的位置)。可见 URL 是 URI 的子集 URL (Uniform Resource Locator),统一资源定位符 ,用于描述一个网络上的资源 DNS: &#…

TableAgent:首个国产可私有部署的企业级Code Interpreter

TableAgent公测地址:https://tableagent.DataCanvas.com 数字化时代,数据分析的重要性犹如空气般无处不在。商业数据分析是数字化管理、智能决策的基础,同时数据分析又是一个专业性极强的工作,描述性分析、诊断性分析、预测性分…

版本控制系统Git学习笔记-Git基本知识介绍

目录 前言一、版本控制系统1.1 什么是版本控制系统1.2 本地版本控制系统1.3 集中化的版本控制系统1.3 分布式版本控制系统 二、Git简介2.1 数据处理方式2.2 几个特点2.2.1 几乎所有操作都是本地执行2.2.2 Git保证完整性2.2.3 Git一般只添加数据 2.3 Git中文件状态2.3.1 三种文件…

排序算法基本原理及实现2

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 🌤️冒泡排序 &#x1…

AI伪原创软件-AI伪原创工具下载

在当今数字化时代,创作者们在追求独特创意的同时,也面临着时间和灵感的双重挑战。AI伪原创技术应运而生,为创作者提供了一种快捷而便利的解决方案。本文将专心分享两款备受瞩目的AI伪原创工具,147SEO伪原创、百度文心一言伪原创&a…

数据结构-02-链表

相比数组,链表是一种稍微复杂一点的数据结构。掌握起来也要比数组稍难一些。这两个非常基础、非常常用的数据结构。 1-链表结构 数组需要一块连续的内存空间来存储,对内存的要求比较高。如果我们申请一个20MB大小的数组,当内存中没有连续的、…