0%

用户身份与文件权限

用户身份与文件权限

用户身份与能力

UID值

(User IDentification的缩写)每个用户都有对应的UID值,就像身份证号码

超级用户UID:root用户默认为0

系统用户UID1-999:系统中系统服务由不同用户运行,更加安全,默认被限制登录系统

普通用户UID1000-:即管理员创建的用于日常工作而不能管理系统的普通用户

(注意UID一定是不能冲突的,管理员创建的普通用户UID从1000开始,即便前面有闲置的号码)

账户名称与UID保存在/etc/passwd文件中,而账户密码则保存在/etc/shadow文件中

GID

(Group IDentification的缩写):可将多个用户加入某个组,方便指派任务或工作

每个用户在被创建时均会创建一个默认组(其GID与UID相同,俗称基本组)而后加入的则叫拓展组,一定要分清楚。

用户组名称与GID保存在/etc/group文件中

文件权限与归属

linux中一切都是文件,文件和目录的所属与权限——来分别规定所有者、所有者、其余人的读、写、执行权限

读(read)、写(write)、执行(excute),简写(r,w,x),也可用数字(4,2,1)表示


第一位代表文件类型:

- 普通文件
d 目录文件
l 链接文件
b 块设备文件
c 字符设备文件
p 管道文件

普通文件即实际保存数据的地方,其并不具备删除自身的权限:

    r:可读取文件的实际内容

    w:可编辑/新增/修改该文件的实际内容

    x:可被执行

目录文件即保存有目录结构和文件权限:

    r:可读取目录结构和权限

    w:可更爱目录结构列表,新建/删除/重命名/、转移子文件/目录

    x:表示用户可进入到该目录中

文件的特殊权限

单纯对文件位置的rwx权限肯定不能满足我们对于安全、便捷工作的需求,所有便有了SUID和SGID的特殊权限机制

SUID

让执行者临时拥有主的权限(仅对有执行权限的二进制程序有效)

比如所有用户都可以执行用于修改用户密码的passwd命令,单用户密码保存在/etc/shadown文件中,默认权限是000即除了root外所有用户都没有查看或编辑该文件的权限,所以对passwd命令加上SUID权限位,则可让普通用户临时获得程序所有者的身份,即以root用户的身份将变更的密码信息写入到shadow文件中。

SGID

功能一:让执行者临时拥有属组的权限(对拥有执行权限的二进制程序设置)


文件的隐藏属性

文件权限除了读写执行与SUID、SGID、SBIT外还有一种隐藏权限,例如明明有权限删除某个文件却报错了,或者仅能为某个文件追加内容而不能减少内容,遇到这种很”奇怪”的文件,就要怀疑是文件被设置隐藏权限了

主要命令:

chattr

lsattr

文件访问控制列表

rwx权限、特殊权限、隐藏权限都是对某一类用户设置的,如果对某个制定的用户进行单独的权限设置,那么就需要用文件的访问控制列表来实现啦。

我们可以基于普通文件或目录设置进行设置ACL,通俗来说ACL就是设置指定的特定用户或用户组队某个文件的操作权限。并且如果对某个目录设置了访问控制策略,那么子文件则继承其访问策略,而若对文件设置了访问控制策略则不再继承上级目录的控制策略。

有点类似于Windows系统的安全策略

主要命令:

setfacl

getfacl