Linux中的默认权限与隐藏权限(文件、文件夹)
一个文件(或文件夹)拥有若干个属性。包含(r/w/x)等基本属性,以及是否为文件夹(d)与文件(-)或连接文件(l)等属性。此外,Linux还能够设置其它系统安全属性。使用chattr来设置。以lsattr来查看。最重要的是能够设置其不可改动的特性,即便是文件的拥有者都不能进行改动。
这个属性相当重要。尤其是在安全机制方面(security)。
文件默认权限:umask
当建立一个新的文件或文件夹时,它的默认属性是与umask有关的。
通常,umask就是指定当前用户在建立文件或文件夹时的属性默认值。那么,怎样获知和设置umask呢?
查看方式有两种,一种是直接输入umask,能够看到数字类型的权限设置分数。一种是增加-S(Symbolic)參数,救护以符号类型的方式显示权限。
在默认权限的属性上。文件夹与文件是不一样的。因为我们不希望文件具有可运行权限。默认情况下。文件是不具有可运行(x)权限的。因此:
1. 若用户建立的是“文件”,则默认没有可运行(x)权限,及仅仅有rw这两个权限,也就是最大为666,默认属性:-rw-rw-rw-;
2. 若用户建立的是“文件夹”,则因为x与能否够进入此文件夹有关。因此默认全部权限均开放。即777,默认属性:drwxrwxrwx。
umask指定的是该默认值须要减掉的权限。由于r/w/x各自是4/2/1,也就是说,当要去掉写权限时,就输入2。要去掉读权限时。就输入4,要去掉读和写的权限时,就输入6。所以,上图中0022。就是group与others的属性被去掉了2。那么当用户:
1. 建立文件时:(-rw-rw-rw-) - (-----w--w-) è-rw-r--r--
2. 建立文件夹时:(drwxrwxrwx) - (d----w--w-) èdrwxr-x-r-x
假设我们只想取消group的w权限,也就是说,我们希望编写出来的文件应该具有-rw-rw-r--权限,全部,umask应该是002才对。直接在umask后面输入002就可以。
在默认情况下。root的umask会去掉比較多的属性,root的umask默认是022。这是基于安全的考虑。一般身份用户通常的umask为002,及保留同用户组的写入权限。
文件隐藏属性
文件有隐藏属性,隐藏属性对系统有非常大的帮助。尤其是系统安全性(Security)方面。
1、chattr(设置文件隐藏属性)
这个属性设置上。比較常见的是a与i的设置值。并且狠毒设置值必需要root才干设置。
这个命令非常重要,尤其是在系统的安全性方面。因为这些属性是隐藏的,所以须要用lsattr才干查看。
最重要的是+i属性。它能够让一个文件无法被更改。假设是登陆文件,就更须要+a參数,使它能够添加但不能改动与删除原有数据。
2、lsattr(显示文件的隐藏属性)
使用chattr设置后,能够使用lsattr来查看隐藏属性。
文件特殊权限:SUID/SGID/StickyBit
1、Set UID
创建s与t权限,是为了让一般用户在运行某些程序的时候,能够临时具有该程序拥有者的权限。
比如,账号和password的存放文件事实上是/etc/passwd与/etc/shadow,它们的拥有者是root。
在这个权限中,仅有root能够强制写入。一个普通用户webgod去更新自己的password时,使用的就是/usr/bin/passwd程序,却能够更新成功,而/usr/bin/passwd的拥有者是root。
那么。就是说webgod这个普通用户能够訪问/etc/shadowpassword文件。???这既是由于有s权限的帮助。当s权限在user的x时(注意下图的/usr/bin/passwd的相关属性),此处是-rwsr-xr-x,称为Set
UID,简称SUID,这个UID表示User的ID,而User表示这个程序(/usr/bin/passwd)的拥有者(root)。
所以,当webgod用户运行/sur/bin/passwd时,他就临时获取文件拥有者root的权限。
注:SUID仅可用在二进制文件(binary file)。并且对文件夹无效。
2、Set GID
假设s的权限是在用户组。那么就是Set GID,简称SGID。SGID能够用在两个方面:
1 文件:假设SGID设置在二进制文件上。不管用户是谁。在运行该程序的时候,它的有效用户组将会变成该程序的用户组全部者;
2 文件夹:假设SGID是设置在A文件夹上,则在该A文件夹内所建立的文件或文件夹的用户组。将会是此A文件夹的用户组。
3、Sticky Bit
SBit一般用于文件夹上,对文件的意义不大。SBit对文件夹的作用是:在具有SBit的文件夹下。用户若在该文件夹下具有w及x权限。则当用户在该文件夹下建立文件或文件夹时,仅仅有文件拥有者与root才有权利删除。SBit能够理解为防删除位。
假设希望用户能够加入文件但同一时候不能删除文件,则能够对文件使用SBit位。设置该位后,就算用户对该文件的父文件夹具有写权限,也不能删除文件。
4、SUID/SGID/SBIT权限设置
使用数字更改权限的方式为“3个数字”的组合,那么,假设在这3个数字之前加上一个数字,最前面的数字就表示这个几个属性的组合:4为SUID。2为SGID。1为Sticky Bit。
系统规定,假设本来在该位上有x。则这些特殊标志便是为小写字母(s/s/t),否则,显示为大写字母(S/S/T)。
Linux中的默认权限与隐藏权限(文件、文件夹)的更多相关文章
- Linux学习之CentOS(九)-----文件与目录的默认权限与隐藏权限
文件与目录的默认权限与隐藏权限 一个文件有若干个属性, 包括读写运行(r, w, x)等基本权限,及是否为目录 (d) 与文件 (-) 或者是连结档 (l) 等等的属性! 要修改属性的方法在前面也约略 ...
- Linux学习之CentOS(八)----文件与目录的默认权限与隐藏权限(转)
文件与目录的默认权限与隐藏权限 一个文件有若干个属性, 包括读写运行(r, w, x)等基本权限,及是否为目录 (d) 与文件 (-) 或者是连结档 (l) 等等的属性! 要修改属性的方法在前面也约略 ...
- Linux之文件(目录)默认权限、特殊权限与隐藏权限
文件默认权限 从Linux之用户组.文件权限详解了解到文件与目录的基本权限管理,文件在创建时如果不指定具体的权限,那么系统会给它分配一个默认的权限,这个默认权限就是umask. vbird@Ubunt ...
- Linux中生成Core Dump系统异常信息记录文件的教程
Linux中生成Core Dump系统异常信息记录文件的教程 http://www.jb51.net/LINUXjishu/473351.html
- [转] Linux中的默认权限与隐藏权限(文件、目录)
[From] https://blog.csdn.net/davidsky11/article/details/25424615 一个文件(或目录)拥有若干个属性,包括(r/w/x)等基本属性,以及是 ...
- Linux文件与目录的默认权限与隐藏权限 - umask, chattr, lsattr, SUID, SGID, SBIT, file
文件默认权限:umask [root@www ~]# umask 0022 <==与一般权限有关的是后面三个数字! [root@www ~]# umask -S u=rwx,g=rx,o=rx ...
- 文件与目录的默认权限与隐藏权限【转vbird】
一个文件有若干个属性, 包括读写运行(r, w, x)等基本权限,及是否为目录 (d) 与文件 (-) 或者是连结档 (l) 等等的属性! 要修改属性的方法在前面也约略提过了(chgrp, chown ...
- linux文件的特殊权限及隐藏权限
基础知识 相信大家应该都知道linux的文件基本权限,使用ls -l命令可以显示文件的基本权限,"-rwxrwxrwx.",第一位表示文件的属性(是文件- ,目录d等),后面每隔 ...
- 《linux就该这么学》课堂笔记08 用户权限、特殊权限、隐藏权限、su、sudo
1.文件的读.写.执行权限可以简写为 r w x,亦可分别用数字4.2.1来表示 2.文件的特殊权限 2.1.SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限( ...
随机推荐
- Cordova 开发环境搭建及创建第一个app
整理记录使用cordova创建app应用程序并将其部署至Android系统移动设备上操作过程,具体如下: 一.前期安装环境 1. 安装JDK(java开发工具包) 2. 安装gradle 3. 安装A ...
- ubuntu 软件桌面图标创建
sublime text 的安装目录是:/usr/local/sublimetext $cd 桌面 $vim Sublime\ Text.desktop 添加如下内容: [Desktop Entry] ...
- ES6 arrow function
语法: () => { … } // 零个参数用 () 表示: x => { … } // 一个参数可以省略 (): (x, y) => { … } // 多参数不能省略 (): 当 ...
- 如何通过putty软件远程登录并且控制linux平台
准备备工作: 下载putty远程登录软件,图标如下 打开linux主机. Linux主机准备条件: 1 配置IP ,如果大家使用虚拟机的话建议通过vm1或者vm8进行与本地真实机进行连接,同时注意要避 ...
- Linux通信之同步阻塞模式
[参考]韦东山 教学笔记 1. 原子操作原子操作指的是在执行过程中不会被别的代码路径所中断的操作.常用原子操作函数举例:atomic_t v = ATOMIC_INIT(0); //定义原子变量v并初 ...
- 如何用js代码实现图片切换效果
通过点击按钮,实现图片的隐藏与显现,切换. 实现代码:<style> .a{ width: 300px; height: 300px; border: 1px solid black; } ...
- python监听鼠标和键盘
import PyHook3 def OnMouseEvent(event): print('MessageName:',event.MessageName) print('Message:',eve ...
- dubbo之事件通知
事件通知 在调用之前.调用之后.出现异常时,会触发 oninvoke.onreturn.onthrow 三个事件,可以配置当事件发生时,通知哪个类的哪个方法 1. 服务提供者与消费者共享服务接口 in ...
- button提交表单 a标签提交表单
<form name="searchForm" id="searchForm" method="get" action="/ ...
- scala类型系统:24) 理解 higher-kinded-type
首先我们从最基本的泛型来看: 现在我们对上面泛型中的类型参数再进一步,也是个泛型会如何呢? 可以看到,java中不支持类型参数也是泛型类型的情况,而scala支持.这是一个很重要的区别,scala在类 ...