权限管理

       学习文件和目录的权限管理,不仅在学习上对我们的帮助很大,而且在工作上帮助也很大,因为你对文件或目录设置了权限,其他用户只能根据你设置的权限对文件或目录进行浏览,修改,删除或执行,也正是如此,权限的管理很重要。下面我就对Linux的权限管理进行简单的介绍。

Linux下的文件类型

-:普通文件

d:目录文件

b : 块设备

c : 字符设备

l : 符号链接文件

p : 管道文件pipe

s : 套接字文件socket

文件属性

文件权限.PNG

文件权限

文件的权限主要针对三类对象进行定义:

owner:  属主, u

group:  属组, g

other:  其他, o

每个文件针对每类访问者都定义了三种权限:

r  读(read)  4

w 写  (write)2

x  执行 (execute) 1

— 000 0

–x 001 1

-w- 010 2

-wx 011 3

r– 100 4

r-x 101 5

rw- 110 6

rwx 111 7

权限 r , w , x.PNG

三种普通权限分别在文件和目录中显示的含义不同

文件:

r:  可以查看文本中的内容

w:  可修改其内容,但不能删除文件本身

x:  针对二进制和脚本

目录:

r:  可以使用ls 查看此目录中文件列表,但不能访问文件,不能cd,也不能查看文件的元数据。

w:  可在此目录中创建文件,也可删除此目录中的文件(只一个w什么也做不了)

x:  可以进入dir,也可以访问dir中文件。(你要对目录进行访问,一般都要给r和x权限,或者都不给。)

X:大X是只给目录x 权限,不给文件x 权限(如果文件本身就带有x 权限,它就给)X只使用在目录上。

-X.PNG

修改文件权限

chmod [OPTION]… OCTAL-MODE FILE…

-R:  递归修改权限

chmod [OPTION]… MODE[,MODE]… FILE…

MODE: :

修改一类用户的所有权限:

u= g= o= ug= a= u=,g=

chmod =.PNG

修改一类用户某位或某些位权限

u+ u- g+ g- o+ o- a+ a- + –

chmod u,g,o,a.PNG

新建文件和目录的默认权限

umask值可以用来保留在创建文件权限

新建FILE 权限: 666-umask 有奇数加一 , 偶数保留。

新建DIR 权限: 777-umask

如:

umask  125

666    110  110  110     777   111  111  111

125    001  010  101     125   001  010  101

642    110  100  010     652   110  101  010

一般默认为非特权用户umask是 002

root 的umask 是 022

umask:  查看

umask #:  设定

umask 002

umask.PNG

umask –S  模式方式显示  (新建文件夹的默认)

umask -S.PNG

umask –p  输出可被调用 ,打印出来,

umask的配置文件,全局设置: /etc/bashrc  用户设置:~/.bashrc或~/.bash_profile

修改umask值只当前终端有效,关机或重启umask值将重认为是默认值,修改umask值,想一直有效,只有修改它的配置文件才可以永久生效。

安全上下文

前提:进程有属主和属组;文件有属主和属组

(1)  任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限

(2)  启动为进程之后,其进程的属主为发起者;进程的属组为发起者所属的组

(3)  进程访问文件时的权限,取决于进程的发起者

       (a)  进程的发起者,同文件的属主:则应用文件属主权限

       (b)  进程的发起者,属于文件属组;则应用文件属组权限

       (c)  应用文件“其它”权限

特殊的文件权限

s  suid   4

s  sgid   2

t  sticky 1

SUID SGID STICKY

000 0

001 1

010 2

011 3

100 4

101 5

110 6

111 7

权限位映射

SUID: user, 占据属主的执行权限位(root没有执行权限,也能想干啥就干啥)

u+s 非常危险,不要轻易改动 , suid 只对二进制程序生效,如果不取消,会一直生效。

s:  属主拥有x 权限

S:属主没有x 权限

权限设定:

chmod u+s FILE… (给属主 s 的权限)

chmod u-s FILE…   (取消给属主的 s 权限)

u+s.PNG

u-s.PNG

