• Linux命令 chmod


    1.简介

      在Linux中,一个文件或目录拥有很多权限,而最基本的权限就有九个,分别是拥有者用户组其他人三个对象的读,写,执行的权限。

      而chmod命令就是用来改变文件/目录的权限。改变文件的权限有两种方法:1.使用数字 2.使用符号

    2.  具体方法

       所有的方法都遵循此模式:   chmod  [options]  [ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+  filename

     options:

       (1)   -c ,--changes    在改变文件的权限的时候成功的时候,会打印一行内容报告改变权限的内容

    root@localhost:~/c# chmod -c u+x a.c
    mode of 'a.c' changed from 0644 (rw-r--r--) to 0744 (rwxr--r--)

      注意:上面的0644的0代表的是‘-’ ,表示文件,数字代号是"0";

          还有 符号连接的权限

      (2)  -f, --silent, --quit   保持沉默

      (3)  -v , --verbose  总是会提醒你和 -c 很相似  所以是冗杂的,繁多的

      (4)  -R   最常用的一个选项,递归改变文件和目录的权限

     数字类型:

       对于一个文件的每个对象都有三种权限,读,写和执行的权限,每个权限都对应这一个分数。

      r : 4  w:2  x:1

      每个身份的权限的值都是累加的,比如 :

    root@localhost:~/c# chmod 764 a.c
    root@localhost:~/c# ls -l a.c
    -rwxrw-r-- 1 root root 58 Aug 30 07:45 a.c

      在这个实例中,拥有者的权限是7,就是 r+w+x =4+2+1=7,用户组的权限就是6  r+w=4+2=6 ,而其他人就是4了 r=4.

     字符类型:

      用字符改变文件权限    chmod [augo] [+-=] [rwx] filename/dirname;

      a: all 包括所有的对象  u:user,只改变拥有者的权限  g:group,只改变用户组的权限  o:others,只改变其他人的权限

      +:添加权限  -:删除权限  =:设置权限

      比如:

    root@localhost:~# ls -l .bash_history 
    -rw------- 1 root root 26291 Aug 27 09:54 .bash_history
    root@localhost:~# chmod u=rwx,go+w .bash
    .bash_history  .bashrc        
    root@localhost:~# chmod u=rwx,go+w .bash_history 
    root@localhost:~# ls -l .bash_history 
    -rwx-w--w- 1 root root 26291 Aug 27 09:54 .bash_history

    刚开始只有拥有者可以读和写,  u=rwx 给拥有者设置为所有权限, go+w 给 用户组和其他人加上了 w的权限。

  • 相关阅读:
    应用程序是否能控制SDK的P2P连接?
    如何使用流媒体数据代理功能?
    怎么样设置AnyChat视频质量?
    AnyChat在打开音频设备的同时会自动发布视频数据吗?
    单层感知器--matlab神经网络
    Django Day1
    云知声Java实习面试(offer到手含面试经验及答案)
    第四范式Java实习面试(offer到手含面试经验及答案)
    悦畅科技Java实习面试(offer到手含面试经验及答案)
    花椒直播Java实习面试(offer到手含面试经验及答案)
  • 原文地址:https://www.cnblogs.com/Triomphe/p/7451046.html
Copyright © 2020-2023  润新知