目录

1.什么是权限

2.文件类型及权限

①Linux文件类型:

②剩余9个字符对应的含义:

③文件权限值的表示方法(进制法)

3.如何操作权限

3.1改变权限的命令操作 chmod #change mode的缩写

3.2改变文件的角色

4.关于目录/普通文件的起始权限的问题

4.1 Linux规定,目录/普通文件的起始权限分别是777,666

4.2更改默认权限掩码

5.目录的rwx权限

1.什么是权限

文件权限等于=角色+文件属性

其中,角色分为三类:

1.拥有者(owner) 2.所属组(grouper)3.其他人

以下①是拥有者 ②是所属组

所属组,是相当于在一个小团体里,这些所属组里边的人都可以访问,就相当于学习的小组

2.文件类型及权限

Linux下的文件类型与Windows的文件类型的表达方式有很大的不同

Windows下的后缀和Linux下的文件后缀有很大的区别

Linux下的文件后缀实际上并没有作用,只是为了方便用户进行,这里特指是Linux操作系统

但是一些编译工具对文件后缀有要求,比如gcc,必须要求是规定的例如(.c)后缀

区分

例如Linux下有一个可执行文件,test.exe,运行这个exe会输出"hello Linux!"如果把这个文件名改为test或者改为叫xyz,那么运行这个文件照样管用,照样跟test.exe的效果一样,实际上是一样的

在Linux下通过显示众多属性列中的第一个字符区分文件类型,如下图

①Linux文件类型:

首字符开头

- 普通文件(文本文件,代码源文件,可执行文件,压缩包...等等)

d 目录文件

c 字符设备文件(键盘、鼠标)

b 块设备(磁盘)

l 链接文件(快捷方式文件,比如Window下的桌面的图标)

p 管道文件

②剩余9个字符对应的含义:

如下图,以三个三个为一组,分别是拥有者(owner)、所属组(group)、其他人(other)的权限,对应权限没有的用“-”表示," r "表示拥有读的权限, " w "表示可以写,“x” 表示可执行

③文件权限值的表示方法(进制法)

在改变权限的时候,因为对应的位置不是存在就是不存在,因此可以用二进制转八进制码来表示,

例如 拥有者 所属组 other

1 1 1 1 1 1 1 0 1 ->对应了1可以读,1可以写,1可以执行,0则代表不可以,对应的八进制为775,则

eg:chmod 775 文件名 #同时改变了 拥有者权限,所属组,other的权限

3.如何操作权限

3.1改变权限的命令操作 chmod #change mode的缩写

① u代表用户本身的权限,user

② g代表所属组的权限 , group

③ o代表其他人的权限, other

④ a表示所有的人,包含,u,g,o

用例 eg:

chmod u-r 文件名            //改变拥有者权限,减去read (-r),减去了读的权限

chmod u+x 文件名            //改变拥有者权限,增加了可执行的权限+x

chmod g-rwx 文件名         //改变所属组的额权限,减去读(r)、写(w)的权限

chmod o+rwx 文件名         //改变其他人的权限,加上读(r), 写(w), 可执行(x)

chmod u+rw,g-wx 文件名     //可组合式,改变拥有者和所属组的

注意:组合式的必须按照顺序先后,比如ugo,uo,go,ug等顺序,必须保证先后顺序

3.2改变文件的角色

①改变文件的 拥有者 chown 如果是非root用户,给不了别人文件,这个拥有者无法变成比尔,但如果是root用户或者提权sudo给另一个人,那么可以强制改变文件的拥有者

②如果要改变拥有者和所属组 chown 用户1:用户2 文件名 用户1改为拥有者,2改为所属组

③改变所属组 chgrp 文件 ,改变所属组

3.3改变文件的角色

①改变文件的 拥有者 chown 如果是非root用户,给不了别人文件,这个拥有者无法变成比尔,但如果是root用户或者提权sudo给另一个人,那么可以强制改变文件的拥有者

②如果要改变拥有者和所属组 chown 用户1:用户2 文件名 用户1改为拥有者,2改为所属组

③改变所属组 chgrp 文件 ,改变所属组

4.关于目录/普通文件的起始权限的问题

4.1 Linux规定,目录/普通文件的起始权限分别是777,666

但是实际上与规定的有所不同,创建一个新的目录还有普通文本则是:

目录为 755,普通文件为644,这是因为在不同的机器或者系统上,会有一个默认权限掩码,对于所有的目录以及文件,都会在规定的起始权限下按位与(取反权限掩码)

最终权限=规定起始权限&(~权限掩码)

查看当前机器权限掩码的方式 umask(显示的为八进制序列)

那么可以理解为对于umask的话,因为要取反,就是不取反前,要去掉的对应的二进制位为1,要保留权限的位为0

则777&(~022)(八进制)==》755 ,666&(~022)==》644,则默认权限为规定的权限减去权限掩码后的权限

