• 技术文章 >运维 >linux运维

    linux可以改变文件的权限吗

    青灯夜游青灯夜游2022-06-10 19:44:35原创699

    linux可以改变文件的权限。在linux中,可以利用chmod命令来修改文件权限,语法“chmod [-cfvR] [--help] [--version] mode file...”;chmod会根据mode值来更改每个给定文件的文件模式位,mode值可以是要进行更改的符号模式表示,也可以是表示新模式位的位模式的八进制数。

    本教程操作环境:linux7.3系统、Dell G3电脑。

    文件权限对于一个系统是很重要的,且每个文件都设定了针对不同用户的访问权限,那么,是否可以手动修改文件的访问权限呢?

    在linux中,可以利用chmod命令来修改文件权限。下面带大家了解一下chmod命令。

    一、chmod命令简介

    Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令。

    chmod根据mode更改每个给定文件的文件模式位,mode可以是要进行更改的符号模式表示,也可以是表示新模式位的位模式的八进制数。

    符号模式的格式为[ugoa…][±=][perms…][…],其中perms为集合rwxXst中的零个或多个字母,或集合ugo中的单个字母。可以给出多个符号模式,用逗号分隔。

    字母ugoa的组合控制哪些用户对文件的访问将被更改:拥有该文件的用户(u)、文件组中的其他用户(g)、不在文件组中的其他用户(o)或所有用户(A)。

    如果这些都没有给出,效果就好像给出了a,但umask中设置的位不受影响。chmod从不更改符号链接的权限;chmod系统调用无法更改其权限。

    二、权限介绍

      Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。

    1.jpg

      只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。

    2.png

    权限符号名字说明
    r设置为可读权限
    w设置为可写权限
    x执行权限设置为可执行权限
    X特殊执行权限只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行
    ssetuid/gid当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限
    t粘贴位设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位

    三、使用示例

    1、获取命令帮助信息

    [root@s141 ~]# chmod --help

    2、查看命令版本

    [root@s141 ~]# chmod --version
     chmod (GNU coreutils) 8.22
     Copyright © 2013 Free Software Foundation, Inc.
     License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html.
     This is free software: you are free to change and redistribute it.
     There is NO WARRANTY, to the extent permitted by law.
     Written by David MacKenzie and Jim Meyering.

    3、给所有用户增加文件执行权限

    chmod a+x 1.txt

    4、取消其他用户的执行权限

    chmod o-x 1.txt

    5、使用八进制数值整体设置权限

    [root@s141 ~]# chmod 751 1.txt

    6、递归设置目录及文件权限

    [root@s141 ~]# chmod -R 760 /home/test

    7、显示权限修改的详细信息

    [root@s141 ~]# chmod -Rv 760 /home/test
     mode of ‘/home/test’ retained as 0760 (rwxrw----)
     mode of ‘/home/test/.bash_logout’ retained as 0760 (rwxrw----)
     mode of ‘/home/test/.bash_profile’ retained as 0760 (rwxrw----)
     mode of ‘/home/test/.bashrc’ retained as 0760 (rwxrw----)
     mode of ‘/home/test/1’ retained as 0760 (rwxrw----)
     mode of ‘/home/test/2’ retained as 0760 (rwxrw----)

    8、只有权限发生改变时显示

    在这里插入图片描述

    9、使用符号设置权限

    [root@s141 ~]# chmod o=r,u=rwx,g=rx 1.txt

    10、给目录设置t权限

    3.png

    四、使用语法及参数说明

    1、使用语法

    chmod [-cfvR] [--help] [--version] mode file...

    用法一:chmod 权限 文件

    用法二:chmod 参数 权限 文件

    2、参数说明

    参数参数说明
    -c若该文件权限确实已经更改,才显示其更改动作
    -f若该文件权限无法被更改也不要显示错误讯息
    -v显示权限变更的详细资料
    -R对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
    –help显示辅助说明
    --version显示版本

    3、操作符说明

    Operator说明
    +为指定的用户类型增加权限
    -去除指定用户类型的权限
    =设置指定用户权限的设置,即将用户类型的所有权限重新设置

    4、用户符号

    who用户类型说明
    uuser文件所有者
    ggroup文件所有者所在组
    oothers所有其他用户
    aall所用用户, 相当于 ugo

    相关推荐:《Linux视频教程

    以上就是linux可以改变文件的权限吗的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux
    上一篇:linux创建文件失败的原因有哪些 下一篇:linux怎么查看nginx是否安装
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• Linux中自带emacs吗• linux中超级用户是什么• linux怎么判断是否启动了php-fpm• linux栈溢出的原因是什么• linux中ftp无法访问怎么办• linux挂起是什么意思
    1/1

    PHP中文网