权限管理

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

相关推荐

  • rsyslog+mariadb+loganalyzer实现日志采集分析

    一、总述   Linux的日志记录了用户在系统上一切操作,这些日志是使用者了解服务器的情况最好的资料。Rsyslog 是系统的一部分,能够实时的写日志,并且还可以将日志选择性的发送到远程日志服务器。   rsyslog日志服务器的优势:     1、日志统一,集中式管理     &nbsp…

    Linux干货 2017-01-10
  • corosync + pacemaker + iscsi实现高可用mysql (上)

    一、实验图   二、准备实验环境:  1)确保sql服务器之间可以基于主机名通信 [root@SQL1 ~]# vim /etc/hosts 172.16.2.13  SQL1.linux.com  SQL1 172.16.2.14  SQL2.li…

    Linux干货 2015-07-09
  • Nginx介绍及使用

       Nginx(engine x)是一个高性能的HTTP和反向代理服务器, 也是一个IMAP/POP3/SMTP服务器. Nginx是由IgorSysoev为俄罗斯访问量第二的Rambler.ru站点开发的, 第一个公开版本在2004年发布. 因为它的稳定性, 丰富的功能集, 示例配置文件和低系统资源的消耗而闻名. Nginx是一款轻量…

    Linux干货 2016-11-11
  • 从Linux小白到大牛——与狼共舞的日子12(上)

    马哥教育网络班21期+第12周课程练习 1、请描述一次完整的http请求处理过程; 1)建立或处理连接:客户端发送http请求报文,服务器端接收或拒绝请求; 2)接收请求:服务器端接收来自客户端对某些资源的请求; 3)处理请求:服务器端解析客户端请求报文,获取客户端请求的资源及请求方法等信息; 4)访问资源:服务器端获取客户端请求的资源; 5)构建响应报文;…

    Linux干货 2016-12-26
  • Storm集群安装详解

    storm有两种操作模式: 本地模式和远程模式。 本地模式:你可以在你的本地机器上开发测试你的topology, 一切都在你的本地机器上模拟出来;  远端模式:你提交的topology会在一个集群的机器上执行。 本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章…

    Linux干货 2015-04-04
  • SSH协议详解

    OpenSSH 一、 前言 使用SSH可以在本地主机和远程服务器之间进行加密地传输数据,实现数据的安全。而OpenSSH是SSH协议的免费开源实现,它采用安全、加密的网络连接工具代替了telnet、ftp等古老明文传输工具。 SSH(Secure Shell)是建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性…

    Linux干货 2016-12-16

评论列表(1条)

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

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