关于Linux系统用户和用户组的使用

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • 用户和用户组
    • 1. Linux用户分类
    • 2. 用户管理命令
      • 2.1 命令使用权限
      • 2.2 添加用户
      • 2.3 切换用户
      • 2.4 修改用户密码
      • 2.5 修改已有用户信息
      • 2.6 删除用户
    • 3. 用户组管理
      • 3.1 使用权限
      • 3.2 增加用户组
      • 3.3 修改用户组


用户和用户组

1. Linux用户分类

用户有以下几种类型:root用户、系统用户和普通用户

用户类型权限等级描述信息
root用户UID为0权限最高,也称为超级用户
系统用户UID为1-999用户不具有登录linux系统的能力但系统运行又不可或缺,也称为虚拟用户、伪用户、假用户,如ftp、mail等用户
普通用户UID为1000-60000可登录系统操作自己目录的内容的用户

拓展
/etc/passwd文件
所有用户均记录在该文件,一行表示一个用户的账号信息,信息组成部分共7个,依次为用户名、密码、用户标识号UID、用户所属的主要群组标识号GID、用户名全称、用户主目录、用户使用的Shell类型

UID值
UID使用户的ID值,系统中的每一个用户的UID值唯一,该值是确认用户权限的标识,用户登录系统所处的角色通过UID判断识别而非用户名

/etc/shadow文件
该文件是/etc/passwd的互补文件,内容包含用户及被加密的密码和/etc/passwd中不包含的信息,如用户账号有效期,该文件只有root权限可读取和操作

2. 用户管理命令

2.1 命令使用权限

用户管理的相关命令使用权限范围或者级别为root管理员

2.2 添加用户

添加用户的语法如下

useradd <username> <options>

username为用户名
options为参数值

如useradd libai -b /usr表示添加用户名李白并指定账号的主目录的基目录为/usr

options参数可选如下

参数描述
-bb为base的简写,后跟目录,指定新账户的主目录的基目录
-cc为commit的简写,后跟描述信息,指定新用户的一段提交描述
-d后跟目录,指定新用户的主目录,如果目录不存在则同时使用-m选项可创建主目录
-DD为defaults的简写,显示或更改默认的useradd配置
-ee为expiredate的简写,后跟日期,指定新用户的过期日期
-f后跟日期,指定用户的密码不活动期
-gg为gid的简写,后跟用户组的名称或ID,指定用户所属的用户组
-GG为groups的简写,后跟用户组,指定用户所属的附加组
-hh为help的简写,显示帮助信息
-kk为skel的简写,后跟目录,指定用户的骨架目录
-KK为key的简写,后跟key=value,不使用/etc/login.defs中的默认值
-l不将此用户添加到最近登录和登录失败的数据库
-m创建用户的主目录
-M不创建用户的主目录
-N不创建同名的组
-o允许使用重复的UID创建用户
-pp为password的简写,后跟密码,指定加密后的新账号密码
-r创建一个系统账号
-RR为root的简写,后跟目录,指定chroot到的目录
-ss为shell的简写,后跟shell文件,指定新用户的登录shell
-uu为uid的简写,后跟UID,指定用户的用户号,如果同时有-o选项则可以重复使用其他用户标识号
-UU为user-group的简写,创建于用户同名的组
-Z后跟seuser,为selinux用户映射使用指定的seuser

2.3 切换用户

语法:

su <username>

如切换到用户libai

su libai

2.4 修改用户密码

语法

passwd <options> <username>

options可用参数如下

参数描述
-l锁定口令,禁用账号
-u口令解锁
-d设置账号无口令
-f强迫用户下次登录时修改口令

2.5 修改已有用户信息

语法

usermod <options> <username>

options可用参数

参数完整字母描述
-aappend后跟附加组,将用户追加到下边-G中提到的附件组中,并不从其他组中删除此用户
-ccommit后跟描述信息,GECOS字段的新值
-d后跟目录,指定新用户的主目录,如果目录不存在则同时使用-m选项可创建主目录
-eexpiredate后跟日期,指定新用户的过期日期
-f后跟日期,指定用户过期inactive天数后,设定密码为失效状态
-ggid后跟用户组的名称或ID,强制使用Group为新主组
-Ggroups后跟用户组,指定用户所属的新的附加用户组
-hhelp显示帮助信息
-llogin后跟登录名,指定新的登录名称
-Llock锁定用户账号
-mmove-home将home目录内容移至新位置,该参数仅与-d参数一起使用
-onon-unique允许使用重复的UID创建用户
-ppassword后跟密码,指定加密后的新账号密码
-Rroot后跟目录,指定chroot到的目录
-sshell后跟shell文件,指定新用户的登录shell
-uuid后跟UID,指定用户的用户号,如果同时有-o选项则可以重复使用其他用户标识号
-Uuser-group创建于用户同名的组
-Zselinux-user后跟seuser,为selinux用户映射使用指定的seuser

