1-16用户管理

这篇博客详细介绍了Linux系统中用户管理的相关内容,包括账号控制概述、添加用户、修改用户信息、设置口令以及用户初始化配置。讲解了useradd、usermod、passwd等命令的使用,并提到了用户配置文件的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.16.1账号控制概述

一、基于账号的访问控制
1.基于账号的身份对资源访问进行控制
-账号类别:用户账号,组账号
-识别方式:UID、GID

说明:
UID :作为用户的唯一标识
管理员root的UID为0,创建的普通用户的UID从1000开始
GID:用户组的唯一标识,方便管理用户

2.用户账号
-超级用户、系统用户、普通用户

3.组账号
-基本组(私有组)
-附加组(从属组)
说明:
组账号用来区分权限,不用于登录
一个用户必须属于一个组,默认情况下,创建用户时,会新建一个与用户同名的组
基本组一般与用户同名,由系统创建(不常用)
附件组一般由管理员创建(常用)

二、账号的存放类别
1.账号数据的存放
-存放在本机的磁盘中-本地账号

2.本地账号的数据文件
-/etc/password、/etc/shadow
-/etc/group、/etc/gshadow

三、解析用户账号文件
/etc/password:保存用户账号的基本信息
-每个用户记录一行,以:分割为7段

[root@localhost03 ~]# head -1 /etc/passwd  #查看用户账号的基本信息
root:x:0:0:root:/root:/bin/bash
说明:
root:用户名
x:密码占位符
0:用户的UID
0:基本组的GID
root:描述信息这个字段可以为空
/root:家目录
/bin/bash:解释器

1.16.2添加用户账号

一、useradd 添加用户
1.格式
useradd [选项] 用户名

2.常用命令
-u:指定UID标记号
-d:指定宿主目录(家目录),缺省为/home/用户名
-G:指定所属的附加组
-s:指定用户的登录解释器

3.练习
1)创建用户,查看用户是否创建成功

[root@localhost03 ~]# useradd test01 #创建用户test01
[root@localhost03 ~]# grep test01 /etc/passwd  #查看用户是否创建成功

2)创建用户指定用户的UID

[root@localhost03 ~]# useradd -u 1800 test02 //创建用户指定UID
说明:
同时该用户的GID也会改变

3)创建用户指定用户的家目录

[root@localhost03 ~]# useradd -d /opt/test03 test03  #创建用户test03,指定家目录为/opt/test03

4)创建用户指定用户的附加组

[root@localhost03 ~]# groupadd test #创建用户组
[root@localhost03 ~]# useradd -G test test04   #创建用户test04,将其加入到test附加组中
[root@localhost03 ~]# id test04 #查看test04用户信息

5)创建用户指定用户的解释器

[root@localhost03 ~]# useradd -s /sbin/nologin test05 //指定test05用户的解释器为/sbin/nologin
说明
    /sbin/nologin:禁止登陆操作系统

二、usermod修改用户
1.格式
usermod [选项] 用户名

2.常用命令选项
-l:更改用户账号的登录名称
-u:用户id
-d:家目录路径
-s:登录解释器
-G:附加组 //重置附加组
3.练习
1)修改用户的uid和登录解释器

[root@localhost03 ~]# useradd test06 #创建用户
[root@localhost03 ~]# grep test06 /etc/passwd  #查看用户信息
test06:x:1804:1805::/home/test06:/bin/bash
[root@localhost03 ~]# usermod -u 1900 -s /sbin/nologin test06  #修改用户信息
[root@localhost03 ~]# grep test06 /etc/passwd #查看修改结果
test06:x:1900:1805::/home/test06:/sbin/nologin

2)更改用户的名字

[root@localhost03 ~]# usermod -l test07 test06  #更改test06的名称为test07
说明:
    -l 后面跟的是新的名字,之后才跟需要修改的用户的名称

3)修改用户的家目录

