当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Linux下修改文件权限(所有权)

    栏目:Linux/apache问题 时间:2019-11-10 20:27

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

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

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

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

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

    第一列含义为:-(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 为新的用户与用户组)

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

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

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

    chmod 764 . -R

    chown user:group . -R

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

    总结

    以上所述是小编给大家介绍的Linux下修改文件权限,希望对大家有所帮助!