我们常常看到 linux下的 文件 有 这样的属性
rwx rw- r- -
说明:
权限分为三级 : 档案拥有者、群组、其他。
利用 chmod 可以藉以控制档案如何被他人所调用。
(chmod 为 change mode 的 缩写)
===========================================
【用法一:】
其语法格式为:chmod [who] [opt] [mode] 文件/目录名
其中who表示对象,是以下字母中的一个或组合:
u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户
opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限
而mode则代表权限:
r:可读
w:可写
x:可执行
x 还可以是 s S
----
https://blog.csdn.net/leshami/article/details/77184029
SUID 是 Set User ID的缩写
SUID: 当运行某程序时,
相应进程的属主是程序文件自身的属主,而不是启动者;
chmod u+s FILE
chmod u-s FILE
如果FILE本身原来就有执行权限,则SUID显示为s;否则显示S;
简言之,当我们启动某个二进制程序,该程序调用了其他非对象,
此对象非启动者所有,也不具备相应权限时,此时无法成功执行。
但是当我们为这个二进制程序赋予了SUID,
则被调用的这个对象会被临时赋予该对象的所有者权限
---
https://blog.csdn.net/weixin_34117522/article/details/94629920
在该目录中创建的文件自动继承此目录的用户组(只可以对目录设置)
SGID属性应用在目录上时,
该目录中所建立的文件或子目录的拥有组都会是该目录的拥有组。
当SGID属性应用在可执行文件上时,
其他用户在使用执行文件时就会临时拥有该执行文件的拥有组权限。
在使用”ls -l” 或者”ll” 命令浏览目录时,
如果拥有组权限的第三位是一个小写的”s”,就表明该执行文件或者目录拥有SGID属性。
---
例如:为同组用户增加对文件diff.properties的读写权限:
chmod ugo+rw diff.properties
=======================================
【用法二:】
修改权限为:rw-rw-rw-,
那么转换成二进制数就是110 110 110,再每三位转换成为一个十进制数,
就得到666,因此我 们执行命令:
chmod 666 diff.properties