2022-10-28小白笔记0

目录

LINUX 三类访问者
linux三种访问权限
文件类型
文件权限
chown命令变更所有者
chmod 设置文件或目录访问权限
umask命令
特殊权限
设置特殊权限sticky

LINUX 三类访问者

所有者(属主):默认情况下,文件的创建者为所有者
所属组(属组):文件所有者所属的组,默认情况下,文件创建者的主要组为文件的所有组
其他用户:指文件所有组和所属组,以及root之外的所有用户

linux三种访问权限

4读r:读取文件内容或者查看目录
2写w:修改文件内容或者创建,删除文件
1执行x:执行文件或者允许使用cd命令进入目录
通过ls -l查看

drwxr-xr-x1zxpzxp89807月14 21:11a.desktop
文件权限链接所有者所属组容量修改日期文件名
drwxr-xr-x
文件类型属主权限属组权限其他用户权限

文件类型

d 目录
- 文件
l 软连接
b块设备
c字符设备文件

文件权限

权限十进制
---0
--x1
-w-2
-wx3
r--4
r-x5
rw-6
rwx7
bash
chmod u+x,g+x,o=rw- [文件名]
chmod 776 right [文件名]

chown命令变更所有者

chown [选项][新所有者] 文件列表
-R:递归处理指定目录

chown [选项][新所有者]:[新的所有组] 文件列表

chmod 设置文件或目录访问权限

chmod [选项] 模式 文件
-R递归处理指定目录及其子目录下的所有文件
模式 文件权限的表达式,有字符和数字两种表达方式
[选项]
+增加权限
-撤销权限
=赋予给定权限并取消其他所有权限
u表示所有者
g表示同组用户
o表示其他用户
a表示所有用户,为系统默认值

[模式]
r可读
w可写
x可执行
s在文件执行时把进进程的属主或组ID置为该文件的属主
t防止用户任意删除或修改别人的文件,可以对目录设置sticky权限

umask命令

创建目录和创建文件时,创建出来的目录和文件都有默认权限,默认权限通过umask掩码计算出,umask值使用4个数字表示权限

计算默认权限,方法: 最大权限 - umask值后三位
目录最大权限777
文件最大权限666(文件创建时不能具有执行权限)
例如

bash
umask 0002
mkdir new_dir #创建目录权限为 777-002=775
touch test.txt #创建文件权限为 666-002=664

特殊权限

情景:普通用户想改自己密码,不想用也不必用root权限,使用特殊文件权限来达到此目的

bash
momen@localhost:~$ ls -l /usr/bin/passwd
-rwsr-xr-x. 1 momen momen 55544 Mar 14  2022 /usr/bin/passwd
momen@localhost:~$

特殊权限表示时,替换掉x
umask值的第一位表示特殊权限,特殊权限有三种:suid,sgid,sticky

suid 和 sgid 用字符表示,为s,在文件属性中表示这些特殊权限,将在执行权x标志位上替换掉显示
例如 -rwsr-xr-x

在权限组中增加suid/sgid位,设置有suid位的文件被执行时,自动获得文件所有者的UID,设置有sgid位的文件被执行时,自动获得文件所属组的GID

suid和sgid权限使用八进制数字分别表示为4和2

用4个数位表示文件权限,在3位基础上左侧增加一位
例如:6644表示文件权限
特殊权限(suid+sgid)用户权限(读+写),组权限和其他权限为
只读

suid 权限使用的前提:
1.只对二进制可执行文件有效
2.使用者对该二进制可执行文件有可执行权限x
3.以文件拥有者的身份只在执行二进制文件的过程中有效
例:

bash
chmod u+s main #加suid
chmod u-s main #撤销suid

chmod 4775 main #加suid
chmod 775 main #撤销suid

设置特殊权限sticky

场景:为防止其他用户任意删除或修改别人文件,可以对目录设置sticky权限,只有文件所有者才能移动,删除和修改文件

sticky权限只对目录有效,使用ls -l 命令可以查看一个目录是否有sticky权限

sticky 权限用字符表示t,用八进制数字表示为1

sudo chmod +t [目录]
sudo chmod 1777 [目录]

本文作者:墨洺的文档

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!