4.2更改默认权限掩码

umask xxxx(一个八进制序列)例如:0444,4的二进制位100,

那么代表在规定的777,666权限下,去掉每一个角色的读权限,创建新的目录以及普通文件,默认权限为333,222了

5.目录的rwx权限

对于目录的权限,目录的

-r 权限 #表示,去掉读的权限,就是不可以读取该目录的列表

-w权限 #表示去掉写的权限,就是不能创建新的文件

-x权限 #表示去掉执行的权限,就是你不能进入/cd该目录

Linux下的权限(角色,文件权限)的更多相关文章

  1. (转)Linux 下 查看以及修改文件权限

    场景:Linux环境下远程部署项目,发现因为文件权限问题,不能执行远端的可执行文件.问题还没解决,待议... 1 查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就 ...

  2. Linux 下 查看以及修改文件权限

    查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 其中: 最前面那个 - 代表的是类型 中间那三个 rw- ...

  3. Linux下遍历目录及文件,更改权限

    Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...

  4. linux下为目录和文件设置权限

    摘:linux下为目录和文件设置权限 分类: Linux2012-05-09 03:18 7456人阅读 评论(1) 收藏 举报 linuxwordpressweb数据库serverfile linu ...

  5. Linux常用命令_(文件权限)

    Linux权限管理: 二.权限管理1.3种基本权限在Linux中,将使用系统资源的人员分为4类:超级用户.文件或目录的属主.属主的同组人和其他人员.超级用户拥有对Linux系统一切操作权限,对 于其他 ...

  6. linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限

    命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用  -h   格式   命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...

  7. (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理

    用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...

  8. Linux下ls命令显示符号链接权限为777的探索

    Linux下ls命令显示符号链接权限为777的探索 --深入ls.链接.文件系统与权限 一.摘要 ls是Linux和Unix下最常使用的命令之一,主要用来列举目录下的文件信息,-l参数允许查看当前目录 ...

  9. Linux用户和权限——管理文件权限的命令

    Linux用户和权限——管理文件权限的命令 摘要:本文主要学习了Linux中修改文件权限的命令. chown命令 chown命令,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件( ...

  10. Linux 下指定端口开放访问权限

    Linux 下指定端口开放访问权限 作者:Grey 原文地址: 博客园:Linux 下指定端口开放访问权限 CSDN:Linux 下指定端口开放访问权限 环境 CentOS 系和 Debian 系的防 ...

随机推荐

  1. Java中关键字-instanceof-的真实应用场景-2022新项目

    instanceof关键字主要用来判断两个对象是否为同一种类型,举个例子如果有猫类.动物类,猫类继承自动物类: 判断某个类是否为动物类,就可以使用instanceof关键字.下面简单介绍几种真实的应用 ...

  2. manjaro系统的xfce桌面环境的的壁纸存放位置

    /usr/share/backgrounds/xfce 添加新照片的命令是: sudo mv 目录/* /usr/share/backgrounds/xfce  

  3. c语言运算符优先级实例解析

    壹:    对于优先级:算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符.逻辑运算符中"逻辑非 !"除外.这是程序员总结出来的最快的学习方式. 可在实战 ...

  4. day09-Java数组

    Java数组 9.稀疏数组 什么是稀疏数组? 当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组. 稀疏数组的处理方式是: 记录数组一共有几行几列,有多少个不同的值 把具有 ...

  5. 安装swagger过程及遇到问题

    参考:欢迎点击原文:https://www.cnblogs.com/liconglong/p/11477401.html(主要) https://blog.csdn.net/liangjiabao55 ...

  6. Linux Daemon & 单例模式 设计与实现

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  7. Linux安装jdk和mysql

    Linux安装jdk和mysql JDK安装 操作步骤: 使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux空jdk-8u171-inux-x64.tar.gz(这里注意自己 ...

  8. JS(DOM事件高级)

    一 注册事件(绑定事件) 1.1 注册事件概述 给元素添加事件,称为注册事件或者绑定事件.注册事件有两种方式:传统方式和方法监听注册方式 1.2 addEventListener 事件监听方式 eve ...

  9. .NET Emit 入门教程:第六部分:IL 指令:1:概要介绍

    前言: 在之前的文章中,我们完成了前面五个部分的内容学习,包括: 第一部分:Emit介绍 第二部分:构建动态程序集 第三部分:构建模块(Module) 第四部分:构建类型(Type) 第五部分:动态生 ...

  10. Kingbase ES 自定义聚合函数和一次改写案例

    文章概要: KES的SQL的语法暂时不兼容oracle的自定义聚合函数的创建语法和流程,但是可以使用KES已支持的语法改写. 本文整理和简单解析了自定义聚合函数的原理和解读了范例代码. 并根据客户代码 ...