2.6 删除用户

语法

userdel <options> <username>

options参数

参数完整字母描述
-fforce强制删除用户,即使当前用户已经登录,也会被删除
-hhellp显示帮助信息
-rremove删除用户的同时删除与用户相关的所有文件,包括主目录和邮件池
-Rroot后跟chroot目录,表示chroot到的目录
-Zselinux-user为用户

3. 用户组管理

3.1 使用权限

用户组的使用权限范围为root管理员用户

3.2 增加用户组

先新增一个用户组,然后将用户组添加到组中
语法

groupadd <options> <useradd>

options参数可选项

参数完整字母描述
-fforce如果组已经存在则成功退出,且如果GID已经存在则取消-g
-ggid后跟GID,为新组使用GID
-hhelp显示帮助信息
-Kkey后跟key=value,不使用/etc/login.defs中的默认值
-onon-unique允许使用重复的GID创建用户组,一般与-g选项同时使用,新用户组GID和系统已有用户组的GID可以相同
-ppassword后跟密码,指定加密后的新账号密码
-rsystem创建一个系统账户
-Rroot后跟chroot目录,表示chroot到的目录

拓展
用户主组、附加组
一个账户可以属于多个组群,挑一个作为用户的主组,用户登录系统后就属于改组

3.3 修改用户组

语法

groupmod <options> <group>

options参数选项

参数完整字母描述
-ggid后跟GID,为用户组指定新的GID
-hhelp显示帮助信息
-nnew-name后跟新组,改名为新的组名
-onon-unique允许使用重复的GID,一般与-g选项同时使用,新用户组GID和系统已有用户组的GID可以相同
-ppassword后跟密码,将密码改为加密过的密码
-Rroot后跟chroot目录,表示chroot到的目录

感谢阅读,祝君暴富!

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

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

相关文章

教程 | 在 Navicat 17 中管理连接

Navicat 17 提供了比以往更多的连接数据库实例的方式。除了传统的连接字符串方式以外&#xff0c;Navicat 17 还支持 URI 连接&#xff0c;无论身在何处&#xff0c;都可以轻松地通过 URI 访问对象。另外&#xff0c;还有一个新的管理连接功能&#xff0c;即允许你通过一个以用…

【LeetCode】39.组合总和

组合总和 题目描述&#xff1a; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个…

高中数学:平面向量-常考题型汇总

一、数量积运算 例题1 解析 首先&#xff0c;为了化简运算过程&#xff0c;我们把OA、OB、OC向量记作a、b、c向量。 其次&#xff0c;充分利用已知条件&#xff0c;进行消元&#xff0c;两边平方&#xff0c;可以消除一个向量。 a → \mathop{a}\limits ^{\rightarrow} a→ *…

【简单探索微软Edge】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

(delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(Object Pascal中的泛型)

14.2 Object Pascal中的泛型 ​ 在前面的例子中&#xff0c;我们已经看到了如何在Object Pascal中定义和使用泛型类。我决定在深入讨论这个非常重要但又相当复杂的技术细节之前&#xff0c;通过一个例子来介绍泛型这一特性。在从语言角度讨论泛型之后&#xff0c;我们将列举更…

Hadoop文件存储格式

1. TextFile 默认格式&#xff0c;存储方式为行存储&#xff0c;数据不做压缩&#xff0c;磁盘开销大&#xff0c;数据解析开销大。可结合 Gzip、Bzip2 使用(系统自动检查&#xff0c;执行查询时自动解压)&#xff0c;但使用 这种方式&#xff0c;压缩后的文件不支持 split&am…

2024.6.3总结1100

今天面试了一家广西电信公司&#xff0c;然后受到武汉华为的hr的电话沟通&#xff0c;如果没意外的话&#xff0c;下周就能收到offer了。 求职也算是踏入社会的第一步了&#xff0c;经过两个月的求职过程&#xff0c;我除了关于求职方面的技巧&#xff0c;也扩展了我的认知。 …

R语言安装caret包报错

R语言安装caret包报错&#xff1a;Error: package or namespace load failed for ‘caret’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck vI[[i]]): 不存在叫‘recipes’这个名字的程辑包 https://rbasics.org/packages/caret-package-in-r/ R版本的问题&…

商业新闻|你还在用传统搜索引擎吗?

‍‍今天是2024年第22周 这是Yura「输出倒逼输入」计划的第11篇文章 全年进度&#xff1a;11/52 01 AI搜索为什么没超过传统搜索&#xff1f; 生成式AI在搜索引擎领域掀起了一轮又一轮的波澜&#xff0c;但是一年多过去了&#xff0c;不管是必应还是perplexity都并没有动摇Goog…

深度解读GPT基本原理

GPT&#xff08;Generative Pre-trained Transformer&#xff09;是一种基于Transformer架构的生成式预训练模型&#xff0c;其核心在于通过大规模无监督学习来捕捉语言知识和模式&#xff0c;并通过微调来适应各种下游任务。以下是GPT基本原理的详细解读&#xff1a; 1.Trans…

pandas习题 036:选择 DataFrame 的多个列

有以下一个 DataFrame&#xff0c;请从中选择 name 和 english 这两列形成一个 DataFrame。 import pandas as pddata {name: [Alice, Bob, Charlie, David, Eve],grade: [10, 11, 10, 12, 11],math: [90, 85, 92, 88, 95],english: [85, 92, 88, 90, 92],science: [92, 90, …

【TB作品】MSP430G2553霓虹灯呼吸灯跑马灯

霓虹灯&#xff1a; 跑马灯&#xff1a; 呼吸灯&#xff1a; 所有代码&#xff1a; 下载&#xff1a; https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tabBB08J2

苹果CMS:怎么添加2019和2020年份筛选

我们进入搜索的时候看到一个关于年份的搜索&#xff0c;那如果上面没有出现19,20我们该如何处理呢&#xff1f; 我们进入管理后台 -【系统】-【网站参数配置】-【预留参数】 添加下视频年代逗号隔开即可 如果要设置地区&#xff0c;语言也实在这里直接配置即可&#xff01;&am…

毫米波雷达阵列天线设计综合1(MATLAB仿真)

1 天线设计目标 毫米波雷达探测目标的距离、速度和角度&#xff0c;其中距离和角度和天线设计相关性较强。天线增益越高&#xff0c;则根据雷达方程可知探测距离越远&#xff1b;天线波束越窄&#xff0c;则角度分辨率越高&#xff1b;天线副瓣/旁瓣越低&#xff0c;则干扰越少…

Kibana的使用

在学习elasticsearch时&#xff0c;可以使用Kibana自带的开发工具&#xff0c;来提高效率&#xff0c; 浏览器打开Kibana,在左侧菜单栏中找到Dev Tools 该工具提供代码提示和代码格式化功能&#xff0c;非常有用&#xff0c;

C++笔记(1)

1. C语言和C的区别&#xff1f; C语言作为一种过程性语言&#xff0c;侧重于通过算法描述来指导计算机执行&#xff0c;将复杂程序分解为简单、可管理的模块。 C语言支持模块化编程&#xff0c;每个模块作为独立的单元。C融合了3中不同的编程方式&#xff1a;C语言、面向对象…

【已解决】记录Vue2.x中npm install下载依赖报错:python2 Error: not found: python2问题(具体操作步骤)

项目场景&#xff1a; 项目场景&#xff1a;在项目开发中&#xff0c;升级了本地node版本后&#xff0c;重新npm install下载依赖报错找不到python环境 not found: python2 npm ERR! gyp verb check python checking for Python executable “python2” in the PATH 在尝试了各…

Codeforces Round 950 (Div. 3)(A~F2)

G题只会暴力..不会数据结构 A - 问题 Generator 暴力模拟即可 // Problem: A. Problem Generator // Contest: Codeforces - Codeforces Round 950 (Div. 3) // URL: https://codeforces.com/contest/1980/problem/A // Memory Limit: 256 MB // Time Limit: 1000 ms // //…

哈夫曼树的构造,哈夫曼树的存在意义--求哈夫曼编码

一:哈夫曼树的构造 ①权值,带权路径长度。 ②一组确定权值的叶子节点可以构造多个不同的二叉树,但是带权路径长度min的是哈夫曼树 ③算法基本思想及其实操图片演示 注:存储结构和伪代码 1 初始化: 构造2n-1棵只有一个根节点的二叉树,parent=rchild=lchild=-1; 其中…

构造一个高效的哈希表:从基本思路到最终实现

哈希表是计算机科学中常用的数据结构之一&#xff0c;它提供了快速的查找、插入和删除操作。在本篇博客中&#xff0c;我们将探讨如何构造一个高效的哈希表&#xff0c;从最基本的思路逐步完善&#xff0c;直至最终实现。 1. 初始思路&#xff1a;使用布尔数组存储 我们最初的…