Posts Linux的用户和用户组
Post
Cancel

Linux的用户和用户组

一、 前言

当从windows转战linux的时候,往往会在权限相关的问题上碰壁。 接下来的一段时间我们会从用户和用户组讲起,搞懂Linux中权限系统的工作原理。

二、 用户在Linux中的概念

Linux中的用户分为以下三种:

  • 超级用户:uid=0的root
  • 虚拟用户:不能登录和使用的用户(uid=1-499或者1-999)
  • 普通用户:管理员root创建的用户,可以登录、只能操作自己的home目录(uid>=500或者1000)

其中uid指user id,对应用户组还有gid指group id,它们用来唯一标识用户和用户组

三、 passwd文件与shadow文件介绍

在Linux中,用户的主要信息存放在/etc/passwd中,用户的密码放在/etc/shadow

passwd文件

打开文件, 我们可以看到每一行遵循同一个格式: 被六个:分开的七个项, 下面是截取的一部分

1
2
3
4
5
6
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin

我们以第一行为例, 介绍每一项的含义:

daemonx11daemon/usr/sbin/usr/sbin/nologin
用户名密码(占位)UIDGID描述信息主文件夹用户默认shell
  • 主文件夹是用户的起始工作目录; 各用户对自己的主文件夹有读/写/执行的权限

shadow文件

同样是:分隔开的诸多项, 截取一部分展示

1
2
3
4
5
dnsmasq:*:18368:0:99999:7:::
landscape:*:18368:0:99999:7:::
sshd:*:18368:0:99999:7:::
pollinate:*:18368:0:99999:7:::
reina:$6$t5j3BVdL$Q.XOgknxRPm9PUgKk2IYpca63SZAXiND5b1yoP1IkmLR96Tr7FPeODqgre.Rt.BF6b16znOL8qQJVUdN.qXwn.:18445:0:99999:7:::

我们以最后一行的普通用户为例, 介绍每一项的含义:

reina(加密后的字符串)18445099999
用户名某种加密后的密码最后一次修改密码距离1970-01-01的天数密码不可更新的天数密码必须更新的天数
7(空)(空)(空)
必须更新密码提前警告的天数过期后还能使用的天数账号失效时间预留
This post is licensed under CC BY 4.0 by the author.