用户身份与文件权限
用户身份与能力
用户
UID: Linux 系统中, UID 就相当于我们的身份 证号码一样具有唯一性,因此可通过用户的 UID 值来判断用户身份
管理员 UID 为 0:系统的管理员用
系统用户 UID 为 1~999: Linux 系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围
普通用户 UID 从 1000 开始:是由管理员创建的用于日常工作的用户
1.创建用户: useradd
useradd (选项) 用户名
-d: 指定用户的家目录(默认为/home/username)
-u: 指定该用户的默认 UID
-g: 指定一个初始的用户基本组(必须已存在)
-G: 指定一个或多个扩展用户组
-N: 不创建与用户同名的基本用户组
-s: 指定该用户的默认 Shell 解释器
eg:
useradd -d /home/linux -u 8888 -s /sbin/nologin linuxprobe
2.修改用户的属性 :usermod
用户的信息保存在/etc/passwd 文件中,可以直接用文本编辑器来修改其中的用 户参数项目,也可以用 usermod 命令修改已经创建的用户信息
usermod (选项) 用户名
-g: 变更所属用户组
-G: 变更扩展用户组
-L: 锁定用户禁止其登录系统
-U: 解锁用户,允许其登录系统
-u: 修改用户的 UID
eg:
将用户 linuxprobe 加入到 root 用户组中
usermod -G root linuxprobe
3.修改用户密码:passwd
passwd (选项) (用户名)
-l: 锁定用户,禁止其登录
-u: 解除锁定,允许用户登录
eg:
修改自己密码
passwd
修改其他用户密码
passwd 用户名
4.删除用户: userdel
在执行删除操作时,该用户的家目录默认会保留下来,此时可以使用-r 参数将其删除。
userdel (选项) 用户名
-f: 强制删除用户
-r: 同时删除用户及用户家目录
用户组
Linux 系统中还引入了用户组的概念。通过使用用 户组号码(GID, Group IDentification),我们可以把多个用户加入到同一个组中,从而方 便为组中的用户统一规划权限或指定任务。
Linux 系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且 这个基本用户组只有该用户一个人。如果该用户以后被归纳入其他用户组,则这个其他用户组称之为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组,从而满 足日常的工作需要。
1.创建用户组: groupadd
groupadd (选项) 群组名
eg:
groupadd hello
文件权限与归属
Linux 系统中一切都是文件,但是每个文件的类型不尽相同,因此 Linux 系统使 用了不同的字符来加以区分
-: 普通文件
d: 目录文件
l: 链接文件
b: 块设备文件
c: 字符设备文件
p: 管道文件
(文件名以" . "开头的是隐藏文件)
每个文件都有所属的所有者和所有组,并且规定了文件的所有者、 所有组以及其他人对文件所拥有的可读(r)、可写(w)、可执行(x)等权限。
对于一般文件来说,“可读”表示能够读取文件的实际内容;“可写”表示能够编 辑、新增、修改、删除文件的实际内容;“可执行”则表示能够运行一个脚本程序。
对目录文件来说,“可读”表 示能够读取目录内的文件列表;“可写”表示能够在目录内新增、删除、重命名文件;而“可 执行”则表示能够进入该目录。
文件的读、写、执行权限可以简写为 rwx,亦可分别用数字 4、 2、 1 来表示,若某个文件的权限为 7 则代表可读、可写、可执行(4+2+1);若权限为 6 则代表可读、 可写(4+2)
eg:
rwxrw-r–
数字表示为: 764
表示:
1.其所有者拥有可读、可写、可执行的权限
2.其文件所属组拥有可读、可写的权限
3.而且其他人只有可读的权限
文件的特殊权限
单纯设置文件的 rwx 权限无法满足我们对安全和灵活性的需 求,因此便有了 SUID、 SGID 与 SBIT 的特殊权限位。 这是一种对文件权限进行设置的特殊功 能,可以与一般权限同时使用,以弥补一般权限不能实现的功能。
1.SUID
是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有 属主的权限(仅对拥有执行权限的二进制程序有效)。是一种有条件的、临时的特殊权限授权方法。
查看 passwd 命令属性时发现所有者的权限由 rwx 变成了 rws,其中 x 改变成 s 就意味着 该文件被赋予了 SUID 权限。
如果原本的权限是 rw- , 原先权限位上没有 x 执行权限,那么被赋予特殊权限后将变成大写的 S。
2.SGID
1.让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置)
2.在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)
3.SBIT
SBIT 特殊权限位可确保用户只能删除自己的文件,而 不能删除其他用户的文件。
修改文件权限
1.chmod: 用来设置文件或目录的权限
chmod (选项) 权限 文件/目录名称
eg:
chmod 760 test
2.chown: 设置文件或目录的所有者和所属组
对目录进行操作时需要加上大写参数-R 来表示递归操作,即对目录内所有的文件 进行整体操作
chown (参数) 所有者:所属组 文件或目录名称
eg:
chown root:bin test