【Linux】用户管理

创建与删除

adduser

adduser 是一个交互式命令,用于创建新用户并设置初始环境。

sudo adduser 用户名

示例:

sudo adduser newuser

useradd

useradd 是一个非交互式命令,允许你通过选项指定用户的属性。

sudo useradd [选项] 用户名

常见选项:

  • -m:创建用户的主目录。
  • -d:指定用户的主目录。
  • -s:指定用户的默认 shell。
  • -G:指定用户所属的附加组。

示例:

sudo useradd -m -s /bin/bash newuser
sudo passwd newuser

deluser

deluser 是一个交互式命令,用于删除用户及其相关文件。

sudo deluser [选项] 用户名

常见选项:

  • --remove-home:删除用户的主目录及其内容。

示例:

sudo deluser --remove-home newuser

userdel

userdel 是一个非交互式命令,用于删除用户。

sudo userdel [选项] 用户名

常见选项:

  • -r:删除用户及其主目录。

示例:

sudo userdel -r newuser

信息修改

usermod

usermod 命令用于修改现有用户的属性。

sudo usermod [选项] 用户名

常见选项:

  • -l:修改用户名。
  • -d:修改用户的主目录。
  • -s:修改用户的默认 shell。
  • -G:修改用户所属的附加组。
  • -aG:添加用户到附加组而不移除现有组。

示例:

sudo usermod -d /home/newhome newuser
sudo usermod -aG sudo newuser
passwd

passwd 命令用于设置或修改用户的密码。

passwd [用户名]

示例:

sudo passwd newuser
chage

chage 命令用于修改用户密码的有效期和到期信息。

sudo chage [选项] 用户名

常见选项:

  • -l:列出用户的密码信息。
  • -M:设置密码的最大有效期(天数)。
  • -m:设置密码的最小有效期(天数)。
  • -W:设置密码到期前的警告天数。

示例:

sudo chage -M 90 newuser

用户组管理

groupadd

groupadd 命令用于创建新的用户组。

sudo groupadd 组名

示例:

sudo groupadd newgroup

groupdel

groupdel 命令用于删除现有的用户组。

sudo groupdel 组名

示例:

sudo groupdel newgroup

gpasswd

gpasswd 命令用于管理 /etc/group 文件中的组成员。

  • 添加用户到组

    sudo gpasswd -a 用户名 组名
    

    示例:

    sudo gpasswd -a newuser newgroup
    
  • 从组中删除用户

    sudo gpasswd -d 用户名 组名
    

    示例:

    sudo gpasswd -d newuser newgroup
    

信息查看

id

id 命令用于显示用户的用户ID(UID)、组ID(GID)及其所属的附加组ID。

id [用户名]

示例:

id newuser

groups

groups 命令用于显示用户所属的所有组。

groups [用户名]

示例:

groups newuser

who

who 命令用于显示当前登录系统的用户信息。

who

示例:

who

切换用户

su

su 命令用于切换到另一个用户的身份,默认切换到超级用户(root)。

su [用户名]

示例:

su newuser

sudo

sudo 命令用于以超级用户权限执行命令。

sudo 命令

示例:

sudo apt update

示例完整流程

以下是一个完整的示例流程,从创建用户到设置密码、权限和查看用户信息:

# 创建用户并设置初始环境
sudo adduser newuser# 或者使用 useradd 创建用户并设置密码
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser# 将用户添加到 sudo 组
sudo usermod -aG sudo newuser# 修改用户的密码有效期
sudo chage -M 90 newuser# 创建新用户组并将用户添加到组中
sudo groupadd newgroup
sudo gpasswd -a newuser newgroup# 查看用户的信息和权限
id newuser
groups newuser# 切换到新用户身份
su newuser

通过以上命令,你可以全面管理系统中的用户和组,确保系统的安全性和用户的管理便捷性。

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

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

相关文章

SCADA系统对于工业生产的意义!

关键字:LP-SCADA系统, 传感器可视化, 设备可视化, 独立SPC系统, 智能仪表系统,SPC可视化,独立SPC系统 SCADA系统在智能制造中扮演着至关重要的角色,它通过集成和自动化工厂车间的各种过程,提高了生产效率和产品质量,降低了成本,并…

【AI绘画 ComfyUI】全新整合包来袭!一键安装 即开即用,超好用的工作流形式的AI绘画工具!

大家好,我是画画的小强 请在看这篇文章的人注意,本文章介绍的Comfy UI整合包是一个节点式的工作,流式的AI绘画界面,并不适合新手使用。 如果你在找的是Web UI, 请前往我之前发布一篇的文章AI绘画『Stable Diffusion』面向小白的…

【高中数学/基本不等式】设a,b>0.a+b=5,则 根号下(a+1)+根号下(b+3) 的最大值为?(2015重庆卷)

