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 A标签,链接操作

    一.创建a标签,为a标签添加内容 <div id="svg1"></div> <script> //SVG.A 链接创建 var draw = ...

  2. STM32学习笔记之EXTI(外部中断)

    參考资料:STM32数据手冊.网络资料 =========================================切割线==================================== ...

  3. OpenCV教程(46) 快速特征检测

        在计算harris特征角时候,我们要在两个方向计算梯度,计算代价有点大.在paper The article by E. Rosten and T. Drummond, Machine lea ...

  4. 关于NLP和深度学习,准备好好看看这个github,还有这篇介绍

    这个github感觉很不错,把一些比较新的实现都尝试了: https://github.com/brightmart/text_classification fastText TextCNN Text ...

  5. Go语言之进阶篇爬百度贴吧并发版

    1.爬百度贴吧并发版 示例: package main import ( "fmt" "net/http" "os" "strco ...

  6. adb 环境配置 常用命令 总结

    配置环境变量 右键我的电脑 -> 属性 -> 高级 -> 环境变量 -> Path 在Path中添加Android SDK安装路径中 adb.exe 的路径,例如[\sdk\p ...

  7. Topic Model的分类和设计原则

    Topic Model的分类和设计原则 http://blog.csdn.net/xianlingmao/article/details/7065318 topic model的介绍性文章已经很多,在 ...

  8. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十二)Spark Streaming接收流数据及使用窗口函数

    官网文档:<http://spark.apache.org/docs/latest/streaming-programming-guide.html#a-quick-example> Sp ...

  9. Mac OS X /home 目录权限修改

    Mac OS X /home 目录权限修改 http://ju.outofmemory.cn/entry/283070 sudo vi /etc/auto_master # 注释掉 /home那一行 ...

  10. java实现高性能的数据同步

    最近在做一个银行的生产数据脱敏系统,今天写代码时遇到了一个“瓶颈”,脱敏系统需要将生产环境上Infoxmix里的数据原封不动的Copy到另一台 Oracle数据库服务器上,然后对Copy后的数据作些漂 ...