zoukankan      html  css  js  c++  java
  • 关于Linux:chmod和chown知识

     将vendor下的root权限递归更改为user命令:sudo chown -R user:user fujitsu

    指令名称 : chmod

    使用权限 : 所有使用者
    使用方式 : chmod [-cfvR] [--help] [--version] mode file...
    说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉
    以控制档案如何被他人所存取。


    mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有
    者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆
    是。


    + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被
    设定过为可执行。
    -c : 若该档案权限确实已经更改,才显示其更改动作
    -f : 若该档案权限无法被更改也不要显示错误讯息
    -v : 显示权限变更的详细资料
    -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
    --help : 显示辅助说明
    --version : 显示版本


    范例 :将档案 file1.txt 设为所有人皆可读取 :

    C代码  收藏代码
    1. chmod ugo+r file1.txt   

     
    将档案 file1.txt 设为所有人皆可读取 :

    C代码  收藏代码
    1. chmod a+r file1.txt   

     
    将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的
    人则不可写入 :

    C代码  收藏代码
    1. chmod ug+w,o-w file1.txt file2.txt   

     
    将 ex1.py 设定为只有该档案拥有者可以执行 :

    C代码  收藏代码
    1. chmod u+x ex1.py   

     
    将目前目录下的所有档案与子目录皆设为任何人可读取 :

    C代码  收藏代码
    1. chmod -R a+r *   

     
    此外chmod也可以用数字来表示权限如 chmod 777 file
    语法为:chmod abc file
    其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
    r=4,w=2,x=1
    若要rwx属性则4+2+1=7;
    若要rw-属性则4+2=6;
    若要r-x属性则4+1=7。


    范例:

    C代码  收藏代码
    1. chmod a=rwx file  
    2. #和  
    3. chmod 777 file  
    4. #效果相同  
    5. chmod ug=rwx,o=x file  
    6. #和  
    7. chmod 771 file  
    8. #效果相同   

     
    若用chmod 4755 filename可使此程式具有root的权限


    指令名称 : chown
    使用权限 : root

    使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file...
    说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥
    有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以
    改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才
    有这样的权限。


    user : 新的档案拥有者的使用者 ID
    group : 新的档案拥有者的使用者群体(group)
    -c或-change:作用与-v相似,但只传回修改的部分
    -f或–quiet或–silent:不显示错误信息
    -h或–no-dereference:只对符号链接的文件做修改,而不更改其他任何相关文件
    -R或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理
    -v或–verbose:显示指令执行过程
    –dereference:作用和-h刚好相反
    –help:显示在线说明
    –reference=<参考文件或目录>:把指定文件或目录的所有者与所属组,统统设置成和参考文件或目录的所有者与所属组相同
    –version:显示版本信息


    范例 :
    将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :

    C代码  收藏代码
    1. chown jessie:users file1.txt   

     
    将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :

    C代码  收藏代码
    1. chown -R lamport:users *   

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


    以下是对目录的两个普通设定:
    drwx------ (700) - 只有属主可在目录中读、写。
    drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容


    suid的代表数字是4,比如4755的结果是-rwsr-xr-x
    sgid的代表数字是2,比如6755的结果是-rwsr-sr-x
    sticky位代表数字是1,比如7755的结果是-rwsr-sr-t
    (当然7755这个chmod设置没多大意义,这里只是演示一下)

    # chown [-R] [用户名称] [文件或目录]
    # chown[-R] [用户名称:组名称] [文件或目录]

    范例1:将test3.txt文件的属主改为test用户。

    C代码  收藏代码
    1. # ls -l test3.txt  
    2. -rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt  
    3. # chown test:root test3.txt  
    4. # ls -l test3.txt  
    5. -rw-r–r– 1 test root 0 2009-10-23 9:59  

    范例2:chown所接的新的属主和新的属组之间可以使用:连接,属主和属组之一可以为空。如果属主为空,应该是“:属组”;如果属组为空,“:”可以不用带上。

    C代码  收藏代码
    1.  # ls -l test3.txt  
    2. -rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt  
    3.   
    4. # chown :test test3.txt <==把文件test3.txt的属组改为test  
    5. # ls -l test3.txt  
    6. -rw-r–r– 1 test test 0 2009-10-23 9:59 test3.txt  

    范例3:chown也提供了-R参数,这个参数对目录改变属主和属组极为有用,可以通过加 -R参数来改变某个目录下的所有文件到新的属主或属组。

    C代码  收藏代码
    1. # ls -l testdir <== 查看testdir目录属性  
    2. drwxr-xr-x 2 usr root 0 2009-10-56 10:38 testdir/ <==文件属主是usr用户,属组是 root用户  
    3. # ls -lr testdir <==查看testdir目录下所有文件及其属性  
    4. total 0  
    5. -rw-r–r– 1 usr root 0 2009-10-23 10:38 test1.txt  
    6. -rw-r–r– 1 usr root 0 2009-10-23 10:38 test2.txt  
    7. -rw-r–r– 1 usr root 0 2009-10-23 10:38 test3.txt  
    8. # chown -R test:test testdir/ <==修改testdir及它的下级目录和所有文件到新的用户和用户组  
    9. # ls -l testdir  
    10. drwxr-xr-x 2 test test 0 2009-10-23 10:38 testdir/  
    11. # ls -lr testdir  
    12. total 0  
    13. -rw-r–r– 1 test test 0 2009-10-23 10:38 test1.txt  
    14. -rw-r–r– 1 test test 0 2009-10-23 10:38 test2.txt  
    15. -rw-r–r– 1 test test 0 2009-10-23 10:38 test3.txt  

    参考:

    http://linux.chinaunix.net/techdoc/system/2007/12/11/974135.shtml

    http://www.ipinba.com/archives/518

  • 相关阅读:
    git知识总结-3.gitignore文件说明
    git知识总结-2.git基本操作之原理说明
    git知识总结-2.git基本操作之操作汇总
    久视伤血;久卧伤气;久坐伤肉;久立伤骨;久行伤筋;久听伤神;久闻伤心;久思伤眠
    不同的「火」在舌頭上的表現也不一樣
    手指甲半月痕 血象和微量元素检查分析是否有贫血
    五脏与五声 五脏排毒法(五声功)
    SSD硬盘 全盘安全擦除
    滋补药早晚饭前半小时空腹服用效果最佳,其他未注明者饭前半小时或饭后一小时
    身体检查 生化全套 血常规 微量元素
  • 原文地址:https://www.cnblogs.com/mgstone/p/6108899.html
Copyright © 2011-2022 走看看