Linux的文件管理权限
普通权限
权限解释
Linux系统中的每个文件都有访问许可权限,文件的访问权限分为只读,只写和可执行三种。
u g o
rwx rwx rwx
421 421 421
1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是u、g和o
只读权限表示只允许读其内容,而禁止对其做任何的更改操作。read
只写权限表示允许修改文件的内容。 write
可执行权限表示允许将该文件作为一个程序执行。 execute
每一文件的访问权限都有三组,每组用三位表示
-
文件所属者的读、写和执行权限; user
-
同组的用户的读、写和执行权限; · group
-
系统中其他用户的读、写和执行权限。 other
满权限是 777
目录文件的默认权限是 755
普通文件的默认权限是644
修改权限
ugo的修改
语法:chmod [who] [+ | - | =] [mode] 文件名/目录名
who参数如下:
- u 表示“用户(user)”,即文件或目录的所有者;
- g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户;
- o 表示“其他(others)用户”;
- a 表示“所有(all)用户”,它是系统默认值。 对u、g、o、都执行
- -R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理。
操作符如下:
- +:添加某个权限;
- -:取消某个权限;
- =:赋予给定权限并取消其他所有权限。
mode参数如下:
- r 可读;
- w 可写;
- x 可执行。
数字设定法具体命令如下:
chmod [mode] 文件名
mode为具体的数字。
e.g.
普通文件的权限修改
chmod u=rwx,g=rw a
chmod u-w,o+x a
chmod 777 a
目录文件的权限修改
chmod -R u+x dir 递归修改
Owner修改
所属者修改 uid
语法:chown 参数 用户名/用户ID 文件名/目录名
常见命令参数:
- -R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
- –help:在线帮助;
chown redhat e
chown id e
所属组修改 gid
语法:chgrp 参数 用户组名/组ID 文件名/目录名
chgrp redhat e
chgrpid e
特殊权限
**说明:**Linux中文件/目录除了有可读、可写和可执行这三种权限外,还存在比较特殊的权限,这些特殊权限就包括setuid和setgid这两种
**目的:**让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令。
四位表示
• setuid的八进制表示为4000
• setgid的八进制表示为2000
• sticky bit的八进制表示为1000
安全上下文:进程的权限取决于用户的发起者的权限,而并非执行文件本身
ll usr/bin/passwd
SUID
让进程不再属于它的发起者,而是属于程序文件本身,在执行过程中,调用者会暂时获得该文件的所有者权限;该权限只在程序执行的过程中有效
语法:
数字设置 chmod 4777 文件/目录
助忆符设置 chmod u+/-s 文件/目录
注意:设置前必须保证文件有执行权限
SGID
让执行该命令的用户以该命令所有者的同组用户的权限去执行。
语法:
数字设置 chmod 2777 文件/目录
助忆符设置 chmod g+/-s 文件/目录
注意:设置前必须保证文件有执行权限
stick bit粘滞位
说明:A用户不能删除同目录下的其他用户的文件
作用:让具有stick bit位的目录下的所有文件/目录只有创建者和root才能对其删除和修改,其他用户一律不能删除和修改。
如果目录的其他用户的可执行位是t,则表示该目录被设置了sticky bit权限。
/tmp
数字设置 chmod 1777 文件/目录
助忆符设置 chmod o+/-t 文件/目录
注意:设置前必须保证文件有执行权限
特殊属性
A用户创建的文件不希望被任何用户删除,即创建一个不可删除的文件
语法:
chattr [+|-|=] 属性标示符 命令参数 文件/目录
常用命令参数如下:
-R:递归处理,将指令目录下的所有文件及子目录一并处理;
-V:显示指令执行过程;
+<属性标示符>:开启文件或目录的该项属性;
-<属性标示符>:关闭文件或目录的该项属性;
=<属性标示符>:指定文件或目录的该项属性。
常用属性标示符:
a:让文件或目录仅供附加用途;
A:不更新文件或目录的最后存取时间;
c:将文件或目录压缩后存放;
d:将文件或目录排除在倾倒操作之外;
i:不得任意更动文件或目录;
s:保密性删除文件或目录;
S:即时更新文件或目录;
u:预防意外删除。
chattr +i a
查看文件的特殊属性
lsattr 命令参数 文件/目录
常用参数如下:
-R:递归的操作方式;
-V:显示指令的版本信息;
-a:列出目录中的所有文件,包括隐藏文件。
lsattr -Ra f