1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > linux系统权限管理

linux系统权限管理

时间:2019-04-02 12:48:22

相关推荐

linux系统权限管理

##帐号授权

授权查看:

ls -l文件属性

ls -ld目录属性

ls -i查看当前位置文件id

ls -li查看当前位置文件id属性、访问指向情况

#文件属性第一位文件类型

-: 普通文件

l:软链接,类似于快捷方式 ,

d: 目录

s:套接字(用户在程序内部与程序进行交流,需要一个接口,用户通过接口访问内部程序,相当于对外开放的门)

b:块、设备(存储系统的资源文件、u盘文件、硬盘、相当于一个容器,/dev/vdal)

c:字符设备(/dev/pts/0)

库:相当于目录,表相当于文件

文件属性第2到10位:所有用户(三类 u(用户)、g(组)、o(其他人)对文件的权限

r 读:cat file、ls dir

w写: 更改文件内容、对于目录来说是否可以对目录中子目录或子文件的属性进行更改,包括删除、建立。是否可以删除一个文件在于文件所在目录相对于当前用户是否可写。

x :可执行,表示调用文件名就可以执行文家内的程序($文件名),对于目录而言表示是否可以进入此目录,有w必有x 只有x才能进行w

- :未开

文件属性第11位:文件内容被系统记录的次数(硬链接的个数),生成硬链接的文件与原文件结点值相同

硬链接个数:一个结点对应多个数据区域,文件内容被复制的个数,生成硬链接文件操作: ln 被链文件名 目的文件名

软连接 :类似于一个快捷方式 多个结点对一个数据区域 ,软链接被删掉不影响原始文件,不增加文件内容被复制的个数,生成软链接文件操作: ln -s 被链文件名 目的文件名

文件属性后几类分别为:用户、组、文件大小、文件最后一次被修改的时间、文件名

属性在数据类型中被称为matadate,每一个字符占一个字节,每一个类型为一个字节,文件属性共8类。

#目录属性

目录属性第三类表示目录中存放子目录的个数,包含2个隐藏目录

目录属性第6位表示目录当中子文件或子目录的原数据大小(属性大小,一类一字节,一字符一字节)

目录是一个容器,装文件的属性 通过属性访问数据内容

##更改文件属性中的用户和组

ls -l 目录只能看到目录内文件及子目录的属性,不能看到子目录的子文件属性,因此需要ls -lR##递归显示当前位置下所有目录和目录内子文件的属性。如图:

未更改前监视如图:

更改用户和组操作 :举例:cd /mnt》 在/mnt/ 建立一个目录mkdir test五个文件touch scq{1..5}, 五个目录子文件touch test/file{1..5}》 监视(监视子目录内的文件)修改属性:watch -n 1 ls -lR /mnt/chown 修改id名(新建id不存在时需要建立一个id: useradd lee)chgrp 修改组chown -R修改目录同时递归修改目录内的文件 》chown lee scq#修改/mnt/scq的id为lee ;chown -R lee.student test#递归修改test与test内文件的id与组为lee和student

如图:

##修改文件目录权限rwx四种方式

一:字符方式相同权限用户可以合并

如图:修改目录的同时修改子文件 -R

二:八进制数字方式

x=001=1

w=010=2

wx=011=3

r=100=4

r-x=101=5

rw-=110=6

rwx=111=7

举例:用户权限为rwx,组与其他人权限为rx,操作图如下

三:复制权限到指定位置方式

如图

四:修改系统默认权限

umask:建立文件或目录时默认在系统中预留的权限,为了系统安全

系统中umask值为0022,满权限rwx为777,因此目录默认权限为777-022=755,文件系统还需减去文件执行权限111,因此文件默认权限为777-022-111=644

目录和文件默认权限如图:

临时更改文件目录权限umask 数字

举例如图:将默认权限改为077,目录权限为700,文件权限为600

永久(shell退出仍生效)生效需要更改文件目录权限需要编辑两个文件vim /etc/bashrc 73行root、71行普通用户,vim /etc/profile 62行root,60行为普通用户

使文件生效:source /etc/bashrc

source /etc/profile

如图将默认权限永久改为077:

##特殊权限

1 sticky ##粘制位

作用:只针对目录生效,当一个目录有sticky权限时,这个目录下的文件只能被建立此文件的用户删除

设定方式:

chmod o+t dirchmod 1XXX dir

应用:t权限用于开放的共享目录

举例如图:root下建立一个目录/pub 修改权限为1777 》 进入tom用户 在/pub下新建一个文件/file2 》进入scq用户 在/pub下新建一个文件/file2 》 进入scq用户 删除/pub/file1 可以删除,删除/pub/file2 不可以删除

2 sgid #强制位

#s权限针对目录: 此目录下新建的文件的所有组都在这个目录的所有组中(理解:财务人员在财务部门目录中建的文件的组属于财务部门目录的组)

例如:进入shengchan组的目录/sc中 新建一个文件 此文件的所有组归属于此目录的组中

针对二进制可执行文件:任何人运行此命令文件产生的进程就属于这个命令文件的所有组身份(工作时的效益属于公司)

设定方式:

chmod g+s file|dirchmod 2xxx file|dir

举例:

针对目录:mkdir /scq 》 chgrp student /scq (目录的组属于student) 》chmod 777 /scq (任何人可以在此目录下建立文件)》 su - tom 》touch /scq/ file1 (此文件)是tom建立属于tom组 》chmod 2777 /scq 》su - tom touch /scq/file2 》ls -l /scq/file2

之前tom在/scq建立文件,文件的所属组为tom;为目录/scq添加s权限后,tom在/scq建立文件,文件所属组为目录/scq的所属组。

如图:

针对文件:chmod 755 /bin/watch 》 tom用户下 watch -n 1 date > ps ax -o user,group,comm|grep watch (看watch的进程的所有组,tom用户运行watch,就属于tom组,与文件/bin/watch的所有组无关) 》 chmod 2755 /bin/watch ls> ps ax -o user,group,comm|grep watch (看watch的进程的所有组,tom用户运行watch,属于文件/bin/watch的所有组)

之前:tom运行watch命令的进程属于tom组,为watch文件添加s权限后,tom运行watch命令的进程属于watch文件所属组

如图:

3 suid #冒险位

针对二进制可执行文件,执行某一个命令时变成一个特殊的用户(超级用户或者普通用户)

拥有此权限,任何人运行命令文件的程序产生进程的身份变成此命令文件的所属身份

系统优化时,将删除操作的文件/bin/rm的所属用户变为普通用户再加上suid权限,因此任何用户即使root用户进行删除操作时也会变成普通用户而无权限删除系统重要文件。

chown student /bin/rm 》 chmod g+s /bin/rm

设定方式:

chmod u+s file|dirchmod 4xxx file|dir

举例如图:之前tom运行watch命令时查看watch进程所属身份为tom,增加watch文件权限之后,tom运行watch命令时查看watch进程所属身份为watch文件的所属身份(ls -l)

#特定用户对于指定权限

acl权限列表

ls -l查看权限列表是否开启,当一个文件属性权限位最后一位为+,表示开启acl,文件权限用getfacl命令去查看,ls -l查看文件权限不再准确

setfacl -m u:username:rwx file ##设定username对file拥有rwx权限setfacl -m g:group:rwx file ##设定group组成员对file拥有rwx权限getfacl file #查看对file所设定用户的权限setfacl -b file ##关闭acl权限,+不在(之前设定的权限也删除)setfacl -x u:username file ##删除file的特定权限对应的特定用户 但acl权限未关闭(ls -l 文件属性权限位最后一位+仍在)

操作如图:

mask值:权限列表中标示能够赋予特殊用户最大权限的值,能够开放权力的最大值。

acl列表权限设定后,用命令chmod减小开启acl的文件权限时文件权限未改变,减小的是mask值

chmod g-w file表示将mask的值减去w 同时建立的特定用户的生效的权限去掉w

恢复mask值:setfacl -m m:rwx 文件名

如图:

##acl默认权限设定

setfacl -m d:u:用户名:权限 目录#对系统当中已存在的文件不生效 只对设置过后新建的文件生效

关闭默认权限:setfacl -k 目录

举例:

要求指定用户scq对于目录/mnt/scq及目录内已存在的文件可写(由于default只对设定后新建的文件生效,因此需要递归设定目录与子文件下特定用户对与特定文件的权限,setfacl -R -m u:用户名:权限#-R递归),并且对于此目录下新建的文件也可写(setfacl -m d:u:用户名:权限 目录

如图:

#权力优先级

userperm(chmod u)》acluser(setfacl指定特殊用户的权限) 》aclgroup(setfacl制定特殊组的权限)》 grouperm(chmod g) 》otherperm

#设定权限之后权力缩小,保护系统的权限 :开放后权限变小

chattr +i/=i 目录##设定只能看(系统命令文件只能看不能改)

lsattr -d 目录##查看设定权限

chattr +a##只能添加不能删除(用系统审计)

练习题:

代码如下

groupadd shengchangroupadd caiwugroupadd jishuuseradd -G shengchan tomuseradd -G caiwu harryuseradd -G jishu leouseradd adminmkdir /pub /cwchmod 777 /pubchgrp shengchan /scchmod 770 /scchgrp caiwu /cwchmod 770 /cw

代码如下:

chmod 1777 /pubchmod 2770 /scchmod 2770 /cwsetfacl -m u:admin:rwx /sc /cw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。