Linux的每一个文件都跟多种类型相关联。在这些权限中,我们通常需要和三类权限打交道(用户、用户组以及其他实体)。

1.文件权限查看ls –l

Linux:/qinys # ls -l

total 60

-rwxr--r-- 1 root root   30 Jan 15 01:46 A.txt

-rw-r--r-- 1 root root   30 Jan 15 01:46 B.txt

-rw-r--r-- 1 root root    8 Jan 15 01:48 C.txt

-rw-r--r-- 1 root root   11 Jan 15 01:33 D.txt

drwxr-xr-x 2 root root 4096 Jan 15 04:33 a.sh

drwxr-xr-x 2 root root 4096 Jan 15 02:24 data

第一行:total 60 :告诉我们该目录所占用的空间;

第一列:第一个字母明确指出对象类型

"-" :普通文件

"d" :目录

"c" :字符设备

"b" :块设备

"l" :符号链接

"s" :套接字

"p" :管道

第二列:表示硬链接的数目

2.用户、用户组、其他用户权限

除去第一个字母,剩下的部分可以分为三段,每段3个字符;其中:

  • 第一段对应用户权限
  • 第二段对应用户组权限
  • 第三段对应其他用户权限

例如:-rw-r--r-- 1 root root   30 Jan 15 01:46 B.txt

-代表该文件问普通文件,rw-代表用户权限为可读写,r--代表用户组权限为可读,r--代表其他用户权限为可读

3.设置文件权限

3.1 一般授权

3.1.1 chmod命令的一般格式为:

chmod [who] operator [permission] filename

说明:

who的含义

u :指定用户权限

g :指定用户组权限

o :指定其他实体权限

a :表示所有(用户、用户组、其他实体用户)

operator的含义

+ 增加权限

-  删除权限

= 设定权限

permission的含义

r  读权限

w 写权限

x  执行权限

s  文件属主和组set-ID

t  粘性位*

l  给文件加锁,使其他用户无法访问

3.1.2 chmod命令举例

假如现在文件per.sh权限为rwx rwx rwx

Linux:/qinys # ls -lrt per.sh

-rwxrwxrwx 1 root root 0 Jan 17 15:05 per.sh

①收回所有用户组的执行权限

Linux:/qinys # chmod a-x per.sh

Linux:/qinys # ls -lrt per.sh

-rw-rw-rw- 1 root root 0 Jan 17 15:05 per.sh

②收回同用户组好其他用户组的写权限

Linux:/qinys # chmod go-w per.sh

Linux:/qinys # ls -lrt per.sh

-rw-r--r-- 1 root root 0 Jan 17 15:05 per.sh

③赋予同组用户写权限

Linux:/qinys # chmod g+w per.sh

Linux:/qinys # ls -lrt per.sh

-rw-rw-r-- 1 root root 0 Jan 17 15:05 per.sh

④赋予文件属主可执行权限

Linux:/qinys # chmod u+x per.sh

Linux:/qinys # ls -lrt per.sh

-rwxrw-r-- 1 root root 0 Jan 17 15:05 per.sh

⑤赋予同组用户和其他用户可执行权限

Linux:/qinys # chmod go+x per.sh

Linux:/qinys # ls -lrt per.sh

-rwxrwxr-x 1 root root 0 Jan 17 15:05 per.sh

3.1 八进制授权

也可以使用八进制来设置权限,权限由3位八进制数来表示,每一位按照顺序分别对应用户、用户组、其他用户

读、写和执行都有与之对应的八进制数

  • r--=4
  • -w-=2
  • --x=1

我们可以对权限进行组合,例如:可读可写权限

rw-=4+2

777表示的是:用户、用户组、其他用户都具有可读、可写、可执行权限

示例:chmod 777 filename #授予用户、用户组、其他用户都具有可读、可写、可执行权限

特殊:chmod 7 filename #将其他用户权限授予可读、可写、可执行,用户与用户组的权限则全部收回

可以使用-R选项连同子目录下的文件一起设置权限,但是需要谨慎,只有在需要改变目录树下全部文件权限时候才可以使用。

4.更改文件的所有权

使用chown命令进行修改

4.1 查看当前文件所属

Linux:/qinys/oliver # ls -l

total 4

---x--x--x 1 root root    0 Jan 15 04:34 a.sh

当前文件所属为root 组为:root

4.2 修改所属,再次查看

Linux:/qinys/oliver # chown qinys:root a.sh

Linux:/qinys/oliver # ls -l

total 4

-------rwx 1 qinys root    0 Jan 15 04:34 a.sh

从上述结果我们可以看到,文件所属已经发生改变

