前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux文件属性,权限和修改文件权限,所属者和所属组

Linux文件属性,权限和修改文件权限,所属者和所属组

作者头像
Ryan-Miao
发布2018-08-01 10:38:45
3.2K0
发布2018-08-01 10:38:45
举报
文章被收录于专栏:Ryan MiaoRyan Miao

Linux中文件的属性

Linux的文件属性,简单的说,有这么几种

  • 权限
  • 所属者
  • 所属组

下面是一个文件

代码语言:javascript
复制
-rw-r--r--. 1 root root 51894267 May 15 12:58 kibana-5.6.5-linux-x86_64.tar.gz

对应关系为

代码语言:javascript
复制
-rw-r--r--. 1    root     root  51894267 May 15 12:58 kibana-5.6.5-linux-x86_64.tar.gz
[    1   ][  2 ][   3  ][  4 ][    5   ][     6     ][       7          ]
[  权限  ][连结][拥有者][群组][文件容量][  修改日期 ][      文件名        ]

Linux中的文件权限

上述权限一栏可以3个一组,分为3组

代码语言:javascript
复制
-, rw-, r--, r--

注意到,第一个字符单独分组,这个表示文件类型。

  • 当为[ d ]则是目录,例如上表档名为『.gconf』的那一行;
  • 当为[ - ]则是文件,例如上表档名为『install.log』那一行;
  • 若是[ l ]则表示为连结档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

剩下的三组主要由[rwx]组成,r-read, w-write, x-execute, [-]表示占位符,即没权限。

  • 第一组为『文件拥有者的权限』,上栗中文件拥有者可读可写
  • 第二组为『同群组的权限』;上栗中文件所属组可读
  • 第三组为『其他非本群组的权限』,上栗中其他人可读

权限除了字母表示外还可以用数字,

代码语言:javascript
复制
 r=4, w=2, x=1, -=0

关于为什么是4210,见参考[权限详解]。

所以,上述文件的权限也可以表示为644

修改文件权限

命令

代码语言:javascript
复制
chmod [可选项] <mode> <file...>

可选项

代码语言:javascript
复制
可选项:
  -c, --changes          like verbose but report only when a change is made (若该档案权限确实已经更改,才显示其更改动作)
  -f, --silent, --quiet  suppress most error messages  (若该档案权限无法被更改也不要显示错误讯息)
  -v, --verbose          output a diagnostic for every file processed(显示权限变更的详细资料)
       --no-preserve-root  do not treat '/' specially (the default)
       --preserve-root    fail to operate recursively on '/'
       --reference=RFILE  use RFILE's mode instead of MODE values
  -R, --recursive        change files and directories recursively (以递归的方式对目前目录下的所有档案与子目录进行相同的权限变更)
       --help       显示此帮助信息
       --version        显示版本信息

mode

代码语言:javascript
复制
权限设定字串,详细格式如下 :
[ugoa...][[+-=][rwxX]...][,...],

其中
[ugoa...]
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。
[+-=]
+ 表示增加权限,- 表示取消权限,= 表示唯一设定权限。
[rwxX]
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

示例,修改所属者添加可执行权限

代码语言:javascript
复制
[root@localhost es]# ls -la
-rw-r--r--. 1 es   es   51894267 May 15 12:58 kibana-5.6.5-linux-x86_64.tar.gz
[root@localhost es]# chmod u+x kibana-5.6.5-linux-x86_64.tar.gz 
[root@localhost es]# ls -la
-rwxr--r--. 1 es   es   51894267 May 15 12:58 kibana-5.6.5-linux-x86_64.tar.gz

另一个比较常用的修改方式是数字法。

rwx = 4+2+1 = 7 可读可写可执行 r-x = 4 + 1 = 5 可读可执行

最常用的是755,即所属者拥有所有权限,所属组和其他人没有写权限。

代码语言:javascript
复制
chmod 755 kibana-5.6.5-linux-x86_64.tar.gz 

修改文件所属者

chown :改变文件拥有者

基本用法 chown [-R] 账号名称 文件或目录 chown [-R] 账号名称:用户组名称 文件或目录

示例

代码语言:javascript
复制
[root@localhost jdata]# ls -la
drwxr-xr-x.  2 root root  4096 Jun 14 00:05 es
[root@localhost jdata]# chown -R es:es es
[root@localhost jdata]# ls -la
drwxr-xr-x.  2 es   es    4096 Jun 14 00:05 es
  • R recursive 递归

修改文件所属组

也可以单独修改文件所属组

基本用法

代码语言:javascript
复制
chgrp [-R] 用户组名称 dirname/filename ...

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-06-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux中文件的属性
  • Linux中的文件权限
  • 修改文件权限
  • 修改文件所属者
  • 修改文件所属组
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档