Linux之用户及用户组

用户及用户组的相关概念

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锁定以及解锁等等

参数: