当前位置: 首页 > java >正文

day009-用户管理专题

文章目录

  • 1. 创建包含时间的文件
  • 2. 与用户相关的文件
  • 3. 用户分类
  • 4. 与用户相关的命令
    • 4.1 添加用户
    • 4.2 删除用户
    • 4.3 查看用户
    • 4.4 修改用户密码
  • 5. sudo
  • 6. 思维导图
  • 7. 老男孩思想-学习方法

1. 创建包含时间的文件

  • ``或$()是替换符号,可以将命令的结果作为字符串或变量的一部分。
  • 注意是反引号
[root@oldboy99-Kylin ~]# touch test-`date +%F`.txt
[root@oldboy99-Kylin ~]# ll
-rw-r--r-- 1 root root          0  57 18:33 test-2025-05-07.txt

2. 与用户相关的文件

文件路径说明
/etc/passwd用户信息文件
/etc/shadow密码信息文件(密码是经过加密的,或没有密码)
/etc/group用户组信息
/etc/gshadow用户组密码信息(几乎用不到)

在这里插入图片描述

3. 用户分类

用户分类UID说明
root0超级管理员账户
虚拟用户1-999命令解释器不是/bin/bash的用户一般为虚拟用户;
这类用户无法登录系统;
虚拟用户维护着服务/软件正常运行
普通用户1000及以上日常使用的用户,可以远程登录与执行命令;
权限受限,没有root权限那么高

4. 与用户相关的命令

4.1 添加用户

  • useradd
选项说明
-s指定命令解释器;
类红帽系统中,普通用户:/bin/bash;
Ubuntu/Debian系统中,普通用户:/bin/dash;
虚拟用户都是/sbin/nologin
-m创建家目录;类红帽系统会自动创建家目录,但是Ubuntu/Debian系统不自动创建
-M不创建家目录
# 添加用户
[root@oldboy99-Kylin ~]# useradd skx
# 为用户设置密码
[root@oldboy99-Kylin ~]# passwd skx 
更改用户 skx 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
# 切换到普通用户
[root@oldboy99-Kylin ~]# su - skx 
# ctrl+d:退出当前用户
[skx@oldboy99-Kylin ~]$ 注销

[root@oldboy99-Ubuntu ~]# useradd -s /bin/bash -m lidao
[root@oldboy99-Ubuntu ~]# su - lidao
lidao@oldboy99-Ubuntu:~$ whoami
lidao

  • 添加虚拟用户
[root@oldboy99-Kylin ~]# useradd -s /sbin/nologin -M mysql
[root@oldboy99-Kylin ~]# tail -1 /etc/passwd
mysql:x:1002:1002::/home/mysql:/sbin/nologin

4.2 删除用户

  • userdel
  • -r:删除用户家目录(不推荐使用)
[root@oldboy99-Kylin ~]# userdel mysql 
[root@oldboy99-Kylin ~]# tail -1 /etc/passwd
skx:x:1001:1001::/home/skx:/bin/bash
[root@oldboy99-Kylin ~]# userdel -r skx 
[root@oldboy99-Kylin ~]# tail -1 /etc/passwd
oldboy:x:1000:1000::/home/oldboy:/bin/bash

4.3 查看用户

查看用户信息命令给你说明
whoami查看当前登陆用户
id查看用户id和组id;也能查看用户是否存在
w查看系统平均负载;当前系统上有哪些用户;当前用户正在执行什么命令
last查看用户的登录情况(什么时间、ip地址)
lastlog查看所有用户最近一次登录情况(时间、ip地址)

在这里插入图片描述


  • 用户巡检案例:
