用户及用户组的相关概念
UID
Linux系统的管理员之所以是root,并不是因为它的名字叫root,而是因为该用户的身份号码即UID(User IDentification)的数值为0。在Linux系统中,UID就相当于我们的身份证号码一样具有唯一性,因此可通过用户的UID值来判断用户身份。
管理员UID为0:系统的管理员用户。
系统用户UID为1~999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。
普通用户UID从1000开始:是由管理员创建的用于日常工作的用户。
Group:
为了方便管理属于同一组的用户,Linux系统中还引入了用户组的概念。通过使用用户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方便为组中的用户统一规划权限或指定任务。
另外,在Linux系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户以后被归纳入其他用户组,则这个其他用户组称之为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组,从而满足日常的工作需要。
用户及用户组相关文件:
文件 | 作用 |
---|---|
/etc/passwd: | 显示所有用户详细信息。(冒号为分隔符) |
/etc/shadow: | 存放用户密码的可 执行文件 |
/etc/group: | 显示组信息 |
/etc/passwd:
- 七段信息分别为——用户名:密码:useid:组id:描述信息:家目录:用户的shell(标识是否可用登陆的可执行文件)
- /bin/bash是指可以登录,/sbin/nologin指不可以登陆
- 此时密码为x,不是说密码就是这个,而是被存储到shadow文件当中了。
/etc/group:
- 分为四段:组id:组密码:组id:组成员
- 属于某个组,就代表拥有这个组的权限
用户及成员组相关操作
添加用户
命令 | 作用 |
---|---|
useradd [选项] 用户名 | 增加某个用户名(并设置密码) |
adduser [选项] 用户名 | 在文件系统中创建用户 |
- 可以使用useradd命令创建用户账户。使用该命令创建用户账户时,默认的用户家目录会被存放在/home目录中,默认的Shell解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组。
- adduser 和 useradd 的区别是:useradd 只创建用户,创建完了需要用 passwd 命令去设置新用户的密码。adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。其实 useradd 更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。
删除用户
命令 | 作用 |
---|---|
Usedel -r [usename] | 删除某个用户名 |
- -r:在删除该用户名的同时,删除这个用户的家目录等文件
- -f:强制删除用户
创建用户组
命令 | 作用 |
---|---|
groupadd [选项] 群组名 | 在工作中常常会把几个用户加入到同一个组里面,这样便可以针对一类用户统一安排权限。 |
- 用 groupadd 命令添加的用户,都处于扩展用户组中。普通的加组都是修改的扩展组列表,对所属组无影响。
修改用户属性
命令 | 作用 |
---|---|
Usemod(修改) | 可以修改已经创建的用户信息,诸如用户的UID、基本/扩展用户组、默认终端等 |
参数:
实例:
修改用户密码
命令 | 作用 |
---|---|
passwd [选项] [用户名] | passwd命令用于修改用户密码、过期时间、认证信息i锁定以及解锁等等 |
参数: