Linux总结

devtools/2025/3/4 12:35:32/

1 用户与用户组管理

1.1 用户与用户组

//linux用户和用户组
Linux系统是一个多用户多任务的分时操作系统
使用系统资源的用户需要账号进入系统
账号是用户在系统上的标识,系统根据该标识分配不同的权限和资源
一个账号包含用户和用户组
//用户分类
超级管理员 UID0 拥有系统一切权限 一般为root用户
系统用户(伪用户) UID 1-499  方便系统管理,用来运行系统和服务的用户
普通用户 UID500开始 可以登入系统的用户 拥有系统部分权限
//用户组分类
初始组 用户刚登陆系统所在的组,用户必须有一个且只能有一个
附加组 除了初始组外加入的其他组,可以有0或多个

1.2 Linux 系统添加用户 useradd

`命令格式 useradd [选项] 用户名`
选项i
`-u 用户ID` 指定用户id,一般指定UID要大于500,不指定系统会自动分配
`-g 初始组名` 指定用户初始组 尽量不要指定 系统会创建和新增用户名相同的组为该用户的初始组
`-G 附加组名` 指定用户所属附加组 多个时用逗号隔开
`-c 说明文字` 备注文字  文字会保存到“/etc/passwd”文件第五列
`-d 家目录`指定用户家目录
`-s shell` 指定用户登陆后使用的shell程序vim /etc/passwd 查看添加的用户
vim /etc/shadow 查看用户密码

1.3 Linux修改用户密码 passwd

`命令格式 passwd [选项] 用户名`
选项
`-l--lock` 临时锁住密码使密码失效
`-u--unlock` 解锁
`-d--delete` 删除现有用户的密码
`-n 天数`两次密码修改时间间隔 /etc/shadow第四列
`-x 天数`密码有效期/etc/shadow第五列
`-w 天数`密码到期前的警告天数/etc/shadow第六列
`-i 天数`密码到期后的宽限天数/etc/shadow第七列
`-S--status` 显示用户密码状态
`--stdin` 从标准输入读取令牌 主要用在通过脚本批量添加用户,不需要交互的场景`用户名` 用户名省略 默认修改当前登陆用户的密码 一般修改自己的密码直接执行passwd就可以
只有管理员才有修改用户密码权限 普通用户只能改自己的密码

1.4 Linux 修改系统用户信息 usermod

`命令格式 usermod [选项] 用户名`
选项
`-u` 修改用户ID
`-d` 修改用户家目录
`-c` 修改用户说明
`-g` 修改用户初始组
`-G` 修改用户附加组
`-s` 修改用户登入后所使用的shell程序
`-e` 修改账号失效日期 格式“YYYY-MM—DD”
`-l` 修改用户名
`-L` 锁定账号   与 `passwd -l 用户名`作用一样
`-u` 解锁账号

1.5 Linux 删除用户 userdel

`命令格式 userdel [选项] 用户名`
选项
`-r` 同时删除用户家目录和用户邮件

1.6 Linux查看用户UID和GID id

`命令格式 id [选项] 用户名`
选项
一般不使用任何选项
`-g` 仅显示该用户当前有效的用户组ID
`-G` 显示该用户所有用户组ID
`-u` 仅显示该用户ID

1.7 Linux添加用户组 groupadd

`命令格式 groupadd [选项] 组名`
选项
`-g` 指定组ID
`-r` 创建系统用户组 系统用户组的组ID小于1000 与/etc/login.defs内的 GID_MIN有关

1.8 Linux修改用户组 groupmod

`命令格式 groupmod [选项] 组名`
选项
`-g` 修改组ID
`-n` 修改组名

1.9 Linux删除用户组 groupdel

`命令格式 groupdel  组名`
注 如果用户组是某个用户的初始组 必须先删除这个用户或修改用户的GID后才能删除该用户组

1.10 显示当前登陆用户名 whoami

1.11 显示当前已登陆用户信息 w /who

这两个指令查询的信息都来源于日志文件 /etc/run/utmp

`命令格式 w [选项] 用户名`
选项
`-h 不打印头信息`
`-s 使用短输出格式`
`命令格式 who [选项] 查询文件`
选项
`-H 显示各栏位的标题信息列`
`-q 只显示登入系统的账号名称和总人数`
`-w 显示用户的信息状态栏`
`-u 显示闲置时间 用户一分钟没有进行任何动作 标志“。”号 超过24小时标志"old"`

