Linux中的权限管理

Linux中的权限管理

一、权限的查看及读取

Linux是个多用户多任务的系统,常常会有多个用户共同使用一台主机进行工作。因此会对使用某台主机的用户进行分类:文件拥有者(user)、文件拥有组(group)、其他人(other)。

1、查看权限

ls  -l  file        ##查看文件权限

ls  -ld  dir        ##查看目录的权限

ls  -lR  dir        ##查看目录及目录中所有文件的权限

2、权限的读取

文件的属性被叫做文件的元数据(meta data)。一种元数据用一个字节(byte)来记录内容。

#文件权限信息#
- | rw-r--r-- | . | 1 | root | root | 0 | Apr 12 10:57 | file
[1]    [2]      [3] [4]   [5]     [6]    [7]         [8]               [9]
#目录权限信息#
d | rw-r--r-- | . | 2 | root | root | 0 | Apr 12 10:57 | westos
[1]      [2]     [3] [4]   [5]     [6]   [7]          [8]                [9]

前8个属性各用一个字节来记录;文件名中一个字符用一个字节来记录

对于权限信息每一种元数据的解释:

【1】文件类型

-                        ##普通文件

d                        ##目录

l                        ##软连接

b                        ##块设备

c                        ##字符设备

s                        ##socket套接字

p                        ##管道[ | ]

***软连接的优点:节省磁盘空间;可跨越文件系统,硬链接则不可以

【2】用户权限

rwx | r-- | r--                分别对应--拥有者权限 | 文件拥有组成员权限 | 其他用户权限

r===可读权限        w===可写权限        x===可执行权限

【3】有点【.】表示系统中的SElinux(安全上下文)为开启状态

【4】

对于文件而言是指文件的硬链接个数(文件内容被系统记录的次数)

对于目录而言是指目录中子目录的个数

【5】文件拥有者

【6】文件拥有组

【7】

对于文件而言是指文件内容的大小

对于目录而言是指目录中子文件的元数据大小

【8】文件内容被修改的时间

【9】文件名称

二、普通权限的类型及作用

1、用户对文件的身份

u                        ##文件的拥有者

g                        ##文件的拥有组

o                        ##既不是拥有者也不是文件拥有组成员的其他用户的统称

2、文件权限对于用户身份的匹配

u > g > o                         ##拥有者权限最大,拥有组成员权限次之,其他用户权限最小

3、权限类型的解释

-                        ##权限未开启

r                        ##对于文件指可读取文件内容;对于目录指可列出目录中的文件(ls)

w                        ##对于文件指可更改文件内容;对于目录指可在目录中新建或删除文件

x                        ##对于文件指可用文件名称调用文件内的程序;对于目录指可进入目录中

三、权限的设定

设定文件权限命令:chmod

chmod复制权限

chmod  --reference=/tmp  /mnt/westosdir                ##复制/tmp目录的权限至/mnt/westosdir上

chmod  -R  --reference=/tmp  /mnt/westosdir                ##复制/tmp目录的权限至/mnt/westosdir以及目录中的子文件上

chmod字符方式设定权限

chmod  <a/u/g/o>+/=/-<r/w/x>  file/dir

示例:

建立一个满权限的文件,权限位为:rwxrwxrwx

chmod  u-rw                =--xrwxrwx

chmod  u-rw,g+x,o+wx                =--xrwxrwx

chmod  a-rwx                =---------

chmod  u=rwx,g=rx,o=---                =rwxr-x---

chmod  -R  u=rwx,g=rx,o=r                =rwxr-xr--

chmod数字方式设定权限

***权限波尔值表示方式

--- = 000        ==0

--x = 001        ==1  

-w- = 010        ==2

-wx = 011        ==3

r-- = 100        ==4

r-x = 101        ==5

rw- = 110        ==6

rwx = 111        ==7

示例:

chmod  755  file        ==rwxr-xr-x

chmod  622  file        ==rw--w--w-

四、系统默认权限的设定

系统存在的意义是资源共享。但从安全角度讲,系统共享的资源越少即开放的权力越小则系统的安全新越高;而系统开放的权力越多则系统安全性得不到保障;因此系统通过保留不安全权限、开放部分权限的方式来保证系统安全、创造价值。

umask值表示系统的保留权限(root用户默认值为 022;普通用户默认值为002)。

