Linux下的权限(角色,文件权限)
目录
3.1改变权限的命令操作 chmod #change mode的缩写
4.1 Linux规定,目录/普通文件的起始权限分别是777,666
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下的权限(角色,文件权限)的更多相关文章
- (转)Linux 下 查看以及修改文件权限
场景:Linux环境下远程部署项目,发现因为文件权限问题,不能执行远端的可执行文件.问题还没解决,待议... 1 查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就 ...
- Linux 下 查看以及修改文件权限
查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 其中: 最前面那个 - 代表的是类型 中间那三个 rw- ...
- Linux下遍历目录及文件,更改权限
Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...
- linux下为目录和文件设置权限
摘:linux下为目录和文件设置权限 分类: Linux2012-05-09 03:18 7456人阅读 评论(1) 收藏 举报 linuxwordpressweb数据库serverfile linu ...
- Linux常用命令_(文件权限)
Linux权限管理: 二.权限管理1.3种基本权限在Linux中,将使用系统资源的人员分为4类:超级用户.文件或目录的属主.属主的同组人和其他人员.超级用户拥有对Linux系统一切操作权限,对 于其他 ...
- linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限
命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用 -h 格式 命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...
- (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理
用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...
- Linux下ls命令显示符号链接权限为777的探索
Linux下ls命令显示符号链接权限为777的探索 --深入ls.链接.文件系统与权限 一.摘要 ls是Linux和Unix下最常使用的命令之一,主要用来列举目录下的文件信息,-l参数允许查看当前目录 ...
- Linux用户和权限——管理文件权限的命令
Linux用户和权限——管理文件权限的命令 摘要:本文主要学习了Linux中修改文件权限的命令. chown命令 chown命令,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件( ...
- Linux 下指定端口开放访问权限
Linux 下指定端口开放访问权限 作者:Grey 原文地址: 博客园:Linux 下指定端口开放访问权限 CSDN:Linux 下指定端口开放访问权限 环境 CentOS 系和 Debian 系的防 ...
随机推荐
- Java中关键字-instanceof-的真实应用场景-2022新项目
instanceof关键字主要用来判断两个对象是否为同一种类型,举个例子如果有猫类.动物类,猫类继承自动物类: 判断某个类是否为动物类,就可以使用instanceof关键字.下面简单介绍几种真实的应用 ...
- manjaro系统的xfce桌面环境的的壁纸存放位置
/usr/share/backgrounds/xfce 添加新照片的命令是: sudo mv 目录/* /usr/share/backgrounds/xfce
- c语言运算符优先级实例解析
壹: 对于优先级:算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符.逻辑运算符中"逻辑非 !"除外.这是程序员总结出来的最快的学习方式. 可在实战 ...
- day09-Java数组
Java数组 9.稀疏数组 什么是稀疏数组? 当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组. 稀疏数组的处理方式是: 记录数组一共有几行几列,有多少个不同的值 把具有 ...
- 安装swagger过程及遇到问题
参考:欢迎点击原文:https://www.cnblogs.com/liconglong/p/11477401.html(主要) https://blog.csdn.net/liangjiabao55 ...
- Linux Daemon & 单例模式 设计与实现
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- Linux安装jdk和mysql
Linux安装jdk和mysql JDK安装 操作步骤: 使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux空jdk-8u171-inux-x64.tar.gz(这里注意自己 ...
- JS(DOM事件高级)
一 注册事件(绑定事件) 1.1 注册事件概述 给元素添加事件,称为注册事件或者绑定事件.注册事件有两种方式:传统方式和方法监听注册方式 1.2 addEventListener 事件监听方式 eve ...
- .NET Emit 入门教程:第六部分:IL 指令:1:概要介绍
前言: 在之前的文章中,我们完成了前面五个部分的内容学习,包括: 第一部分:Emit介绍 第二部分:构建动态程序集 第三部分:构建模块(Module) 第四部分:构建类型(Type) 第五部分:动态生 ...
- Kingbase ES 自定义聚合函数和一次改写案例
文章概要: KES的SQL的语法暂时不兼容oracle的自定义聚合函数的创建语法和流程,但是可以使用KES已支持的语法改写. 本文整理和简单解析了自定义聚合函数的原理和解读了范例代码. 并根据客户代码 ...