Linux文件的三种身份和四种权限,三种身份分别为:

  1. u:文件的拥有者
  2. g:文件所属的群组
  3. o:其他用户

对于每个身份,又有四种权限,分别为:

  1. r:读取文件的权限(read)
  2. w:写入文件的权限(write)
  3. x:执行的权限(execute)
  4. s:特殊权限

  在Linux文件权限详解中我们知道Linux中有两种表示文件权限的方式,分别为数字以及符号表示方式。

chmod以数字形式改变文件权限

chmod 755 test.sh

  将755换算成字符形式,为rwxr-xr-x,也就是说文件的拥有者、所属群组以及其他用户都可以读取与运行test.sh这个文件,但是只有拥有者自己可以写入这个文件,也就是其他人无权修改test.sh这个文件。(当然root用户无此限制,想改谁就该谁,这也是一个体现root账号至高无上权力的体验!)

  通过数学形式改变文件的权限比较简单,只要实现算好需要给文件赋予的权限,然后调用chmod指令即可,调用形式为:

chmod 新的权限 文件列表

chmod以字符形式改变文件权限

chmod +x test.sh

  数学形式可以一次改变文件的所有三种身份的四种权限,而字符形式则更为灵活,可以给某个身份的某个权限单独进行设置,例如上面的指令就是给三种身份都赋予执行的权限,你也可以分开单独设置:

chmod u+x test.sh  只给拥有者加上可执行权限

chmod g+x test.sh  只给群组身份加上可执行权限

chmod o+x test.sh  只给其他人身份加上可执行权限

  以上三条指令综合在一起等价于上面的那一条指令,都是给所有身份都开启可执行权限的功能,你也可以像下面这样来操作:

chmod a+x test.sh

  这里的a就代表所有的3中身份!

  如果要去掉某个身份的某个权限,只需要将+变为-即可,例如去除其他人身份的可执行权限:

chmod o-x test.sh

  对于读取、写入等权限,按照以上方式多进行练习即可,chmod通过字符形式改变文件权限的操作见下表:

chmod u

g

o

a

+(加上)

-(减去)

=(设定)

r

w

x

文件或目录

  最后再来个综合的示例,以后类似的问题举一反三即可:

chmod u=rwx,g+rx,o-x test.sh

chmod以数字形式改变文件权限的更多相关文章

  1. Linux新手入门:通过chmod改变文件权限--转

    前面介绍过在Linux中如何查看文件的属性,在Linux文件权限详解中我们介绍了Linux文件的三种身份和四种权限,三种身份分别为: u:文件的拥有者 g:文件所属的群组 o:其他用户 对于每个身份, ...

  2. linux中改变文件权限和属性

    Linux中,默认显示所有用户名的文件在/etc/passwd,用户组的信息在/etc/group 密码/etc/shadow chgrp改变文件所属用户组 chgrp [-R] 用户组名 文件或目录 ...

  3. Linux命令(二十二) 改变文件权限 chomd

    目录 1.命令简介 2.常用参数介绍 3.实例 4.直达底部 命令简介 chmod 命令是用来改变文件权限或目录的命令,可以将指定文件的拥有着改为指定的用户或组,用户可以是用户名或用户ID,组可以是组 ...

  4. Ubuntu下改变文件权限

    Ubuntu下改变权限 有问题,待解决!! 参考:修改linux文件权限命令:chmod 起因:init 0 指令能在普通用户下调用,很方! 指令 chmod 格式: chmod 000 xxx.x ...

  5. 【Linux】如何改变文件的属性与权限

    介绍几个常用于群组.拥有者.各种身份的权限的修改的命令,如下所示: chgrp :改变文件所属群组 chown :改变文件拥有者 chmod :改变文件的权限, SUID, SGID, SBIT等等的 ...

  6. linux系统如何更改文件权限

    一. 更改文件9个属性:chmod 用这个命令修改文件属性有两种方式:数字或者符号 1. 数字类型改变文件权限 chmod (1)类unix系统的文件有9个属性分别是owner/group/other ...

  7. Linux文件系统简介一(磁盘分区、开机过程、目录结构、文件权限、文件扩展名、目录管理)

    Linux:就是一组软件,一套操作系统=核心+系统呼叫接口层. 1.操作系统 操作系统 = 核心(内核) + 系统呼叫(接口) 操作系统其实也是一组程序,重点在于管理计算机的所有活动以及驱动系统中的所 ...

  8. Linux学习之路—Linux文件权限

    内容来源于鸟哥私房菜 1.Linux文件属性 1)第一列为文件类型与权限 第一个字符表示文件的类型: [d]表示目录 [-]表示文件 [l]表示连接文件 [b]表示设备文件中可供存储的接口设备,例如硬 ...

  9. Linux文件权限概念

    一.Linux文件属性 1.第一列代表这个文件的类型与权限(permission): 共有10个字符 第一个字符代表这个文件的类型,是"目录,文件或链接文件等": [d]----& ...

随机推荐

  1. 关于MySQL导入数据到elasticsearch的小工具logstash

    logstash核心配置文件pipelines.yml #注:此处的 - 必须顶格写必须!!! - pipeline.id: invitation #下面路径配置的是你同步数据是的字段映射关系 pat ...

  2. SQL Server数据库出现“无法访问数据库XXX(objectExplorer)”的解决办法

    数据库版本为2008R2,服务器异常重启并重新挂载iscsi后,数据库出现"无法访问数据库XXX(objectExplorer)"问题. 输入SQL命令查看数据库状态 1 sele ...

  3. SQL高级优化(三)之存储引擎

    一.MySQL数据库引擎简介 1. ISAM(indexed Sequential Access Method) ​ ISAM 是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据 ...

  4. Leetcode算法系列(链表)之两数相加

    Leetcode算法系列(链表)之两数相加 难度:中等给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字.如果,我们将 ...

  5. springBoot--原理分析

    起步依赖分析 分析spring-boot-starter-parent 按住Ctrl点击pom.xml中的spring-boot-starter-parent,跳转到了spring-boot-star ...

  6. 单篇长文TestNG从入门到精通

    简介 TestNG是Test Next Generation的缩写,它的灵感来自于JUnit和NUnit,在它们基础上增加了很多很牛的功能,比如说: 注解. 多线程,比如所有方法都在各自线程中,一个测 ...

  7. day5 数组对角线及最大值

    1.输出M行M列数组方针,求对角线元素和#define M 5void fun(int xx[][M], int n)//n行n列{ int i = 0; int sum = 0; for (i = ...

  8. VScode远程连接服务器

    VScode远程连接服务器 1.远程服务器安装rmate,在远程服务器上执行以下操作 wget https://raw.githubusercontent.com/sclukey/rmate-pyth ...

  9. 【记录一个问题】golang中的time.Now()非常慢

    对一个代码做profile: 总函数调用 29.74s 20.25s 153: timestamp := time.Now().Unix() 这样的一行占了20.25秒. 我知道linux下 time ...

  10. Mybatis插件,能做的事情真的很多

    大家好,我是架构摆渡人.这是实践经验系列的第九篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友. Mybatis是我们经常用的一款操作数据库的框架,它的插件机制 ...