[root@localhost03 ~]# usermod -d /opt/test07 test07  #修改用户的家目录
说明:
不会创建用户的家目录,只是将/etc/passwd文件的内容修改了
[root@localhost03 ~]# grep test07 /etc/passwd
test07:x:1900:1805::/opt/test07:/sbin/nologin
[root@localhost03 ~]# ls /opt/test07 #查看是否有家目录存在,不会自动创建,只能手动创建

4)重置用户附加组

[root@localhost03 ~]# groupadd ceshi
[root@localhost03 ~]# useradd -G ceshi test08  //指定附加组
[root@localhost03 ~]# id test08
uid=1901(test08) gid=1901(test08) groups=1901(test08),1806(ceshi)

[root@localhost03 ~]# usermod -G test test08  //修改附加组
[root@localhost03 ~]# id test08
uid=1901(test08) gid=1901(test08) groups=1901(test08),1802(test)
说明:
    如果用户没有附加组,修改后就会出现附加组

三、passwd设置口令(密码)
1.格式:
passwd [选项] 用户名
说明:
root用户可以重置一个用户的密码
root用户设置密码无复杂性要求

2.常用命令选项
-stdin:从标准输入取密码

3.练习
1)交互式设置密码

[root@localhost03 ~]# passwd xiaoyuan  //给xiaoyuan用户设置密码
Changing password for user xiaoyuan.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

2)非交互式设置密码

[root@localhost03 ~]# echo 123 | passwd --stdin xiaoyuan
Changing password for user xiaoyuan.
passwd: all authentication tokens updated successfully.

3)普通用户自己修改密码

[root@localhost03 ~]# su - test01  #切换普通用户
[test01@localhost03 ~]$ passwd   //修改普通用户的密码
[test01@localhost03 ~]$ passwd 
Changing password for user test01.
Changing password for test01.
(current) UNIX password:    #输入旧的密码
New password:   #输入新的密码,需要符合密码策略
Retype new password:   #重新输入新的密码,进行确认
passwd: all authentication tokens updated successfully.

四、解析用户密码文件
/etc/shadow,保存密码子串,有效期等信息
-每个用户记录一行,以:分割为9段

[root@localhost03 ~]# grep test01 /etc/shadow
test01:$1$f.DWvts9$4LwWU1rFyVn8c/SeoD0/0/:18872:0:99999:7:::
说明:
字段1:用户账号的名称
字段2:加密后的密码字符串
字段3:上次修改密码的时间(从1970-1-1到达上一次修改密码的时间经历的天数)
字段4:密码最短使用的天数,默认为0
字段5:密码最长使用的天数,默认99999
字段6:密码过期前的警告天数,默认7
字段7:密码过期后多少天禁用此用户账号
字段8:账号失效时间,默认值为空
字段9:保留字段

1.16.3用户初始配置

一、用户初始配置文件
1.配置文件的来源
新建用户时,根据/etc/skel模板复制而来

2.主要的配置文件
.bash_profile:每次登录时执行一次
.bashrc:每次进入新的Bash环境执行(开启新的终端)

3.练习

[root@localhost03 ~]# vim /home/test01/.bashrc #写入bashrc环境
2 alias haha='echo 123'
[root@localhost03 ~]# su - test01  //切换用户,相当于开启新的终端
[test01@localhost03 ~]$ haha  #验证别名是否成功

二、全局配置文件
1.主要配置文件
/etc/bashrc
/etc/profile

2.练习

[root@localhost03 ~]# vim /etc/bashrc  //将别名写入/etc/bashrc的文件中
2 alias xiao='echo xiao'
[root@localhost03 ~]# su - test01  #切用户
[test01@localhost03 ~]$ xiao  #测试别名是否可用
[root@localhost03 ~]# xiao   #通过root用户测试别名是否可用

1.16.4用户的删和查

一、userdel删除用户
1.格式

userdel [-r] 用户名
添加:-r选项,宿主目录,用户邮件也一并删除

2.练习

[root@localhost03 ~]# id test02 #查看test02用户是否存在
[root@localhost03 ~]# userdel -r test02  #删除test02用户
[root@localhost03 ~]# ls /home/ #查看test02用户的家目录是否一并删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值