技术控

    今日:85| 主题:49531
收藏本版 (1)
最新软件应用技术尽在掌握

[其他] Linux基础:文件权限

[复制链接]
黑色无欲者 发表于 2016-9-30 17:24:31
80 1

立即注册CoLaBug.com会员,免费获得投稿人的专业资料,享用更多功能,玩转个人品牌!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Linux系统中的每个文件都有三种权限,分别是:读(read)、写(write)、执行(execute)。文件的执行操作就是运行该文件,比如一个python脚本文件,而目录的执行操作表示你有权限进入该目录中。每一个文件、目录都从属于一个用户和一个用户组,每个文件针对文件的拥有者、所属组以及其他用户组具有特定的权限。
   
Linux基础:文件权限-1 (python,用户组,Linux,write)

  如上图,除去第一个表示文件类型的字符外,后面的字符均以三个为一组,均为『rwx』 的三个参数的组合。[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。同时他们也会分别对应到一个数字,[ r ]对应4,[ w ]对应2,[ x ]对应1,这些数字在修改文件权限的时候可以用到。三个权限的位置不会改变,如果没有[ rwx ]中的某个权限,就会用减号[ - ]替代。
  第一组是文件拥有者对该文件的操作权限,第二组是文件所属组对该文件的操作权限,第三组是其他组的用户对该文件的操作权限。举例说明: 有一个文件的权限数据为『rwxr-xr--』,那么前3个字符表示文件的拥有者可以对文件进行读、写、执行三个操作,中间3个字符表示该文件的所属组可以对文件进行读和执行操作,最后3个字符表示其他群组的用户只能对该文件进行读操作。
  更改文件权限 chmod

   更改权限使用命令 chmod ,一个文件的权限对应3种用户(自己、组、其他人)的读写执行共有9个,三个为一组,把每组的权限相加得到一个数字,例如[rwxrwx---]对应的数字是:
  [code]owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0[/code]  只要用户对文件有写权限,那么该用户就可以更新其他用户对该文件的操作权限,命令:
  [code]chmod [-R] xyz 文件或目录[/code]  
       
  • xyz:分别对应三类用户权限值相加的和。   
  • -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更  
  例如:
  [code][[email protected] ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[[email protected] ~]# chmod 777 .bashrc   # 更改为所有用户都可以读写执行
[[email protected] ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc[/code]  chmod 除了可以使用数字的方式变更文件的权限之外,还可以使用符号来改变文件权限,u、 g、o、a分别是user、group、others、all(所有用户)的简写,r 、w、x 分别是read、write、execute 的简写,那么chmod可以接收这些简写字符来变更文件权限。
  [code]u         
        g                 +(增加)         r
chmod   o                 -(除去)         w             文件或目录
        a                  =(赋值)         x[/code]  例如:
  [code]# 给自己读写执行权限,给用户组和其他人读和执行操作
chmod  u=rwx,go=rx  .bashrc
# 给所有用户追加写权限
chmod  a+w  .bashrc
# 给所有用户除去写权限
chmod a-w     .bashrc[/code]  改变所属群组 chgrp

  改变文件的群组使用chgrp命令,他是change group 的缩写,命令格式:
  [code]chgrp [-R] groupname dirname/filename[/code]  -R 递归改变目录及子目录文件,groupname 必须是存在于系统中的/etc/group文件里面的组。
  [code]# 把当前目录以及子目录下所有文件的所属组更新为mysql组
chgrp -R mysql .[/code]  改变文件拥有者 chown

  改变文件的所属者使用 chown 命令,他是change owner 的缩写,命令格式:
  [code]chown [-R]  owner dirname/filename
或者
chown [-R] owner:group dirname/filename[/code]  chown 命令不仅可以改变文件的拥有者,同时还可以改变文件的群组,只需在 owner 后面 加上 group 的名称即可
  [code]# 把install.log改成mysql用户
chown mysql install.log
# 把 install.log 改成root用户和root组
chown root:root install.log[/code]
友荐云推荐




上一篇:聊聊Code Review
下一篇:Custom Attributes for our Spacing Classes
酷辣虫提示酷辣虫禁止发表任何与中华人民共和国法律有抵触的内容!所有内容由用户发布,并不代表酷辣虫的观点,酷辣虫无法对用户发布内容真实性提供任何的保证,请自行验证并承担风险与后果。如您有版权、违规等问题,请通过"联系我们"或"违规举报"告知我们处理。

方力眠n 发表于 2016-11-11 01:41:13
我也是坐沙发的
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

我要投稿

推荐阅读

扫码访问 @iTTTTT瑞翔 的微博
回页顶回复上一篇下一篇回列表手机版
手机版/CoLaBug.com ( 粤ICP备05003221号 | 文网文[2010]257号 )|网站地图 酷辣虫

© 2001-2016 Comsenz Inc. Design: Dean. DiscuzFans.

返回顶部 返回列表