【Linux】文件权限的更多相关文章

  1. 修改linux文件权限

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...

  2. Linux:文件权限

    Linux:文件权限 1.文件权限 ☆文件所有者 ☆用户组 ☆其他人 ☆ROOT 说明: Linux系统中默认所有系统上的账号与一般身份用户,还有那个root的相关信息记录在/etc/passwd文件 ...

  3. Linux 文件权限总结

    在 Linux 中最基本的任务之一就是设置文件权限.理解它们是如何实现的是你进入 Linux 世界的第一步.如您所料,这一基本操作在类 UNIX 操作系统中大同小异.实际上,Linux 文件权限系统就 ...

  4. Linux&shell 之Linux文件权限

    写在前面:案例.常用.归类.解释说明.(By Jim) Linux文件权限用户useradd test (添加用户test)userdel test (删除用户test)passwd test(修改用 ...

  5. linux文件权限整理

    网上对linux文件权限的已经很多,不过还是要自己整理一下,不然每次都要查资料. linux下所有东西都是文件,包括设备,所以这里的文件也包括文件夹. 先是查看文件权限:ls -lh xzc@xzc- ...

  6. 修改linux文件权限命令:chmod 【转载】

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. chmod  命令可以改变所有子目录的权限,下面有2种方法 改变一个文件的权限: chmod ...

  7. linux文件权限总结(创建root不可以删除文件、只可追加的日志文件等)

    文件类型 对于文件和目录的访问权力是根据读访问,写访问,和执行访问来定义的. 我们来看一下 ls 命令的输出结果 [root@iZ28dr6w0qvZ test]# ls -l 总用量 72 -rw- ...

  8. Linux 文件权限于目录配置

    用户与用户组 我們以王三毛為例,王三毛這個『檔案』的擁有者為王三毛,他屬於王大毛這個群組, 而張小豬相對於王三毛,則只是一個『其他人(others)』而已. 不過,這裡有個特殊的人物要來介紹的,那就是 ...

  9. Linux文件权限与属性详解 之 SUID、SGID & SBIT

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

  10. Linux文件权限与属性详解 之 一般权限

    目录 一般属性 1. iNode: 3152621 2. 文件类型 3.文件访问权限 4. 链接数目: 5. 文件所有者 6. 文件所属组 7. 文件大小 8. 修改时间 9. 文件名称 Linux文 ...

随机推荐

  1. SVG.js 图案使用和use引用

    一.SVG.Pattern 图案设置 var draw = SVG('svg1').size(300, 300); //SVG.Pattern 图案设置 var pattern = draw.patt ...

  2. BZOJ1337: 最小圆覆盖

    题目:求n个点的最小圆覆盖. 题解:最小圆覆盖,上模板.复杂度证明可以戳:这里 代码: #include<cstdio> #include<cstdlib> #include& ...

  3. Java switch 枚举

    Switch中能够使用int.byte.short,char,Enum,String.当中Enum为1.5之后新增特性,String为java8新增特性.本文介绍怎样在Switch中使用Enum类型. ...

  4. verilog语法实例学习(9)

    常用的时序电路介绍 寄存器 一个触发器可以存储一位数据,由n个触发器组成的电路可以存储n位数据,我们把这一组触发器叫做寄存器.寄存器中每个触发器共用同一个时钟. 下面是n位寄存器的代码,我们通过一个参 ...

  5. maven单测生成覆盖率报告---Jacoco的使用

    JaCoCo介绍 一.JaCoCo简述 JaCoCo是一个开源的覆盖率工具,它针对的开发语言是java,其使用方法很灵活,可以嵌入到Ant.Maven中:可以作为Eclipse插件,可以使用其Java ...

  6. 基于fasttext的情感分析,准备先做一版

    博客文章地址: https://blog.csdn.net/sinat_33741547/article/details/78803766 代码地址: https://github.com/lpty/ ...

  7. SharePoint 列表权限控制

    一提到sharepoint 我相信权限控制一定会是一个很重要的话题,尤其是对列表的权限控制,创建.修改.查看权限.其实网上这方面的资料已经很多了,尤其是以下2篇文章,后来索性把CodeArt_Perm ...

  8. .Net程序员玩转Android开发--ListView单击事件

    public class ListViewClickActivity extends Activity {         private ListView lv;        SimpleAdap ...

  9. 【Scala】Scala-None-null引发的血案

    Scala-None-null引发的血案 Overview - Spark 2.2.0 Documentation Spark Streaming - Spark 2.2.0 Documentatio ...

  10. 【Java】Eclipse代码格式化-代码模板

    Eclipse代码格式化-代码模板 eclipse 代码模板_百度搜索 编码规范系列(一):Eclipse Code Templates设置 - 青葱岁月 - ITeye博客 善用Eclipse的代码 ...