Linux 账号和权限管理命令选项解释

用户账号文件

配置文件
/etc/passwd:用于保存用户

输出如下:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin

每一行代表一个用户,各字段以冒号分隔,分别为用户名、密码占位符、UID、GID、用户描述、宿主目录、登录 Shell。

/etc/shadow:用于保存用户的密码、账号有效期等信息。
示例:由于 /etc/shadow 文件只有 root 用户可访问,使用 sudo 查看该文件内容:

sudo cat /etc/shadow

输出示例:

root:$6$Lx87G5...$R8723...:18607:0:99999:7:::
daemon:*:18234:0:99999:7:::
bin:*:18234:0:99999:7:::

各字段同样以冒号分隔,分别为用户名、加密密码、最后一次修改密码的日期、密码最短使用期限、密码最长使用期限、密码到期前的警告天数、密码过期后的宽限天数、账号失效日期、保留字段。

添加、修改、删除用户账号
添加用户账号
格式:useradd [选项] 用户名
选项及示例:


-u:指定用户的 UID,要求该 UID 未被其他用户使用。
示例:创建一个名为 testuser 的用户,指定 UID 为 1002。

useradd -u 1002 testuser

-d:指定用户的宿主目录位置 (当与 -M 选项一起使用时,不生效)。
示例:创建一个名为 newuser 的用户,指定其宿主目录为 /home/newuser_dir。

useradd -d /home/newuser_dir newuser

-e:指定用户的账户失效时间,可使用 YYYY - MM - DD 的日期格式。
示例:创建一个名为 tempuser 的用户,设置其账户在 2025 - 12 - 31 失效。

useradd -e 2025-12-31 tempuser

-g:指定用户的基本组名 (或使用 GID)。
示例:创建一个名为 groupuser 的用户,指定其基本组为 users。

useradd -g users groupuser

-G:指定用户的附加组名 (或使用 GID)。
示例:创建一个名为 extrauser 的用户,将其添加到 adm 和 wheel 附加组。

useradd -G adm,wheel extrauser

M:不建立宿主目录,即使 /etc/login.defs 系统配置中已设定要建立宿主目录。
示例:创建一个名为 nohomediruser 的用户,不创建其宿主目录。

useradd -M nohomediruser

-s:指定用户的登录 Shell。
示例:创建一个名为 cshuser 的用户,指定其登录 Shell 为 /bin/csh。

useradd -s /bin/csh cshuser
删除用户账号
格式:userdel [用户名]

选项及示例:
-r:同时删除宿主目录。
示例:删除名为 olduser 的用户,并同时删除其宿主目录。

userdel -r olduser

用户账号设置密码、锁定、解锁
格式:passwd [选项] [用户名]

选项及示例:
空为设置密码:
示例:为 testuser 设置密码,执行命令后会提示输入新密码和确认密码。

passwd testuser

-d:清空指定用户的密码,仅使用用户名即可登录系统。
示例:清空 emptypassuser 的密码。

passwd -d emptypassuser

-l:锁定用户账号。
示例:锁定 lockeduser 的账号。

passwd -l lockeduser

-S:查看用户账号的状态 (是否被锁定)。
示例:查看 checkuser 的账号状态。

passwd -S checkuser

-u:解锁用户账号。
示例:解锁 unlockeduser 的账号。

passwd -u unlockeduser

修改用户账号属性
格式:usermod [选项] [用户名]

选项及示例:
-u:修改用户的 UID。
示例:将 changeuiduser 的 UID 修改为 1003。

usermod -u 1003 changeuiduser

d:修改用户的宿主目录位置。
示例:将 changediruser 的宿主目录修改为 /home/new_dir

usermod -d /home/new_dir changediruser

-e:修改用户的账户失效时间,可使用 YYYY - MM - DD 的日期格式。
示例:将 changeexpireuser 的账户失效时间修改为 2026 - 06 - 01。

usermod -e 2026-06-01 changeexpireuser

-g:修改用户的基本组名 (或使用 GID)。
示例:将 changegroupuser 的基本组修改为 staff。

usermod -g staff changegroupuser

G:修改用户的附加组名 (或使用 GID)。
示例:将 changeextrauser 的附加组修改为 video 和 audio

usermod -G video,audio changeextrauser

-s:指定用户的登录 Shell。
示例:将 changeshelluser 的登录 Shell 修改为 /bin/tcsh。

usermod -s /bin/tcsh changeshelluser

l:更改用户账号的登录名称 (Login Name)。
示例:将 oldloginname 用户的登录名称改为 newloginname。

usermod -l newloginname oldloginname

-L:锁定用户账户。
示例:锁定 lockagainuser 的账户。

usermod -L lockagainuser

-U:解锁用户账号。
示例:解锁 unlockagainuser 的账号。

usermod -U unlockagainuser

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

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

相关文章

从指令集鸿沟到硬件抽象:AI 如何重塑手机与电脑编程语言差异——PanLang 原型全栈设计方案与实验性探索1

AI 如何跨越指令集鸿沟?手机与电脑编程语言差异溯源与统一路径——PanLang 原型全栈设计方案与实验性探索1 文章目录 AI 如何跨越指令集鸿沟?手机与电脑编程语言差异溯源与统一路径——PanLang 原型全栈设计方案与实验性探索1前言一、手机与电脑编程语言…

python 实现一个简单的window 任务管理器

import tkinter as tk from tkinter import ttk import psutil# 运行此代码前,请确保已经安装了 psutil 库,可以使用 pip install psutil 进行安装。 # 由于获取进程信息可能会受到权限限制,某些进程的信息可能无法获取,代码中已经…

C之(15)cppcheck使用介绍

C之(15)cppcheck使用介绍 Author: Once Day Date: 2025年3月23日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可查看专栏: Linux实践记录_Once_day的博客-CS…

Ant Design Vue Select 选择器 全选 功能

Vue.js的组件库Ant Design Vue Select 选择器没有全选功能&#xff0c;如下图所示&#xff1a; 在项目中&#xff0c;我们自己实现了全选和清空功能&#xff0c;如下所示&#xff1a; 代码如下所示&#xff1a; <!--* 参数配置 - 风力发电 - 曲线图 * 猴王软件学院 - 大强 …

CaiT (Class-Attention in Image Transformers):深度图像Transformer的创新之路

CaiT (Class-Attention in Image Transformers)&#xff1a;深度图像Transformer的创新之路 近年来&#xff0c;Transformers 模型在自然语言处理领域的成功逐渐扩展到了计算机视觉领域&#xff0c;尤其是图像分类任务中&#xff0c;Vision Transformer (ViT) 的提出打破了卷积…

Qt之MVC架构MVD

什么是MVC架构&#xff1a; MVC模式&#xff08;Model–view–controller&#xff09;是软件工程中的一种软件架构模式&#xff0c;把软件系统分为三个基本部分&#xff1a;模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;和控制器&#xff08;Controll…

数组,指针 易混题解析(二)

目录 一.基础 1. 2. 二.中等 1. 坑 2. 3.指针1到底加什么 三.偏难 1.&#xff08;小端 x86&#xff09; 2.通过数组指针进行偏移的时候怎么偏移 3. 大BOSS &#xff08;1&#xff09;**cpp &#xff08;2&#xff09;*-- * cpp 3 &#xff08;3&#xff09;*c…

数据建模流程: 概念模型>>逻辑模型>>物理模型

数据建模流程 概念模型 概念模型是一种高层次的数据模型&#xff0c;用于描述系统中的关键业务概念及其之间的关系。它主要关注业务需求和数据需求&#xff0c;而不涉及具体的技术实现细节。概念模型通常用于在项目初期帮助业务人员和技术人员达成共识&#xff0c;确保对业务需…

spring-security原理与应用系列:建造者

目录 1.构建过程 AbstractSecurityBuilder AbstractConfiguredSecurityBuilder WebSecurity 2.建造者类图 SecurityBuilder ​​​​​​​AbstractSecurityBuilder ​​​​​​​AbstractConfiguredSecurityBuilder ​​​​​​​WebSecurity 3.小结 紧接上一篇文…

结合代码理解Spring AOP的概念(切面、切入点、连接点等)

前情回顾 对AOP的理解 我这篇文章介绍了为什么要有AOP&#xff08;AOP解决了什么问题&#xff09;以及如何实现AOP。但在实现AOP的时候&#xff0c;并未探讨AOP相关概念&#xff0c;例如&#xff1a;切面、切入点、连接点等。因此&#xff0c;本篇文章希望结合代码去理解Spring…

【AI大模型】搭建本地大模型GPT-NeoX:详细步骤及常见问题处理

搭建本地大模型GPT-NeoX:详细步骤及常见问题处理 GPT-NeoX是一个开源的大型语言模型框架,由EleutherAI开发,可用于训练和部署类似GPT-3的大型语言模型。本指南将详细介绍如何在本地环境中搭建GPT-NeoX,并解决过程中可能遇到的常见问题。 1. 系统要求 1.1 硬件要求 1.2 软…

Copilot提示词库用法:调整自己想要的,记住常用的,分享该共用的

不论你是 Microsoft 365 Copilot 的新用户还是熟练运用的老鸟&#xff0c;不论你是使用copilot chat&#xff0c;还是在office365中使用copilot&#xff0c;copilot提示词库都将帮助你充分使用copilot这一划时代的产品。它不仅可以帮助你记住日常工作中常用的prompt提示词&…

Spring:AOP

一、AOP概念的引入 为了更好地介绍AOP&#xff0c;我们以登录作为示例。 首先&#xff0c;我们先来看一下登录的原理&#xff1a; 如图所示&#xff0c;这是一个基本的登录原理图&#xff0c;但是如果我们想要在这个登录过程上再添加一些新的功能&#xff0c;比如权限校验&am…

Ubuntu实时读取音乐软件的音频流

文章目录 一. 前言二. 开发环境三. 具体操作四. 实际效果 一. 前言 起因是这样的&#xff0c;我需要在Ubuntu中&#xff0c;实时读取正在播放音乐的音频流&#xff0c;然后对音频进行相关的处理。本来打算使用的PipewireHelvum的方式实现&#xff0c;好处是可以直接利用Helvum…

CUDA 学习(4)——CUDA 编程模型

CPU 和 GPU 由于结构的不同&#xff0c;具有不同的特点&#xff1a; CPU&#xff1a;擅长流程控制和逻辑处理&#xff0c;不规则数据结构&#xff0c;不可预测存储结构&#xff0c;单线程程序&#xff0c;分支密集型算法GPU&#xff1a;擅长数据并行计算&#xff0c;规则数据结…

前端会话控制技术:cookie/session/token

目录 前端中的 Cookie、Session 和 Token&#xff1a;详解与应用1. Cookie1.1 什么是 Cookie&#xff1f;1.2 Cookie 的工作原理1.3 Cookie 的特点1.4 Cookie 的用途1.5 Cookie 的安全性 2. Session2.1 什么是 Session&#xff1f;2.2 Session 的工作原理2.3 Session 的特点2.4…

MATLAB实现基于“蚁群算法”的AMR路径规划

目录 1 问题描述 2 算法理论 3 求解步骤 4 运行结果 5 代码部分 1 问题描述 移动机器人路径规划是机器人学的一个重要研究领域。它要求机器人依据某个或某些优化原则 (如最小能量消耗&#xff0c;最短行走路线&#xff0c;最短行走时间等)&#xff0c;在其工作空间中找到一…

Shopify Checkout UI Extensions

结账界面的UI扩展允许应用开发者构建自定义功能&#xff0c;商家可以在结账流程的定义点安装&#xff0c;包括产品信息、运输、支付、订单摘要和Shop Pay。 Shopify官方在去年2024年使用结账扩展取代了checkout.liquid&#xff0c;并将于2025年8月28日彻底停用checkout.liquid…

电阻的阻值识别

电阻买回来是有偏差的&#xff0c;不同的电阻种类&#xff0c;它的偏差大小会不一样&#xff0c;偏差越小的肯定越贵 主要看要求的精度要求是否越高 色环电阻或者说插件电阻 用来读数的几个色环它是比较靠近的&#xff0c;精度的色环跟用来读数的几个色环的间距会大一点点。 间…

quartz.net条件执行

quartz.net条件执行 在使用Quartz.NET时&#xff0c;你可能需要基于某些条件来决定是否执行一个任务。Quartz.NET本身并不直接支持基于条件执行任务的功能&#xff0c;但你可以通过一些策略来实现这一需求。下面是一些方法来实现基于条件的任务执行&#xff1a; 1. 使用触发器…