权限管理

       学习文件和目录的权限管理,不仅在学习上对我们的帮助很大,而且在工作上帮助也很大,因为你对文件或目录设置了权限,其他用户只能根据你设置的权限对文件或目录进行浏览,修改,删除或执行,也正是如此,权限的管理很重要。下面我就对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
下一篇 2016-08-08

相关推荐

  • nginx负载均衡搭建

    组 网络拓扑图 nginx负载均衡服务器搭建 首先准备三台机器 主机A(nginx负载均衡器) 主机B 主机C 主机A需两块网卡(一块外网,一块内网) 主机B和主机C各一块 (各一块内网的IP,如果主机B C和主机A内网网卡在一个网段就不需要配置网关地址了。 规划好网络后,nginx负载主机分别ping下各rs主机是否可通 主机A打开核心转发功能 #echo…

    Linux干货 2017-05-17
  • systemd和systemctl

    systemd和systemctl(centos7)     Systemd是一种新的linux系统服务管理器。它替换了init系统,能够管理系统启动过程和一些系统服务,一旦启动起来,就将监管整个系统。在centos7系统中,PID 1被systemd所使用了:如下,在centos6中: init─┬─NetworkManager &nb…

    Linux干货 2016-10-09
  • 关于 LVM 逻辑卷管理

                  逻辑卷管理 (LVM)    允许对卷进行方便操作的抽象层,包括从新设定文件系统的大小   允许在多个设备间重新组织文件系统将设备指定为物理卷用一个或者多个物理卷来创建一个卷组物理卷是用固定大小的物理区…

    系统运维 2016-09-02
  • 01

    0101

    Linux干货 2016-08-08
  • N25期–第十六周作业

    1源码编译安装LNMP架构环境; 2、编写一个脚本完成以下功能: (1)、一键搭建LNMP源码编译环境; (2)、可通过在脚本后面跟上一些参数来自定义安装目录等其他选项。” 1、源码编译安装LNMP架构环境; 安装编译工具和库文件 1 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libp…

    Linux干货 2017-05-08
  • 8月3日课堂笔记

    课堂笔记 linux用户和组管理(非常非常重要)    用户管理和组管理各种相关的应用程序    简单的管理命令 安全上下文:   每次对主机操作都是以发起一个进程来完成的,进程代表着人来执行操作,进程以其发起者的身份来运行;所以开机时有很多守护类的进程,我们应该以普通身份来运行,普通用户通常都是系统用户;从来不用登陆系统的;进程对文件的访问权限,取决于发起…

    Linux干货 2016-08-04

评论列表(1条)

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

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