User Management:
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
1、用户/用户组
UID (User Identification)
-
组:指用户获取系统资源的权限的集合
-
分类:
- Root : 拥有系统所有权限的用户,UID值为0
- System Users:保障系统运行的用户,一般不提供密码登录系统 UID∈[1, 499]
- Ordinary Users: 普通用户/一般用户,可使用系统权限有限 其UID∈[500, 65535]
-
用户家命令的概念
/home/ 目录下各自创建的用户对于家目录,当用户登录时,会自动的进入到自己的家目录
当创建用户成功之后,会自动的创建和用户同名的家目录
也可以通过useradd -d 指定目录 新的用户名 给新创建的命令指定家目录
2、用户管理
个人总结本段为用户增、删、改、查、换
useradd [Optianal] username // 添加用户
passwd username //给已有的用户设置密码
userdel username
添加用户
- 当创建用户成功之后,会自动的创建和用户名同名的家目录
- 可通过useradd -d dirname username 给创建的用户指定家目录
- 使用passwd username 给用户设置密码
添加虚拟用户(傀儡):
在Linux系统中一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问LinuxSir.Org 的网页程序,就是nobody用户;我们匿名访问ftp 时,会用到用户ftp或nobody ;
删除用户
删除用户,but 保留家目录
直接userdel username 即可
删除用户,and 删除用户主目录
userdel -r username 即可
实际开发中不会把家目录删掉!!!,因为此用户的数据基本都保存在此目录中
修改用户信息
usermod [Optianal] username
eg: usermod -l old_username new_username //用户改名
查询用户信息
id username
切换用户
命令:su
su {root} // 默认切换到root用户
su - {root} // 默认切换到root用户和root工作区
su {username} //切换至用户
su -{username} //切换至用户和用户工作区
权限切换
前提:
- 知道root用户密码
- 当前用户在sudoers用户组中 ,如何配置可以点开这篇文章
sudo command //使用这个就可以在普通用户下使用root权限执行
3、用户组 管理
用户组:顾名思义主要用于用户分组 划分不同的组给与不同的权限
groupadd groupname // 增加用户组
groupdel groupname // 删除用户组
groupmod -n old_groupname new_groupname 修改组名
cat /etc/group or cat /etc/group | grep groupname // (所有/精确)查询用户组
useradd -g groupname username //组内新增用户
usermod -g groupname username //用户更换用户组
4、用户和组配置
三个相关的文件
/etc/passwd //用户的配置文件,记录用户的各种信息
/etc/shadow //用户口令(密码)配置文件
/etc/group // 组的配置文件
/etc/gshadow // 组的口令(密码)配置文件
5、Root密码遗失找回
这段可能废话比叫多,也先声明这个绝对不是我自己看官方文档什么的悟出来的,也是看了许多前人走过的路,百度啊,谷歌的掏的。。。
运行原理(图都是网上找的)
咱们开机/关机/重启/注销啊(扯电源什么的例外啊),都不是一下“咔”直接就给咔掉了吧。那么它从开机到启动完成究竟经历了什么?看图看图!!!
它一路走下来是到最后才验证密码,那么我们遗失了root密码,登录不进去怎么办?是否可以“快”它一步,没有钥匙(忘了root密码了),那就造一把,开门即可。答案当然是可以的。并且它也是提供了这种机制-系统修复。
咔掉了吧。那么它从开机到启动完成究竟经历了什么?看图看图!!!
它一路走下来是到最后才验证密码,那么我们遗失了root密码,登录不进去怎么办?,没有钥匙(忘了root密码了),那就造一把,开门即可。答案当然是可以的。并且它也是提供了这种机制-系统修复。
操作理论为:在验证root权限前进入单用户模式(运行级别为1),修改root密码,重启