• chmod权限命令


    chmod权限命令

    一、chmod命令的语法

    用于改变文件或目录权限

    语法:chmod [对谁操作(ugoa)] [操作符 (+-=)] [赋予的权限(rwx)] 文件名1 文件名2...

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

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

    对谁操作:

    u    用户user,表现文件或目录的所有者
    g    用户组group,表现文件或目录所属的用户组
    o    其他用户other
    a    所有用户all   
    

    操作符:

    + 添加权限       -  减少权限         =直接给定一个权限
    

    权限:

    r 读  w 写  x 执行
    

    八进制数字表示权限

    ​ r w x
    二进制代表100 010 001
    十进制代表 4 2 1

    范例:

    chmod 755 1.txt
    chmod 777 /etc/hurenxiang 将hurenxiang这个文件夹权限改为对所有用户可读,可写,可执行
    chmod 775 /etc/caiyao 将caiyao这个文件夹权限改为其他用户不可读

    rwx的值为4+2+1=7; 
    rw-的值为4+2=6; 
    r-x的值为4+1=5。 
    rwxr-xr-x的值为755
    -rw------- (600) 只有属主有读写权限。  
    -rw-r--r-- (644) 只有属主有读写权限;而属组用户和其他用户只有读权限。 
    -rwx------ (700) 只有属主有读、写、执行权限。  
    -rwxr-xr-x (755) 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。  
    -rwx--x--x (711) 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。  
    -rw-rw-rw- (666) 所有用户都有文件读、写权限。这种做法不可取。  
    -rwxrwxrwx (777) 所有用户都有读、写、执行权限。更不可取的做法。
    
    

    二.chmod命令结构详解

    在Linux中输入ll,会出现指定目录下文件/目录的详细信息,

    img

    详解下图:权限一共是10个字符,第1个字符分为1组,后面9个字符分为3组。

    第1个字符有两种情况:如果是“d”则代表这是一个文件夹,如果是“—”代表这是一个文件;

    第2、3、4个字符:表示文件拥有者的权限,可以用u来表示,拥有四个权限:r:读权限 , w:写权限,x:执行权限,—:无权限;

    第5、6、7个字符:表示文件所属群组的权限,可以用g来表示,拥有四个权限:r:读权限 , w:写权限,x:执行权限,—:无权限;

    第8、9、10个字符:表示的是除拥有者和所属群组之外的其他所有的用户,可以用o来表示,拥有四个权限:r:读权限 , w:写权限,x:执行权限,—:无权限。
    img

    三.chmod命令的使用

    -rw--wx--x //该文件的 拥有者有读取和写入的权限,但没有执行权限;
    所在群组没有读取的权限,但有写入和执行的权限;
    其他用户没有读取和写入的权限,但有执行的权限

    d--xr-xrw- //该文件夹的 拥有者没有读取和写入的权限,但有执行的权限;
    所在群组没有写入的权限,但有读取和执行的权限;
    其他用户没有执行权限,但有读取和写入的权限

    范例 :

    第一种修改权限的方法

    将档案 file1.txt 设为所有人皆可读取 :
    chmod ugo+r file1.txt
    将档案 file1.txt 设为所有人皆可读取 :
    chmod a+r file1.txt
    将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入(逗号隔开) :
    chmod ug+w,o-w file1.txt file2.txt
    将 ex1.py 设定为只有该档案拥有者可以执行 :
    chmod u+x ex1.py
    将目前目录下的所有档案与子目录皆设为任何人可读取 :
    chmod -R a+r *
    (-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) )

    第二种:用数字赋权:
    chmod a=rwx file 和 chmod 777 file 效果相同
    chmod ug=rwx,o=x file 和 chmod 771 file 效果相同

    第三种:修改目录下的所有文件 | 所有文件 | 所有文件夹和文件的权限

    要修改某目录下所有的文件夹属性为可写可读可执行

    chmod 777 *
    把文件夹名称用*来代替就可以了
    

    要修改某目录下所有的文件属性为可写可读可执行

    chmod 777 *.*
    把文件夹名称与后缀名用*来代替就可以了。 
    同理若是要修改所有htm文件的属性
    chmod 777 *.htm
    

    要修改/tmp/sco下所有的文件和文件夹及其子文件夹属性为可写可读可执行

    chmod -R 777 /tmp/sco
    

    四.对可执行文件的赋权

    用户创建的一个文件是没有任何权限的,再Linux的控制台可见文件无权限文件的字体是灰白色的,没权限那么此文件就只是文本文件,不可执行。

    img

    蓝色表示目录;
    绿色表示可执行文件,可执行的程序;
    红色表示压缩文件或包文件;
    浅蓝色表示链接文件;
    灰色表示其它文件;
    
    • 下面实践来看

    首先上传了一个stop1.sh文件,是灰色,然后进行chmod +x给了权限。后来使用chmod -x 去除执行权限,可以明显看到效果

    image-20200305184553462

  • 相关阅读:
    mysql 数据库信息常用命令
    Linux 目录详细介绍
    RPC调用和HTTP调用的区别
    maven 常见命令
    SpringCloud微服务常见组件理解
    Java实现CORS跨域请求
    Java 静态代理和动态代理例子
    Mabatis中#{}和${}的区别
    针对海量数据和高并发的主要解决方案
    SOAP webserivce 和 RESTful webservice 对比及区别
  • 原文地址:https://www.cnblogs.com/forforever/p/12421896.html
Copyright © 2020-2023  润新知