umask值越大意味着系统的安全性越高。

umask  权限值                ##临时设定umask值

系统中新建文件的默认权限为 644(777-022-111)

【内核为了系统安全保留了文件的执行权限】

系统中新建目录的默认权限为 755(777-022)

可以通过编辑shell的配置文件 /etc/bashrc & /etc/profile 来永久更改umask值(2个文件须同时更改并保持umask值一致)

vim  /etc/bashrc

vim  /etc/profile

source /etc/bashrc

source /etc/profile

##source命令的作用:使配置文件中的更改内容立即被系统识别

五、文件的用户用户组管理

chown  username  file                ##更改文件的拥有者

chgrp  groupname  file                ##更改文件的拥有组

chown  username:groupname  file == chown username.groupname  file

##同时更改文件的拥有者和拥有组

chown  -R  username  dir        ##更改目录及目录中内容的拥有者

chgrp  -R  groupname  dir        ##更改目录及目录中内容的拥有组

六、特殊权限

1、粘滞位(stickyid)

粘滞位作用对象为目录;效果:目录粘滞位开启后则此目录中的文件只能被文件拥有者删除

命令:

chmod  o+t  dir  或者  chmod  1+原始权限波尔值  dir

2、强制位(sgid)

强制位作用对象为目录时;效果:目录强制位开启后则此目录中新建的文件自动归属到此目录的拥有组中

强制位作用对象位可执行的二进制文件(系统命令)时,可以使此命令产生的进程归属到此二进制文件的拥有组中,使进程与命令执行用户的所属组无关

命令:

chmod  g+s  dir/[可执行文件]  或者  chmod  2+原始权限波尔值  dir/[可执行文件]

3、冒险位(suid)

冒险位作用对象只为可执行的二进制文件;效果:二进制文件执行时产生的进程都归属到此二进制文件的拥有者中,使进程与命令执行的用户无关

命令:

chmod  u+s  [可执行文件]   或者  chmod  4+原始权限波尔值  [可执行文件]

七、acl权限列表

权限列表的功能:设定指定用户对指定文件的特殊权利(忽视文件本身对用户的权限

Access Control Lists        ##访问控制列表

文件权限位后的【.】转变为【+】时表示此文件的acl列表开启

相关命令:

setfacl  -m  u::rwx  file                ##更改文件拥有者本身的默认权限

setfacl  -m  g::rw-  file                ##更改文件拥有组本身的默认权限

setfacl  -m  o::0  file                ##更改other用户对文件的本身默认权限

setfacl  -m  u:westos:rw  file                ##指定用户拥有指定权限,忽视文件本身对该用户的默认权限

setfacl  -m  g:westos:r  file                ##指定用户组拥有指定权限,忽视文件本身对该用户组的默认权限

setfacl  -x  u:westos  file                ##撤销指定用户的指定权限

setfacl  -b  file                ##关闭acl列表

getfacl  file                ##查看acl列表打开状态的文件的权限

***当文件权限列表开启后,不使用 ls -l 的方式查看文件权限而是用 getfacl 命令

acl列表打开的文件的权限优先级:

拥有者 > 特殊指定用户 > 权限多的组的组成员 > 权限少的组的组成员 > 其他用户

acl列表中mask值的控制

目的:为了对acl列表中指定用户的指定权限进行控制(比如mask中无x权力,那么指定的用户就算拥有x权力,x权力也不会生效)

命令:

setfacl  -m m::rwx(权限指定任意) file

acl列表的默认权限

作用对象为目录

命令:

setfacl  -m  u:westos:rwx  dir                ##指定用户对目录拥有特殊权限

setfacl  -Rm  u:westos:rwx  dir                ##指定用户对目录及目录中已经存在的内容拥有特殊权限

***以上命令只针对已存在的文件生效,新建的文件不会被设定

 

setfacl  -m  d:u:lee:rwx  dir                ##指定用户对目录中新建的文件拥有特殊权限

***以上命令只针对目录中新增的文件生效,设置之前已经存在的文件及目录本身不会被设定

八、attr权限

attr权限可以限制所有用户的权力,包括root用户

命令:

lsattr  fir/file                ##查看文件的attr权限

chattr  +/-i  dir/file                ##+i后任何用户对文件不能做任何更改

chattr  +/-a  dir/file                ##+a后任何用户对文件只能添加内容,不能删除

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值