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 条评论
登录 后参与评论

相关文章

来自专栏岑志军的专栏

使用Cocoapods创建私有库

1263
来自专栏大魏分享(微信公众号:david-share)

高端黑科技系列一:新一代微服务与新一代API管理的集成

版权说明:本文书写过程中参照了红帽的技术文档;本系列文章中的部分测试代码为红帽公司版权所有,因此不能提供源码文件。

1643
来自专栏用户画像

7.4.2 程序中断方式

程序中断是指在计算机执行现行程序的过场中,出现某些急需处理的异常情况或特殊请求,CPU暂停中断现行程序,而专区对这些异常情况或特殊情况进行处理,在处理完毕后CP...

621
来自专栏JAVA高级架构

程序猿的日常——SpringMVC系统架构与流程回顾

web开发经历了很漫长的时间,在国内也快有十几年的时间了。从最开始的进程级到现在的MVC经历了很多的改进和优化,本篇就主要复习了解下Spring MVC相关的知...

3475
来自专栏马洪彪

spss C# 二次开发 学习笔记(五)——Spss系统集成模式

Spss官方不支持Server2008R2等Server系列,但做Spss的二次开发,调用Spss的Web系统,一般部署在Server系列上,例如Server2...

3366
来自专栏xingoo, 一个梦想做发明家的程序员

程序猿的日常——SpringMVC系统架构与流程回顾

web开发经历了很漫长的时间,在国内也快有十几年的时间了。从最开始的进程级到现在的MVC经历了很多的改进和优化,本篇就主要复习了解下Spring MVC相关的...

2067
来自专栏24k

SpringBoot项目使用JRebel热部署

1804
来自专栏魏艾斯博客www.vpsss.net

lnmp 如何备份网站文件和数据库

1722
来自专栏魏艾斯博客www.vpsss.net

lnmp环境下如何手动备份网站文件和数据库

我们站长做个网站都是挺不容易的,从域名注册,掌握虚拟主机或者 VPS 的基本配置,到安全防护,搭建网站、图片处理、发布文章,SEO 等等,是样样精通,不过这里面...

44415
来自专栏weixuqin 的专栏

win10 + Lubuntu 双系统安装

最近重装了系统,索性直接安装win10 + Lubuntu 双系统,便于在物理机下进行 Linux开发. 这里我选择的 Linux 发行版是 Lubuntu ....

4552

扫码关注云+社区