linux系统中用户管理全部内容。
1、类型
超级管理员用户
root #
使用所有系统及程序命令
UID : 0

普通用户 ¥
使用有限的命令和具有使用权限的程序命令
UID : 1000-65535

程序用户
一般不允许登录系统 不创建家目录
运行程序指令
UID : 1~999

快捷调取之前的命令 !命令字
2、模板目录 /etc/skel/
当用户新建并创建家目录时,复制该目录下的所有内容
作用
定义用户登录终端时的显示样式及环境变量设置
~/.bashrc
运维案例
家目录异常:
用户误删除家目录文件、家目录迁移过程
故障再现:
把/etc/skel/的内容移动到/opt(mv /etc/skel/* /opt)
创建用户user03
su - user03
显示结果异常,(-bash-4.2$)


修复:
使用user03用户 :cp /opt/.bashrc /home/user03
exit

验证即可:
su -user03

3、查看历史命令 history
默认保留1000条

4、批量创建
文件
{n..m} n,m都是整数,n是起始,m是终止;n<m
案例:touch t{1..10}.txt
目录
目录结构查看 tree
安装
1、光盘导入 2、查找软件包
3、安装 rpm -ivh /run/media/root/CentOS 7 x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm
5、相关文件
/etc/passwd 存储用户信息
tail -1 /etc/passwd
user10:x:1014:1014::/home/user10:/bin/bash
用户名:密码占位符:用户ID:组ID:用户描述信息:用户家目录:登录shell

/etc/shadow 存储用户密码信息
tail -1 /etc/shadow
user2:!!:19522:0:99999:7:::
用户名:密码:用户创建时间:密码最短使用期限:密码最长使用期限:密码过期提醒时间:密码过期后的宽容时间:密码过期时间:没用

/etc/group 存储组信息

6、用户操作
1)创建 useradd() adduser(kali常用)
创建一个新用户或更新默认新用户信息
案例
useradd user10
tail -1 /etc/passwd
user10:x:1014:1014::/home/user10:/bin/bash
用户名:密码占位符:用户ID:组ID:用户描述信息:用户家目录:登录shell

创建用户的特点
创建新用户,假如没有跟新用户同名的组或没有指定用户的基本组,则肯定会创建同名用户
shell
查看系统支持的可登录shell
cat /etc/shells

包括:/bin/sh、/bin/bash、/usr/bin/sh、/usr/bin/bash、/bin/tcsh、/bin/csh
可登录系统
/bin/bash CentOS默认shell
不可登录系统
/sbin/nologin 程序用户一般都设置为该shell
/bin/sync
/sbin/shutdown
/sbin/halt
选项
| -d,--home-dir | 指定用户的家目录 |
| useradd -d /path username | |
| -e, --expiredate | 指定用户的失效时间 |
| useradd -e YYYY-MM-DD username | |
| -f, --inactive | 密码过期后,账户被彻底禁用之前的天数。0表示立即禁用,-1 表示禁用这个功能。 |
| useradd -f n (n为数字) username | |
| -g, --gid | 用户初始登录组(基本组)的组名或GID。组名必须已经存在。组号码必须指代已经存在的组。 |
| useradd -g GID username | |
| -G, --groups | 指定用户的附加组,该组必须已经存在 |
| useradd -G GID username | |
| -M, --no-create-home | 不创建用户的主目录,常用于程序用户的创建 |
| useradd -M username | |
| -N, --no-user-group | 不创建同名的组 |
| useradd -g GID -N username | |
| -p, --password PASSWORD | 加密后的新账户密码 |
| useradd -p 加密后的密码 username | |
| -s, --shell SHELL | 新账户的登录 shell |
| useradd -s shell的路径 username | |
| -u, --uid UID | 新账户的用户 ID |
| useradd -u 指定的ID号 username |
-d

-f


-g

-G


-M
例题:创建一个程序用户


-N

-s

-u


2)adduesr(常用于kali系统)
2、修改属性 usermod
usermod [选项option] username
选项
| -d,--home-dir | 修改用户的家目录 |
| usermod -d /path username | |
| -e, --expiredate | 修改用户的失效时间 |
| usermod-e YYYY-MM-DD username | |
| -f, --inactive | 密码过期后,账户被彻底禁用之前的天数。0表示立即禁用,-1 表示禁用这个功能。 |
| usermod -f n (n为数字) username | |
| -g, --gid | 用户初始登录组(基本组)的组名或GID。组名必须已经存在。组号码必须指代已经存在的组。 |
| usermod -g GID username | |
| -G, --groups | 修改用户的附加组,该组必须已经存在 |
| usermod -G GID username | |
| -L, --lock | 锁定用户密码,账户不能登录系统 |
| usermod -L username | |
| -m, --move-home | 与-d选项配合,将老的家目录内容移动到-d指定的新家目录 |
| usermod -m -d /newdirpath username | |
| -p, --password PASSWORD | 修改账户密码 |
| usermod -p 加密后的密码 username | |
| -s, --shell SHELL | 修改账户的登录 shell |
| usermod-s shell的路径 username | |
| -u, --uid UID | 修改账户的用户 ID |
| usermod -u 指定的ID号 username | |
| -U, --unlock | 解除密码锁定 |
| usermod -U username |
例题
-L

-m
![]()

-U

3、密码设置 passwd chpasswd
passwd(单个用户密码设置)
语法
passwd [选项] username
| -l, --lock | 锁定用户密码,账户不能登录系统 |

选项
| -l, --lock | 锁定用户密码,账户不能登录系统 |
| passwd -l username | |
| --stdin | 读取标准输入的内容作为密码 |
| passwd --stdin username | |
| -u, --unlock | 解除密码锁定 |
| passwd -u username | |
| -d, --delete | 删除用户密码 |
| passwd -d username | |
| -e, --expire | 设置密码有效期 |
| passwd -e YYYY-MM-DD username | |
| -S, --status | 查看给定账户的密码状态(锁定或不锁定) |
| passwd -S username |
-l

--stdin

-u

-d

-S

非交互式修改密码
echo a | passwd --stdin user1

chpasswd(批量用户设置密码)
生成用户与密码的对应关系:
username:password
echo -e "username1:password1\nusername2:password2" [> filename]

语法:
echo -e "username1:password1\nusername2:password2" | chpasswd
chpasswd < filename

或者:
cat filename | chpasswd

案例
vim upwd.txt user1:123.com
user2:1234.com


cat upwd.txt | chpasswd 或者 chpasswd < upwd.txt


4、删除 userdel
语法
userdel [选项] username
选项
| -r, --remove | 用户主目录中的文件将随用户主目录和用户邮箱一起删除。在其它文件系统中的文件必须手动搜索并删除。 |
| userdel -r username |

案例
现有用户user2 useradd user2
查看/home中的user2文件的属性
drwx------ 5 user2 user2 128 6月 14 11:36 user2

删除user2用户 userdel user2
查看/home中的user2文件的属性
drwx------ 5 1002 1002 128 6月 14 11:36 user2

新建用户user3 useradd user3
查看/home中的user2文件的属性
drwx------ 5 user3 user3 128 6月 14 11:36 user2
drwx------ 3 user3 user3 78 6月 14 11:50 user3
再次创建user2用户 useradd user2
查看/home中的user2文件的属性
drwx------ 5 user3 user3 128 6月 14 11:36 user2
drwx------ 3 user3 user3 78 6月 14 11:50 user3

切换到user2用户 su - user2
发现家目录异常
su: 警告:无法更改到 /home/user2 目录: 权限不够
-bash: /home/user2/.bash_profile: 权限不够
-bash-4.2$

5、年龄信息 chage
语法
chage [选项] username
使用场景
修改已创建用户的密码属性
选项
| -l, --list | 显示账户年龄信息 |
| chage -l username | |
| -d, --lastday | 将最近一次密码设置时间设为“最近日期” |
| chage -d YYYY-MM-DD username | |
| -E, --expiredate | 将帐户过期时间设为“过期日期” |
| chage -E YYYY-MM-DD username | |
| -I, --inactive | 过期N天数后,设定密码为失效状态 |
| chage -l N username | |
| -m, --mindays | 密码修改最短天数 |
| chage -m N username | |
| -M, --maxdays | 密码最长使用天数 |
| chage -M N username | |
| -W, --warndays | 将过期警告天数设为N天 |
| chage -W N username |
例题
-l

-d

-E

-I

-m

-M

-W

本文详细介绍了Linux系统中的用户管理,包括用户类型如超级管理员、普通用户和程序用户,以及如何创建、修改属性、设置密码和删除用户。此外,还讨论了用户家目录的异常处理、查看历史命令、批量创建文件和目录以及相关配置文件的作用。重点讲解了`useradd`、`usermod`和`passwd`等命令的使用。
&spm=1001.2101.3001.5002&articleId=131187422&d=1&t=3&u=e01d5bed129e4060a59dce793c22493f)
3689

被折叠的 条评论
为什么被折叠?