# 统计系统中有多少用户
[root@oldboy99-Kylin ~]# wc -l /etc/passwd
37 /etc/passwd
# 统计可以登录系统的用户数量
[root@oldboy99-Kylin ~]# grep '/bin/bash' /etc/passwd |wc -l
2
# 统计其他用户数量
[root@oldboy99-Kylin ~]# grep -v '/bin/bash' /etc/passwd |wc -l
35
# 查看当前登录的用户数量
[root@oldboy99-Kylin ~]# w19:46:21 up 12:28,  4 users,  load average: 0.00, 0.00, 0.00
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0     11:52    5.00s  0.23s  0.00s w
root     pts/1     19:30   16:08   0.01s  0.01s -bash
root     pts/2     19:30   16:05   0.01s  0.01s -bash
root     pts/3     19:30   16:03   0.01s  0.01s -bash
# 查看指定用户的登录ip
[root@oldboy99-Kylin ~]# lastlog |grep 'root'
root             pts/3    10.0.0.1         三 57 19:30:18 +0800 2025

4.4 修改用户密码

  • 非交互式修改密码
# 红帽类系统专用
# --stdin:标准输入,从管道内获取用户的密码
[root@oldboy99-Kylin ~]# echo 'Lidao996' |passwd --stdin oldboy 
# Ubuntu、红帽类系统
# 创建密码文件(用户名:密码)。批量修改用户密码
[root@oldboy99-Kylin ~]# cat pass.txt 
oldboy:123
lidao:123
skx:123
[root@oldboy99-Kylin ~]# cat pass.txt |chpasswd 

5. sudo

  • sudo可以使普通用户临时使用root用户的权限运行命令
sudo su - # 切换成root用户

  • 授权普通用户以root权限:
  • visudo命令,相当于 vim /etc.sudoers。推荐使用visudo
  • 第一个 ALL:表示允许从任何主机(即所有机器)登录的 root 用户执行命令。
  • 第二个 (ALL):表示 root 用户可以切换为系统中任何其他用户的身份(如 su user)。
  • 第三个 ALL:表示 root 用户可以执行所有命令(即无限制权限)

在这里插入图片描述


  • 授予普通用户所用权限,并且不需要输入密码

在这里插入图片描述

[oldboy@oldboy99-Kylin ~]$ sudo su -
上一次登录: 三 57 20:08:02 CST 202510.0.0.1 pts/0 上
[root@oldboy99-Kylin ~]# 

6. 思维导图

【金山文档】 思维导图 https://www.kdocs.cn/l/co3I7PtpTYQX

7. 老男孩思想-学习方法

  1. 听话出活
  2. 以终为始抓问题本质
  3. 输出才是最好的学习
  4. 多交流活跃思维
  5. 及时总计复习

在这里插入图片描述

http://www.xdnf.cn/news/4425.html

相关文章:

  • 304.不同的二叉搜索树
  • mysql:什么是一致性视图(Read View)
  • AI应用开发实战分享
  • C++模板
  • Python引领前后端创新变革,重塑数字世界架构
  • ✍️【TS类型体操进阶】挑战类型极限,成为类型魔法师![特殊字符]♂️✨
  • iTwin 数据报表(只是简单的原型不代表实现)
  • python 使用 mongodb 的一些方法
  • Spring Boot 中如何解决 CORS 问题(详解)
  • 【Java ee 初阶】多线程(9)上
  • Redis从入门到实战 - 高级篇(上)
  • day 14 SHAP可视化
  • Android学习总结之Binder篇
  • 空间数据分析新趋势:AI 与 ArcGIS Pro 的协同创新
  • 从零开始学习three.js(15):一文详解three.js中的纹理映射UV
  • 经典密码学算法实现
  • Apache Calcite 详细介绍
  • 2025年五一假期旅游市场新趋势:理性消费、多元场景与科技赋能
  • MySQL关于锁的面试题
  • 第十节:图像处理基础-图像算术运算 (加法、减法、混合)
  • C++ 的未来趋势与挑战:探索新边界
  • 【车辆OTA技术全景解析:从原理到应用开发实践】
  • 【MCP】服务端搭建(python和uv环境搭建、nodejs安装、pycharma安装)
  • hadoop的序列化
  • docker创建一个centOS容器安装软件(以宝塔为例)的详细步骤
  • 【Java项目脚手架系列】第三篇:Spring MVC基础项目脚手架
  • blender云渲染指南2025版
  • 【Rust模块管理】Rust包、crate与模块管理
  • WSL 的 Ubuntu 子系统中启用图形化界面
  • 处理PostgreSQL数据库事务死锁过程