专栏首页Ryan MiaoLinux文件属性,权限和修改文件权限,所属者和所属组

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

Linux中文件的属性

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

  • 权限
  • 所属者
  • 所属组

下面是一个文件

-rw-r--r--. 1 root root 51894267 May 15 12:58 kibana-5.6.5-linux-x86_64.tar.gz

对应关系为

-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组

-, rw-, r--, r--

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

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

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

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

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

 r=4, w=2, x=1, -=0

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

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

修改文件权限

命令

chmod [可选项] <mode> <file...>

可选项

可选项:
  -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

权限设定字串,详细格式如下 :
[ugoa...][[+-=][rwxX]...][,...],

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

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

[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,即所属者拥有所有权限,所属组和其他人没有写权限。

chmod 755 kibana-5.6.5-linux-x86_64.tar.gz 

修改文件所属者

chown :改变文件拥有者

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

示例

[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 递归

修改文件所属组

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

基本用法

chgrp [-R] 用户组名称 dirname/filename ...

参考

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • java设计模式(五)--建造者模式(Builder)

    转载:http://zz563143188.iteye.com/blog/1847029 工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来...

    Ryan-Miao
  • Linux中mongodb安装和导出为json

    采用官方工具导出mongo数据为json格式 文档:https://docs.mongodb.com/manual/reference/program/mong...

    Ryan-Miao
  • java8-Stream之数值流

    在Stream里元素都是对象,那么,当我们操作一个数字流的时候就不得不考虑一个问题,拆箱和装箱。虽然自动拆箱不需要我们处理,但依旧有隐含的成本在里面。Java8...

    Ryan-Miao
  • ubuntu中权限

    Ubuntu下修改目录权限需要先用 sudo 来获得管理员权限,格式如下: sudo chmod 600 ××× (只有所有者有读和写的权限) sudo c...

    闵开慧
  • Linux作业(3)

    1、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();

    py3study
  • 利用Decorator(装饰器)做数据层处理

    再介绍如何用Decorator做数据处理前,让我们先来看一下Decorator是什么?

    2014v
  • Spring Boot 最佳实践(二)集成Jsp与生产环境部署

    提起Java不得不说的一个开发场景就是Web开发,也是Java最热门的开发场景之一,说到Web开发绕不开的一个技术就是JSP,因为目前市面上仍有很多的公司在使用...

    Java中文社群_老王
  • axios 是如何封装 HTTP 请求的

    前端开发中,经常会遇到发送异步请求的场景。一个功能齐全的 HTTP 请求库可以大大降低我们的开发成本,提高开发效率。

    ConardLi
  • sparc v8架构的异常处理

    对于研究芯片处理器架构,是件非常有意思的事情。刚开始的接触时候也是一头雾水,不知所云,看着厚厚的架构手册,不知道从哪里下手。比如《ARMv8-A Archite...

    bigmagic
  • 工具系列 | 如何搭建FTP服务,上传本地文件

    2、文件服务器镜像:https://hub.docker.com/r/fauria/vsftpd

    Tinywan

扫码关注云+社区

领取腾讯云代金券