暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

文件管理:​chmod命令

蜜蜂点滴 2020-02-09
989

    Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。

一、基本语法

1、语法

#> chmod 选项  文件命令

2、参数:

u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

-c : 若该文件权限确实已经更改,才显示其更改动作

-f : 若该文件权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

--help : 显示辅助说明

--version : 显示版本

备注:参数有的前面带 -,有的为--,有的没有,注意区别;

二、举例:

1、为tmp分配权限

#>chmod -R 1777 /tmp/

①-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更),

②1:    sticky bit只对目录有效,使目录下的文件,只有文件拥有者才能删除(如果他不属于owner,仅属于group或者other,就算他有w权限,也不能删除文件)。

    加sticky bit的方法:

    #>chmod o+t /tmp或者

    #>chmod 1777 /tmp

    查看是否加了sticky bit,用ls -l,可以看到有类似这样的权限:“-rwxrwxrwt”,t就代表已经加上了sticky bit,而且生效了,如果显示的是“-rwxrwxrwT”,说明也已经加上了sticky bit,但没有生效(因为本来other就没有写的权限)。

    看看/tmp目录的权限,就是drwxrwxrwt吧

    SGID(The Set GroupID )

    加上SGID的文件,表示运行这个程序时,是临时以这个文件的拥有组的身份运行的;加上SGID的文件夹,表示在这个目录下创建的文件属于目录所有的组,而不是创建人所在的组,在这个目录下创建的目录继承本目录的SGID。

    加SGID的方法:

    #>chmod g+s /tmp或

    #>chmod 2777 /tmp

    查看是否加了SGID,用ls -l,可以看到类似这样的权限“drwxrwsrwx”,s就代表已经加上了SGID,而且生效,如果显示“drwxrwSrwx”,说明已经加上了SGID,但没有生效(因为本来group就没有执行的权限)。

    SUID(The Set UserID)

    SUID与SGID是一样的,惟一不同的是,运行时是以这个文件的拥有者身份来运行。

    加SUID的方法:

    #>chmod o+s /tmp或

    #>chmod 4777 /tmp

③777:数字分别表示User、Group、及Other的权限。

         r=4,w=2,x=1;

         若要rwx属性则4+2+1=7;

         若要rw-属性则4+2=6;

         若要r-x属性则4+1=5。

2、将文件text1 与 text2设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :

#>chmod ug+w,o-w text1 text2;

文章转载自蜜蜂点滴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论