Linux系统管理——用户操作

Linux系统管理——用户操作

  • 一、用户相关介绍
    • 1、用户类型
    • 2、用户相关文件
  • 二、用户操作
    • 1、创建用户
    • 2、修改用户密码
    • 3、修改用户信息
    • 4、删除用户
  • 三、用户组操作
    • 1、创建用户组
    • 2、删除用户组
    • 3、将用户加入组
    • 4、从组中踢出用户
  • 四、用户配置文件
    • 1、配置文件
    • 2、定义命令别名
    • 3、定义环境变量
  • 五、重置root密码

一、用户相关介绍

多用户多任务操作系统

1、用户类型

  • 管理员 root , uid=0
  • 普通用户
  • 系统用户, 保证某个软件/应用可正常运行; uid=1–999

2、用户相关文件

  • /etc/passwd 用户信息
// 统计用户数
[root@martin-host ~]# wc -l /etc/passwd | awk '{print $1}'
48
// 文件格式 
用户名:x:uid:gid:说明信息:家目录:shell操作系统使用uid区分不同的用户
用户组:基本组(一个)、附加组(多个)
shell:
/bin/bash:默认shell, 可正常登录系统、执行操作
/sbin/nologin: 不允许与系统进行交互 
  • /etc/shadow 用户密码信息

  • /etc/group 用户组信息

二、用户操作

1、创建用户

# useradd [选项] 用户名 
  • -s 指定用户shell, 默认/bin/bash
[root@martin-host ~]# useradd -s /sbin/nologin www 
[root@martin-host ~]# 
[root@martin-host ~]# grep "www" /etc/passwd 
www:x:1004:1004::/home/www:/sbin/nologin
  • -M 不创建家目录, 系统用户
[root@martin-host ~]# useradd -s /sbin/nologin -M docker
  • -r 创建系统用户
[root@martin-host ~]# useradd -r -s /sbin/nologin -M redis
[root@martin-host ~]# 
[root@martin-host ~]# tail -n 1 /etc/passwd 
redis:x:986:980::/home/redis:/sbin/nologin
[root@martin-host ~]# 
[root@martin-host ~]# ls /home/
AAA  BBB  demon  martin  www
[root@martin-host ~]# 
  • -G 指定用户的附加组
[root@martin-host ~]# groupadd IT
[root@martin-host ~]# useradd -G IT tome 
[root@martin-host ~]# 
[root@martin-host ~]# id tome 
uid=1006(tome) gid=1007(tome)=1007(tome),1006(IT)
[root@martin-host ~]# 
[root@martin-host ~]# grep -i "it" /etc/group 
polkitd:x:998:
rtkit:x:172:
gnome-initial-setup:x:982:
IT:x:1006:tome
[root@martin-host ~]# 
[root@martin-host ~]# useradd demon[root@martin-host ~]# tail -n 1 /etc/passwd 
demon:x:1003:1003::/home/demon:/bin/bash
[root@martin-host ~]# 
[root@martin-host ~]# tail -n 1 /etc/shadow
demon:!!:20004:0:99999:7:::
[root@martin-host ~]# 
[root@martin-host ~]# tail -n 1 /etc/group 
demon:x:1003:
[root@martin-host ~]# ls /home/
AAA  BBB  demon  martin
[root@martin-host ~]# 
[root@martin-host ~]# ls /var/spool/mail/
AAA  BBB  demon  martin  root  rpc

切换用户

[root@martin-host ~]# su - demon
[demon@martin-host ~]$ 
[demon@martin-host ~]$ 
[demon@martin-host ~]$ exit
登出

查看用户的登录信息

[root@martin-host ~]# who 
root     :0           2024-10-08 09:05 (:0)
root     pts/0        2024-10-08 09:06 (192.168.140.1)
root     pts/1        2024-10-08 10:48 (192.168.140.1)

查看用户ID

[root@martin-host ~]# id martin 
uid=1000(martin) gid=1000(martin)=1000(martin)

2、修改用户密码

# passwd 用户名 注意: 普通用户只能修改自己的密码
[root@martin-host ~]# whoami 
root
[root@martin-host ~]# 
[root@martin-host ~]# passwd
更改用户 root 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@martin-host ~]# 
[root@martin-host ~]# passwd demon
更改用户 demon 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@martin-host ~]# su - martin
上一次登录:六 928 15:10:47 CST 2024pts/0 上
[martin@martin-host ~]$ 
[martin@martin-host ~]$ 
[martin@martin-host ~]$ passwd 
更改用户 martin 的密码 。
为 martin 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
无效的密码: 密码少于 8 个字符
新的 密码:
无效的密码: 密码少于 8 个字符
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[martin@martin-host ~]$ 
  • -l 锁定用户
[root@martin-host ~]# passwd -l demon
锁定用户 demon 的密码 。
passwd: 操作成功
  • -u 解锁用户
[root@martin-host ~]# passwd -u demon
解锁用户 demon 的密码。
passwd: 操作成功

3、修改用户信息

# usermod [选项] 用户名
  • -s 修改用户shell
