Linux之用户和用户组

439 阅读4分钟

用户和用户组

  • 使用操作系统的人都是用户
  • 用户组是具有相同系统权限的一组用户

配置文件

/etc/group

  • /etc/group存储的是当前系统中络所有用户组信息

  • root组编号为0

  • 1-499为系统预留的编号,预留给安装的软件和服务的。

  • 用户手动创建的用户组都是从500开始

  • 组密码占位符都是x

  • 如果组内只有一个用户,而且用户名和组名相同的话,可以省略用户名。

比如root:x:0:root就可以省略为root:x:0:

格式化为[用户组名称]:[密码占位符]:[组编好],比如root:x:0root表示用户组名称,x表示密码占位符(密码并不会存在/etc/group中),0表示组编号。

image.png

/etc/gshadow

  • 存放当前系统中用户组的密码信息
  • /etc/group中的记录一一对应
内容含义
root组的名称
*表示密码为空
组的管理者,为空表示都可以管理这个组
root组中用户列表

image.png

/etc/passwd

  • 存储当前系统中所有用户的信息

root:x:0:0:root:.root:/bin/bash

image.png

标题含义
root表示当前用户名
x表示密码占位符
0用户编号
0用户组编号
root用户注释信息
/root用户主(Home)目录
/bin/bashshell类型

/etc/shadow

  • 存放当前系统中所有用户的密码信息
  • user:xxx:::::
  • 用户名:密码:

root:password:17892:0:9999999:9::

存储的密码是加密后的密码。

标题描述
root用户名
password单向加密后的密码
17892修改日期,表示上一次修改密码的日期与1970-1-1相距的天数密码不可更改的天数,假如这个数字是8,则8天内不可改密码,如果是0则随时可以更改
0表示上一次修改密码的日期与1970-1-1相距的天数不可改的天数:假如这个数字是8,则9天内不可改密码,如果是0,则随时可以改
99999如果是99999则永远不用改,如果是其他数字比如12345,那么必须在距离1970-1-1的12345天内修改密码,否则密码失效
......

image.png

用户相关命令

显示当前登陆用户名

whoami

显示指定用户信息,包括用户编号,用户名称 主要组的编号

id root

显示用户id,用户所在组id以及用户所在组。

image.png

显示某个用户所在组

groups [用户名]

image.png

用户和用户组操作

添加用户组

groupadd wang.haoyu

表示添加用户组名为wang.haoyu

添加组之后可以通过cat /etc/group进行查看所有用户组信息。

修改用户组名称

groupmod -n [新名称] [旧组名称]

-n表示修改组的名称

修改用户组编号

groupmod -g 666 wang.haoyu

-g表示修改用户组编号

创建分组的时候指定编号

groupadd -g 1024 wang.haoyu

创建分组wang.haoyu并且指定编号1024

删除用户组

groupdel wang.haoyu

添加用户

useradd zhangsan

如果在创建用户的时候没有创建用户组,系统会为他创建一个

修改用户密码

passwd [用户名]

image.png

当我们创建用户的时候,服务器默认会在/home中创建对应用户的文件夹,当然也可以创建时候自己指定相关的文件夹。比如

useradd -d /home/wang.haoyu02 wang.haoyu02

表示新建一个用户wang.haoyu02并且指定它的用户文件夹为/home/wang.haoyu02

su [username]切换用户

切换用户su wang.haoyu切换到wang.haoyu用户下。一个用户仅仅能针对自己的目录进行操作,无法操作权限以外的目录。

比如当前用户在zhangsan下,当我进行操作touch /home/wang.haoyu/1.txt是无法进行操作的,因为权限不够。(也无法进入)

删除用户

userdel [用户名]

userdel -r [用户名]

-r参数表示删除用户的时候级联删除对应目录(对应创建用户内/home的文件夹)。