【问题】 设a,b>0.ab5,则根号下(a1)根号下(b3)的最大值为? 【解答】 解法一: 因双根号计算不便,故采用平方后简化之。 原式的平方a12倍根号下((a1)(b3))b3 ab42倍根号下((a1)(b3)) 因为ab5 a1b31359 9(a1)(b3)>2倍根号下((a1)…

【小贪】项目实战——Zero-shot根据文字提示分割出图片目标掩码

目标描述 给定RGB视频或图片,目标是分割出图像中的指定目标掩码。我们需要复现两个Zero-shot的开源项目,分别为IDEA研究院的GroundingDINO和Facebook的SAM。首先使用目标检测方法GroundingDINO,输入想检测目标的文字提示,可以获得…

uniapp中如何进行微信小程序的分包

思路:在uniapp中对微信小程序进行分包,和原生微信小程序进行分包的操作基本上没区别,主要就是在pages.json中进行配置。 如图,我新增了一个包diver-page 此时需要在pages.json中的subPackages数组中新增一项 root代表这个包的根…

用好华为小助手,生活总能快人一步

嘿!朋友们!你们有没有想过,如果身边有一个小助手,他不仅聪明伶俐,还能在生活的方方面面给予你最贴心的关怀和帮助,让我们的日常生活变得更加方便和快捷,那该有多好!没错,…

【云原生】Kubernetes资源配额+HPA+节点选择器+亲和性+污点

Kubernetes高级功能 文章目录 Kubernetes高级功能一、资源配额1.1、什么是资源配额1.2、资源配额应用1.2.1、针对Namespace设置资源配额1.2.2、针对Pod设置资源配额 二、HorizontalPodAutoscaler(HPA)2.1、什么是HorizontalPodAutoscaler2.2、Horizontal…

谈谈创意设计中的AI、AGI、AIGC

在当今的数字化时代,创意设计领域正经历着前所未有的变革。随着人工智能(AI)、通用人工智能(AGI)以及人工智能生成内容(AIGC)的迅猛发展,设计师们的工作方式和创作手段都发生了深刻的…

Spring Boot中的缓存配置与优化

Spring Boot中的缓存配置与优化 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨在Spring Boot应用中如何配置和优化缓存,以提升系统的…

UML形式化建模期末复习笔记

本文档为xmind导出,可能存在缺少图片等问题,建议下载思维导图查看完整内容 链接: https://pan.baidu.com/s/17s-utC2C6Qg0tFp61Kw0ZQ?pwduq64 提取码: uq64 概述 UML: Unified Modeling Language 统一建模语言 建模 定义 把不太理解的东西和一些已经较…

隔离级别是如何实现的?

在数据库管理系统中,隔离级别(Isolation Level)是用来定义事务在执行过程中可以看到其他事务执行中的操作的一个设置。这主要用于控制事务之间的并发性和数据一致性。SQL标准定义了四种隔离级别,每种级别都以不同的方式平衡了性能…

Swift 中的 StoreKit 测试

文章目录 前言创建一个 StoreKit Demo使用 SKTestSessionaskToBuyEnabled 属性总结前言 StoreKit 框架的第二次迭代是我在过去几年中应用程序中最重大的变化。最近版本的 StoreKit 框架已完全采用了 Swift 语言特性,如 async 和 await。本篇内容我们将讨论 StoreKitTest 框架…

【揭秘】嘴尚绝卤味健康新风尚,让你吃得美味又健康!

在快节奏的现代生活中,美食不仅是味蕾的享受,更是健康生活的追求。今天,我们要聊的就是备受食客们青睐的“嘴尚绝卤味”——如何在享受美味的同时,也能兼顾健康饮食的理念。 一、卤味文化,源远流长 卤味,作…

Redis缓存管理机制

在当今快节奏的数字世界中,性能优化对于提供无缝的用户体验至关重要。缓存在提高应用程序性能方面发挥着至关重要的作用,它通过将经常使用或处理的数据存储在临时高速存储中来减少数据库负载并缩短响应时间,从而减少系统的延迟。Redis 是一种…

navicat Lite 版

navicat Lite 版: Navicat 出了一个 Navicat Premium 的Lite版。 官方现在链接:https://www.navicat.com.cn/download/navicat-premium-lite#windows 从官网可以看到现在能够下载最新版本 17,支持各种平台

[vue2/vue3] 详细剖析watch、computed、watchEffect的区别,原理解读

前言:哈喽,大家好,我是前端菜鸟的自我修养!今天给大家分享【深入剖析watch、computed、watchEffect的区别】,并提供具体代码帮助大家深入理解,彻底掌握!原创不易,如果能帮助到带大家…

为什么企业应用开发,c++干不过java?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「c的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! C/C这种东西,根本…

使用Optimum的BetterTransformer为常见的transformer结构模型进行推理加速

概述 🤗 Optimum 提供了一个名为 BetterTransformer 的 API,这是标准 PyTorch Transformer API 的快速路径,能够通过稀疏性和融合内核(如 Flash Attention)在 CPU 和 GPU 上实现有趣的加速。目前,BetterTr…

一个 API 客户端和一份 TS 学习手册

第75期: Insomnia:超好看的 API 客户端 项目介绍: 一款适用于 GraphQL、REST、WebSockets 和 gRPC 的开源 API 客户端,颜值超高。 跨平台,支持 Mac、Windows 和 Linux。但不支持网页版,需要下载客户端。…

Supabase 自托管部署实践

Supabase 是 Firebase 的开源替代品。使用 Postgres 数据库、身份验证、即时 API、边缘函数、实时订阅、存储和向量嵌入来启动您的项目。 Supabase介绍 Supabase 是一个开源的后端即服务(BaaS)平台,提供了一系列工具和服务,帮助…