[root@martin-host ~]# grep "redis" /etc/passwd
redis:x:986:980::/home/redis:/sbin/nologin
[root@martin-host ~]# 
[root@martin-host ~]# usermod -s /bin/bash redis
[root@martin-host ~]# 
[root@martin-host ~]# grep "redis" /etc/passwd 
redis:x:986:980::/home/redis:/bin/bash
[root@martin-host ~]# 
  • -G 组名, 修改附加组
[root@martin-host ~]# id tome
uid=1006(tome) gid=1007(tome)=1007(tome),1006(IT)
[root@martin-host ~]# 
[root@martin-host ~]# groupadd jishu
[root@martin-host ~]# usermod -G jishu tome
[root@martin-host ~]# 
[root@martin-host ~]# id tome 
uid=1006(tome) gid=1007(tome)=1007(tome),3001(jishu)
// -aG, 加入多个组
[root@martin-host ~]# id tome 
uid=1006(tome) gid=1007(tome)=1007(tome),1006(IT)
[root@martin-host ~]# 
[root@martin-host ~]# usermod -aG jishu tome 
[root@martin-host ~]# 
[root@martin-host ~]# id tome 
uid=1006(tome) gid=1007(tome)=1007(tome),1006(IT),3001(jishu)

4、删除用户

[root@martin-host ~]# userdel -r pg -r: 同时删除用户相关的文件 

三、用户组操作

1、创建用户组

[root@martin-host ~]# groupadd caiwu

2、删除用户组

[root@martin-host ~]# groupdel caiwu

3、将用户加入组

[root@martin-host ~]# grep "IT" /etc/group
IT:x:1006:tome[root@martin-host ~]# gpasswd -a martin IT
正在将用户“martin”加入到“IT”组中
[root@martin-host ~]# gpasswd -a demon IT
正在将用户“demon”加入到“IT”组中[root@martin-host ~]# grep "IT" /etc/group
IT:x:1006:tome,martin,demon
[root@martin-host ~]# 

4、从组中踢出用户

[root@martin-host ~]# grep "IT" /etc/group
IT:x:1006:tome,martin,demon
[root@martin-host ~]# 
[root@martin-host ~]# gpasswd -d tome IT
正在将用户“tome”从“IT”组中删除
[root@martin-host ~]# 
[root@martin-host ~]# grep "IT" /etc/group
IT:x:1006:martin,demon
[root@martin-host ~]# 

四、用户配置文件

1、配置文件

[root@martin-host ~]# ls -a /home/martin/
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc 

新建用户时,系统会自动从/etc/skel目录下复制相关的配置文件到用户的家目录

[root@martin-host ~]# touch /etc/skel/README
[root@martin-host ~]# ls /etc/skel/ -a
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla  README[root@martin-host ~]# useradd a2
[root@martin-host ~]# ls -a /home/a2/
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla  README

2、定义命令别名

  • /etc/bashrc
  • ~/.bashrc
    本质上就是脚本文件,会在打开终端时,自动执行

3、定义环境变量

[martin@martin-host ~]$ tail -n 2 .bash_profile 
export HISTSIZE=5
export HISTTIMEFORMAT="%F_%T   "[martin@martin-host ~]$ source .bash_profile~/.bash_profile:针对当前用户生效
/etc/profile:针对所有用户生效

五、重置root密码

1、重启系统,在启动菜单项按上、下键停住
2、选择菜单中的第一项,按字母e进入编辑模式
3、找到linux16开头的行,在行尾添加rd.break
4、按ctrl + x重新启动,进入救援模式
5、以读写的方式重新挂载根目录

switch_root:# mount -o remount,rw /sysroot
switch_root:# chroot /sysroot

6、重置root密码

sh-4.2# echo "redhat" | passwd --stdin root// selinux没有关闭的情况下,需要创建.autorelabel隐藏文件;selinux关闭后,可忽略 
sh-4.2# touch /.autorelabel

7、敲两次exit退出,重启测试使用新密码登录系统

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

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

相关文章

微信小程序——婚礼邀请函

一、界面设计 首页: 精美的婚礼主题背景图,可能是新人的婚纱照或浪漫的插画。温馨的欢迎语,如 “欢迎参加我们的婚礼”。一个 “打开邀请函” 的按钮,引导用户进入邀请函详情页面。 邀请函详情页面: 顶部展示新人的照片…

【数据结构与算法】Divide and Conquer

4.4 Divide and Conquer 1) 概述 分治思想 将大问题划分为两个到多个子问题子问题可以继续拆分成更小的子问题,直到能够简单求解如有必要,将子问题的解进行合并,得到原始问题的解 之前学过的一些经典分而治之的例子 二分查找快速排序归并…

【C语言】数组练习

【C语言】数组练习 练习1:多个字符从两端移动,向中间汇聚练习2、二分查找 练习1:多个字符从两端移动,向中间汇聚 编写代码,演示多个字符从两端移动,向中间汇聚 练习2、二分查找 在⼀个升序的数组中查找指…

国庆作业

day1 1.开发环境 Linux系统GCCFDBmakefilesqlite3 2.功能描述 项目功能: 服务器:处理客户端的请求,并将数据存入数据库中,客户端请求的数据从数据库进行获取,服务器转发给客户端。 用户客户端:实现账号的注册、登…