SGID: group, 占据属组的执行权限位(root组没有x(执行权限),即使g+s也执行不了,root组有x,s,但对同属一个组的二进制程序,这个二进制程序对组有什么权限,那么用户就可以执行什么权限 )

(sgid :也可以作用于目录上,将使在该目录中新建文件或目录将自动继承该目录所属组。)

目录上的SGID 权限

默认情况下,用户创建文件时,其属组为此用户所属的主组。

一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组。

通常用于创建一个协作目录。

权限设定:

chmod g+s DIR…    (给和属主同一个属组中的其他用户 s 权限)

chmod g-s DIR…     (取消给和属主同一个属组中的其他用户的 s 权限)

g+s 作用在目录上.PNG

s: group 拥有x 权限

g+s.PNG

S:group 没有x 权限

g+s g没有执行权限.PNG

当u+s和g+s都存在时只继承一个权限, 优先继承u+s,

Sticky 位

具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权。

在目录设置Sticky 位,只有文件的所有者或root可以删除该文件。

Sticky: other, 占据other 的执行权限位(作用在目录上,o+t后其他用户只能在目录中创建文件,不能删除其他用户的文件,只能删除用户本身建的文件)

权限设定:

chmod o+t DIR…

chmod o-t DIR…

t: other 拥有x 权限

o+t.PNG

T:other 没有x 权

o+t 没有执行权限.PNG

       在工作或学习中,可能会不小心操作失误删除掉某些重要的文件,给我们造成一点损失,现在我给大家介绍一个可以让我们能够避免这种失误的命令,它就是chattr命令,chattr是给文件设置特定的属性,下面我来给大家介绍一下这个命令的使用。

chattr +A  锁定时间的属性2

chattr +A.PNG

chattr -A   解除+A的锁定

chattr -A.PNG

lsatter  显示特定属性

lsattr.PNG

chattr +i  不能更改

chattr +i.PNG

chattr -i   去掉 +i 的属性

chattr -i.PNG

chattr +a  只能增加

chattr 只能增加.PNG

chattr -a   去掉 +a 的属性

chattr 去掉+a的属性.PNG

原创文章,作者:AN0519,如若转载,请注明出处:http://www.178linux.com/31169

(0)
AN0519AN0519
上一篇 2016-08-08 16:04
下一篇 2016-08-08 16:04

相关推荐

  • Linux basics–part1

    一、计算机的组成及其功能 依据冯·诺依曼体系结构,计算机可分为五大部分,CPU的运算器和控制器、内存、输入、输出。 CPU运算器:计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。运算器由算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存…

    Linux干货 2017-07-10
  • 使用Storm实现实时大数据分析

    摘要:随着数据体积的越来越大,实时处理成为了许多机构需要面对的首要挑战。Shruthi Kumar和Siddharth Patankar在Dr.Dobb’s上结合了汽车超速监视,为我们演示了使用Storm进行实时大数据分析。CSDN在此编译、整理。 简单和明了,Storm让大数据分析变得轻松加愉快。 当今世界,公司的日常运营经常会生成TB级别的数据。数据来源…

    Linux干货 2015-04-04
  • 第四周作业(正则表达式)

    grep: Global search REgular expression and Print out the line.         作用:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查;打印匹配到的行;    &…

    Linux干货 2016-12-28
  • Linux运维学习历程-第一天-基础知识

    什么是Linux   Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 为什么学Linux…

    Linux干货 2016-08-03
  • 二叉树迭代器算法

    二叉树(Binary Tree)的前序、中序和后续遍历是算法和数据结构中的基本问题,基于递归的二叉树遍历算法更是递归的经典应用。 假设二叉树结点定义如下: // C++ struct Node {     int value;     No…

    Linux干货 2016-08-15
  • 虚拟机的三种网络模式

    前言     虚拟机的网络模式,是环境部署时的重要环节。不同的运行环境对网络的要求也是不用的,本章节重点介绍虚拟机的三种网络模式、以及他们之间的区别 虚拟机网络模式      无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2…

    2017-07-11

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-08 20:31

    文章整体思路清晰,通过模拟场景对特殊权限应用场景有有了深刻的理解和认识,