本文共 1531 字,大约阅读时间需要 5 分钟。
一.linux为不同的文件赋予了不同的权限,每个文件都有下面三种权限: 1.所有者权限:文件所有者能够进行的操作 2.组权限:文件所属用户组能够进行的操作 3.外部权限:其他用户能够进行的操作 二.查看文件权限 使用 ls -l 命令来查看与文件权限相关的信息,如下: $ls -l /home/amrood -rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfile drwxr-xr--- 1 amrood users 1024 Nov 2 00:10 mydir 第一列就包含了文件或目录的权限 ,每个字符代表不同的权限,分别为 读取(r),写入(w),执行(x) 第一组字符(2-4)表示文件所有者的权限,-rwxr-xrw- 表示所有者拥有 读取 写入 执行的权限 第二组字符(5-7)表示文件所属用户组的权限,-rwxrw---x 表示该组拥有 读取 写入的权限 第三组字符(8-10)表示所有其他用户的权限,rwxr-xr-- 表示其他用户只能读取文件 三.文件访问模式 文件权限是linux系统的第一道防线,基本的权限有 r w x 1.r:用户能读取文件,获取文件内容 2.w:用户可以编辑文件,删除或添加内容 3.x:用户可将文件作为程序来执行 目录访问模式类似,稍有不同 四.使用 chmod 来改变权限 权限可用数字或符号来表示 1.使用符号表示权限 + 增加权限 - 删除权限 = 设置指定特权 o:8-10列 g:5-7列 u:2-4列 例: $chmod o=rw,u+w,g-r test //为test文件 修改权限 多个符号之间用逗号隔开 2.使用数字表示权限 使用八进制数字来指定具体权限 如下: 数字 说明 权限 0 没有任何权限 --- 1 执行权限 --x 2 写入权限 -w- 3 执行+写入:1+2=3 -wx 4 读取权限 r-- 5 读取+执行:4+1=5 r-x 6 读取+写入:4+2=6 rw- 7 读取+写入+执行 rwx r w x 4 2 1 例: chmod 755 test 修改test权限为 -rwxr-xr-x 五.更改所有者和用户组 在linux中每添加一个新用户,就会为他分配一个用户ID和群组ID,文件权限也是基于用户和群组来分配的。 有两个命令可以改变文件的所有者或群组: 1.chown(change owner) :用来改变文件的所有者 2.chgrp(change group) :用来改变文件所在的群组 语法: $chown user filelist //user 是用户名或者是用户ID 注意:超级用户不收权限限制的更改文件的所有者和用户组,但普通用户只能更改所有者是自己的目录或文件。 chgrp 同理。 六.SUID和SGID位 在 linux 中,一些程序需要特殊的权限才能完成用户指定的操作。 linux 通过给程序设置SUID(Set User ID)和SGID(Set Group ID)位来赋予普通用户特殊权限。 当我们使用SUID位的程序时,就会继承该程序所有者的权限了;如果程序不带SUID位,则会根据程序使用者的权限来运行。普通用户以root的权限来执行程。 如果程序设置了SUID位,就会在表示文件所有者可执行权限的位置上显示's'字母,同样如果设置了SGID位,就会在表示文件组所有者可执行权限的位置上显示's'字母。 注意:小写字母's'说明文件所有者具有执行(x)权限,大写字母'S'说明文件所有者不具有。 为一个目录设置SUID和SGID位 可使用如下命令:$chmod ug+s sirname