欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux下修改文件权限,所有权

程序员文章站 2022-05-18 20:17:33
Linux与Unix是多用户操作系统,所以文件的权限与所有权的实现就显得很有必要;每个文件主要与三组权限打交道,分别是用户(user),用户组(group),其他用户(other) 用户(u)是文件的所有者,通常有所有的文件的操作权限 用户组(g)是多个用户的集合,可能有文件的部分访问权,相当于各用 ......

linux与unix是多用户操作系统,所以文件的权限与所有权的实现就显得很有必要;每个文件主要与三组权限打交道,分别是用户(user),用户组(group),其他用户(other)

 

用户(u)是文件的所有者,通常有所有的文件的操作权限

用户组(g)是多个用户的集合,可能有文件的部分访问权,相当于各用户之间的共享文件

其他(o)是指文件所有者和用户组成员之外的任何人

 

使用ls -l可以显示出当前目录下的文件类型,权限,所有者以及组在内的多方面信息;

Linux下修改文件权限,所有权

第一列含义为:-(filetype)---(user)---(group)---(other),每组权限对应一个三位的二进制数,第一位表示拥有读(r)的权限,第二位表示有写(w)的权限,第三位表示有执行(x)的权限(若该文件可执行);在拥有相应的权限时相应的位被置为1(否则为0),表示当前对象拥有此权限

 

1:用户可读写执行:-rwx------,通常来说,对于数据文件,用户的权限为rw-,可执行文件与脚本的权限为rwx;对于用户来说,还拥有一个叫做setuid的特殊权限,他能出现权限x的位置,setuid(s)权限允许可执行文件以其拥有者的权限来执行,即使该可执行文件是由其他用户运行的,若被赋予权限则序列为:-rws------

2:用户组读写可执行:----rwx---, 对于用户组来说,其拥有一个被称作setgid(s)的特殊权限它允许我们使用任意一个有效用户组来运行该文件,前提是该组需要与该文件的所需组权限相同,,----rws---

3:其他用户:-------rwx

 

一:使用chmod(change mode)设置文件权限:

--x=1;-w-=2;r--=4; r-x=5; rw-=6;rwx=7;

假如设置权限:rwxrw-r--

1:chomd 764 filepath

 

2:chmod u=rwx, g=rw, o=r filepath; chmod ugo=r,g=w filepath

 

为文件增添权限或删除权限:

1:增添可执行权限给用户与用户组(+):

chmod u+x, g+x filepath

 

2:删除(-)用户组的可执行权限:

chmod g-x fielpath

chmod g=u-r filepath意为设置用户组的权限为与用户相同的权限,但删除r权限

 

3:给所有(a)的权限类别(即用户,用户组,其他用户)添加/删除可执行权限

chmod a+x filepath

 

二:更改所有权(change owner)

1:使用chown更改文件的所有权,一般用户没有权限来改变别人的文件的拥有者,也没有权限可以将自己的文件的拥有者改设为别人,只有系统管理者(root)才有这样的权限:chown user:group filepath (user , group 为新的用户与用户组)

Linux下修改文件权限,所有权

 

2:给目录设置粘滞位(sticky bit)

粘滞位:目录有一个叫做粘滞位的特殊权限,如果某目录设置了粘滞位,则只有创建该目录的用户才能删除目录中的文件。其出现在其他用户组中的执行权限位置。当设置执行权限时-------rwt,当没有设置执行权限时-------rwt,chmod a+t dirname

 Linux下修改文件权限,所有权

3:递归方式设置所有权和文件权限,使用选项-r;

chmod 764 . -r

chown user:group . -r

 

补:文件类型:- 普通文件 d 目录(directory); c 字符设备(char);b 块设备(block);l 符号链接(link)s 套接字(socket)p 管道(pipe)