1.12 用户身份切换 su /sudo

普通用户登陆系统,需要执行某些操作权限不够时,可以切换到有权限的用户身份去执行

su可以进行任何身份的切换,root用户切换其他用户不需要密码 其他情况切换都需要输入对应的登陆密码

`命令格式 su [选项] 用户名`
选项
`-或 -l--login` 切换身份时同时切换环境变量,如果不加该选项 用户切换后环境变量还是旧的
`-c` 只执行一次指令不切换身份注 不加用户名默认切换root

使用su指令需要知道root密码,这样容易导致密码流出很不安全,使用sudo来切换身份只需要知道用户自己的密码就可以,不是所有用户都能使用sudo指令,前提需要管理员给用户开发sudo权限。

`命令格式 sudo [-b] [-u 新使用者账号] 要执行的命令`
选项
`-b` 将后续的命令放到背景中让系统自行运行
`-u` 后面可以接切换的用户名 若无此项代表切换身份为root
`-l` 用法 sudo -l 显示sudo可以执行哪些命令

http://www.ppmy.cn/devtools/164453.html

相关文章

机器学习基础概念详解:从入门到应用

在机器学习领域,掌握基础概念是理解复杂模型和应用场景的关键。本文将以简洁的方式介绍机器学习的核心概念,帮助读者快速构建知识框架。 一、数据集的划分:训练集、验证集与测试集 1. 训练集(Training Set) 用途&…

【前端】CSS 备忘清单(超级详细!)

文章目录 入门介绍外部样式表 <link>内部样式表 <style>内联样式 style 添加 class 类!important选择器文本颜色背景字体定位动画注释Flex 布局Grid 布局变量和计数器 CSS 选择器示例组选择器链选择器属性选择器第一个子选择器无子选择器 基础组合器属性选择器用户…

Linux操作系统:基于 Linux 的智能家居系统开发与实现 —— 以 FS - MP1A 嵌入式开发板为例

基于 Linux 的智能家居系统开发与实现 —— 以 FS - MP1A 嵌入式开发板为例 摘要 &#xff1a;随着科技的飞速发展&#xff0c;智能家居系统逐渐走进人们的生活&#xff0c;为家庭生活带来便利与安全保障。本文以 FS - MP1A 嵌入式开发板为基础&#xff0c;构建了一个智能化的…

【JavaEE】线程安全

【JavaEE】线程安全 一、引出线程安全二、引发线程安全的原因三、解决线程安全问题3.1 synchronized关键字&#xff08;解决修改操作不是原子的&#xff09;3.1.1 synchronized的特性3.1.1 synchronized的使用事例 3.2 volatile 关键字&#xff08;解决内存可见性&#xff09; …

芯麦GC1277:电脑散热风扇驱动芯片的优质之选 并可替代传统的0CH477/灿瑞芯片。

在电脑散热风扇、小型电机驱动等场景中&#xff0c;驱动芯片的选型直接影响系统效率、噪音控制及长期可靠性。灿瑞的0CH477曾是市场主流方案&#xff0c;但随着国产芯片技术的成熟&#xff0c;芯麦半导体推出的GC1277凭借更优的驱动性能、智能化保护机制及成本优势&#xff0c;…

基于 ‌MySQL 数据库‌对三级视图(用户视图、DBA视图、内部视图)的详细解释

基于 ‌MySQL 数据库‌对三级视图&#xff08;用户视图、DBA视图、内部视图&#xff09;的详细解释&#xff0c;结合理论与实际操作说明&#xff1a; 一、三级视图核心概念 数据库的三级视图是 ANSI/SPARC 体系结构的核心思想&#xff0c;MySQL 的实现逻辑如下&#xff1a; …

【容器化】低版本docker拉取ubuntn 22.04镜像启动容器执行apt update提示 NO_PUBKEY 871920D1991BC93C

前置信息 宿主机信息 [root@localhost ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR…

用大白话解释日志处理Log4j 是什么 有什么用 怎么用

Log4j是什么&#xff1f; Log4j就像程序的“黑匣子”&#xff0c;专门用来记录软件运行时的各种信息&#xff0c;比如哪里报错、性能如何、用户操作轨迹等。它是Java领域最常用的日志框架之一&#xff0c;可以灵活控制日志内容、输出位置&#xff08;控制台、文件、数据库等&a…