前言
在Linux系统中,用户管理是指创建、修改、删除和管理用户账户及其对应的权限和访问控制的过程。用户账户是Linux系统的核心组成部分,它们对于系统的安全性、资源分配、文件管理和程序运行都有至关重要的作用。用户管理可以在命令行界面或者图形化界面实现,通常涉及到以下任务:
1. 创建和删除用户账户。
2. 为用户分配或者收回特定的权限。
3. 修改用户密码或者账户信息。
4. 管理用户的组成员关系以及访问。
在Linux系统中,superuser账户(也称为root用户)拥有最高的权限,在绝大多数情况下仅应该针对系统维护任务使用。对于一般用户而言,最好不使用超级用户权限,而是使用普通用户权限来完成日常工作。
一、概述
1.是使用者在操作系统中的身份映射。
2类型:超级管理员用户root,带有#,能使用所有系统及程序命令,UID(在系统中的唯一识别标志)0
普通用户:带有$,是用有限的系统命令和具有使用权限的程序命令,UID 1000~65535
程序用户:一般不允许登录系统,不创建家目录,运行程序指令,UID 1~999
二、模板目录
1.路径/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
(查看历史命令 history 默认保留1000条)
2. 相关文件
/etc/passwd 存储用户信息 /etc/shadow 存储用户密码信息 /etc/group 存储组信息
三、创建
1.useradd创建一个新用户或更新默认新用户信息
例如:
useradd user10 tail -1 /etc/passwd user10:x:1014:1014::/home/user10:/bin/bash
用户名:密码占位符:用户ID:组ID:用户描述信息:用户家目录:登录shell
2.创建用户的特点
创建新用户,假如没有跟新用户同名的组或没有指定用户的基本组,则肯定会创建同名用户
3.shell
查看系统支持的可登录shell cat /etc/shells
可登录系统 /bin/bash CentOS默认shell
不可登录系统 /sbin/nologin(程序用户一般都设置为该shell)、 /bin/sync、
/sbin/shutdown、 /sbin/halt
4.选项
-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