【专题】数据库系统的基本原理

1. 数据库系统概述 1.1. 数据库系统的应用 电信业、银行业、金融业、销售业、联机的零售商、大学、航空业、人力资源、制造业等等。 1.2 数据库系统的概念 (1) 数据(Data) 数据是数据库存储的基本对象。是描述现实世界中各种具体事物或抽象概念的、可…

数据结构-5.1.树的定义和基本术语

一.树的基本概念: 1.根结点:最顶层的结点,有且仅有一个,没有前驱; 2.叶子结点:不能再有子结点,没有后继; 3.结点:用于存数据; 4.也有前驱和后继的说法&…

Spring Boot快速入门:HelloWorld示例

Spring Boot是一个非常流行,受欢迎的框架,它不仅常用于构建传统的单体式MVC应用程序,同时也非常适合用于搭建微服务架构。对于 Web 应用程序,Spring Boot 提供了用于创建 REST API、处理 HTTP 请求和使用 Thymeleaf 等模板引擎呈现…

介绍一下SAP 函数 NUMBER_GET_NEXT的妙用——获取SAP编码OBJECT

NUMBER_GET_NEXT 是 SAP 中用于获取下一个可用编号的函数模块,通常用于生成唯一的编号或序列号。这个函数模块的妙用在于它能够确保编号的唯一性和连续性,适用于需要生成订单号、发票号或其他业务对象编号的场景。 我在写ABAP程序时经常要调用这个函数来…

Oracle 数据库安装及配置

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

LSTM的变体

一、GRU 1、什么是GRU 门控循环单元(GRU)是一种循环神经网络(RNN)的变体,它通过引入门控机制来控制信息的流动,从而有效地解决了传统RNN中的梯度消失问题。GRU由Cho等人在2014年提出,它简化了…

45岁被裁员的程序员,何去何从?

在当今快速变化的技术行业,职业生涯的稳定性受到挑战。在45岁被裁员,对很多程序员来说,可能是一种惊慌失措的体验。然而,这个阶段也可以被视为一个重新审视和调整方向的机会。本文将对可能的出路进行全方位的分析,并提…

PHP泛目录生成源码,可生成长尾关键词页面,带使用方法视频教程

介绍: 真正的好东西,搞网站优化seo从业必备。可以快速提升网站权重,带来的流量哗哗的 PHP泛目录生成源码 可生成新闻页面和关键词页面 带使用方法视频教程 泛目录可以用来提升网站收录和排名 合理运用目录可以达到快速出词和出权重的效果…

[简单实践]Noisy Print - 自制基于加性噪声模型的简易降噪器

NoisyPrint 最近在学习的过程中,突然想起一个在Adobe Audition中用过的功能。 为什么会想到这个功能呢,因为在我使用DeepFilter的过程中,我发现对于一些低信噪比的信号来说,DeepFilter很容易出现过拟合现象,导致音源…

使用Git生成SSH密钥教程(附Git常用命令)

一、为什么使用SSH? 使用 Git 的 SSH(安全外壳协议)主要有以下几个原因:1. 安全性:SSH 是一种加密的网络协议,用于在网络中安全地运行网络服务。使用 SSH,所有传输的数据都会被加密&#xff0c…

Mysql高级篇(下)——数据库备份与恢复

Mysql高级篇(下)——数据库备份与恢复 一、物理备份与逻辑备份1、物理备份2、逻辑备份3、对比4、总结 二、mysqldump实现逻辑备份1、mysqldump 常用选项2、mysqldump 逻辑备份语法(1)备份一个数据库(2)备份…

微服务架构---认识Zuul

目录 认识Zuul简单的例子 第一个Zuul程序步骤1:创建父工程zuul-1步骤2:创建HystrixController类步骤3:搭建服务消费者eureka-consumer项目(1)创建一个config包,在config包下新建配置类RestConfig&#xff0…

HCIP-HarmonyOS Application Developer 习题(八)

(填空)1、声明式开发范式中使用装饰器( )装饰的结构体具有组件化能力,能够成为一个自定义组件。 答案:component 分析:component 装饰的struct表示该结构体具有组件化能力,能够成为一个独立的组件&#xff…

基于springboot的篮球竞赛预约平台

作者:计算机搬砖家 开发技术:SpringBoot、php、Python、小程序、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:Java精选实战项…

【C++篇】继承之韵:解构编程奥义,领略面向对象的至高法则

文章目录 C 继承详解:初阶理解与实战应用前言第一章:继承的基本概念与定义1.1 继承的概念1.2 继承的定义 第二章:继承中的访问权限2.1 基类成员在派生类中的访问权限2.2 基类与派生类对象的赋值转换2.2.1 派生类对象赋值给基类对象2.2.2 基类…

OkHttp

OkHttp是一个用于Android和Java应用的高效HTTP客户端库。它具有以下优点: 优点 高效连接池: 支持连接复用(Connection Pooling)减少延迟。有效管理HTTP/2多路复用。 透明压缩: 自动处理Gzip压缩,减少传输…