加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux基础 文件权限

发布时间:2020-12-14 01:47:27 所属栏目:Linux 来源:网络整理
导读:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文件权限 ? 1. 文件属性的查看 ls - l file ?? ???- ll file -|rw-r--r--| 1 |root| root| 0 |Apr 2 16 : 17 |file ? ? ?2. 文件的类型 ?- ?? 空文

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文件权限

?

1.文件属性的查看

ls - l file ??

???- ll file

  -|rw-r--r--| 1 |root| root| 0 |Apr 2 1617 |file  

?

?

?2.文件的类型

?- ??空文件

?d ??目录

?l ??软连接

?s ??socket套接字

?b ??block 块设备

?c ??字符设备

?

2.目录属性的查看

ls -ld test/

ll -d ?test/

drwxr-xr-x 2 root root 6 Apr 2 1618 file

?

/mnt/下新建3个文件和1个目录westos,在westos目录下在建3个文件,实施每秒监控 ???watch -n -1 ls - lR /mnt/ ?,在新建一个lee用户和linux用户

?

?

3 chown命令 ??:更改文件/目录所有者

?chown ???username ??????file|dir ???????##更改文件的所有人

?chown ???usernamegroupname file|dir ??##更改文件的所有人所有组

?chown -R username ??????dir ????????????##更改目录本身及里面所有内容的所有人

?

?

chgrp:更改文件/目录所有组

????????chgrp ???username ?????dir ????##更改文件的所有组

????????chgrp -R groupname ?????dir ????##更改目录本身及里面所有内容的所有组

4.文件普通权限

????rw-|r--|r--

? ? u ??g ??o

?????r :有读取权限 ??????????w:有写入权限 ?????????x:有执行权限

u部分(user) :文件所有人对文件可以读写

g部分(group):文件组成员对文件可读

o部分(other):其他人对文件可读

权限详解

?1.r(读)

?对文件:可以查看文件中的字符

对目录:可以查看目录中文件的信息

?2.w(写)

?对文件:可以更改文件内记录的字符。

对目录:可以在目录中子目录或子文件的元数据(子目录、子文件)进行更改,对子目录、子文件的写即是对目录、文件的重命名,删除等操作

?3.x(执行权限)

?对文件:可以运行文件内记录的程序动作。执行、运行文件

对目录:可以进入目录中

4.修改该文件权限

?

1.字符方式修改权限

?chmod u-x file1 ?????????文件 file1拥有者去掉x权限

chmod g+w file1 ?????????文件 file1拥有组添加w权限

chmod u-x,g+w file1 ?????文件 file1拥有者去掉x权,file1拥有组添加w权限

chmod u+rwx ?????????????文件 file1拥有着加读写执行权限

chmod ugo-r file2 ???????文件 file2的用户组其他人去掉r权限

chmod ug+x,o-r file3 ????文件 file3用户和组添加x权限,其他人去掉r权限 ????

chmod g=rx file1 ????????不管之前文件所有组的权限如何,使file1所有组权限变成读、执行

chmod +r ?+x file1 ???注意:文件file1对所有的用户增加读和执行权限,惟独写权限不能全部添加,优先给用户添加,为了安全,不给用户组和其他人添加。

?

?

2.数字方式修改该文件权限

?文件权限数字表示方式

小科普:在linux文件权限表示中

????????r=4 (22次方)

????????w=2 (21次方)

????????x=1 (20次方)

????????-=0(-表示没有对应权限,故为0)

举个栗子:

rw-|r--|r--

?u ???g ??o

u=rw-=4+2+0=6

g=r--=4+0+0=4

o=r--=4+0+0=4

所以文件权限表示为644

命令:chmod 修改后权限值 file

chmod ??777 file ?--------> 该文件权限全部开放

7=rwx

6=rw-

5=r-x

4=r--

3=-wx

2=-w-

1=--x

0=---

5.系统默认权限的设定(umask

从系统存在角度来说,开放权力越大,系统存在意义越高

从系统安全角度来说,开放权力越少,系统安全性越高

所以系统设定新建文件或目录会去掉一些权限

设定方式:

umask ?????????????查看系统保留权限默认为022umask 077 ?????修改该系统保留权限为077,此设定为临时设定,只当前shell中生效

永久设定方式:

编辑文件:vim /etc/bashrc

?70 ????if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

?71 ???????umask 002 ???-----------> 普通用户umask

?72 ????else

?73 ???????umask 077 ???-----------> 超级用户umask ?????????????????????????????????????????????????????????????????????

?74 ????fi

?

编辑文件:vim /etc/profile

?59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

?60 ????umask 002 ????------------> 普通用户umask

?61 else

?62 ????umask 077 ??????------------> 超级用户umask ????????????????????????????????????????????????????????????????????????????????????????

?63 fi

以上两个文件umask设定值必须保持一致!

让设定立即生效:

source /etc/bashrc

source /etc/profile

??

6.特殊权限

?

1.sticky 粘制位

?

????只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能被其所有者删除。

设定方式:

????chmod o+t 目录

????t = 1,故又可以:

????chmod 1xxx 目录

?

2.sgid 强制位(只针对二进制可执行文件)

?

对文件:只针对二进制可执行文件,

????当文件有sgid权限时,任何人执行此文件产生的进程都属于该文件的文件所有组,和程序发起人组的身份无关

对目录:

????当目录有sgid权限后,目录中新建的所有文件的所有组,都自动归属到目录的所有组之中,和文件建立者所在的组无关

设定方式:

????chmod g+s file/dir

????s = 2,故还可以:

????chmod 2xxx file/dirxxx代表文件的普通权限数值)

进程查看:ps ax -o comm,user,group | grep watch

?

3.suid 冒险位置

?

????只针对与二进制的可执行文件,当文件上有suid时,任何人执行这个文件,程序产生的进程都属于该文件所有人,即以文件所有者的身份运行该文件。用于程序执行中权力的提升或者下降。

设定方式:

????chmod u+s file

?????s = 4,故还可以

????chmod 4xxx file xxx代表文件的普通权限数值)

?

7.acl列表

?

1.acl定义

?

acl = 访问控制

????指定特殊用户对特殊文件有特殊权限

drwxrwx---+ 2 root root 17 Jul 18 01:39 file

???????????^

这个‘+‘表示acl开启,如果对应位置上是‘.‘则表示没有acl或者acl是关闭的

查看文件是否有acl列表:

getfacl? ?file? ? ?查看acl开启的文件权限

?

file: file? ? ? ? ? ? ? ? ??文件名称

owner: root ???????????文件所有人

group: root ???????????文件所有组

user::rwx ????????????????拥有者权限

user:student:rwx ???特殊用户权限

group::r-x ?????????????文件所有组权限

mask::rwx? ? ? ? ? ? ?能赋予用户的最大权力伐值

other::r-x ??????????????其他人权限

注意:当文件上有权限列表时,ls -l 能看到的权限是不真实的

?

2.acl列表管理

?

a.? ? ? ? ? ?setfacl -m u:student:rwx? file? ? 设定用户对file文件有rwx权限

b.? ? ? ? ???setfacl -m g:group:rwx? file? ? ??设定组成员对file文件有rwx权限

?

3.删除acl列表中的用户或者组

?setfacl -x u:student? file? ? ?从acl列表中删除student用户

?4.关闭acl列表

?setfacl -b? file? ? ? ??关闭文件上的acl列表

?

5.acl mask

?

mask:权限掩码(表示能生效的权力值)

mask用来标实能够赋予用户最大权限阀值

当存在acl列表时,用chmod减小acl的文件权限时mask值可能会发生改变

修复文件mask值:

setfacl -m m:rwx 文件名称

?

6.acl 默认权限设定

? ? ? acl默认权限只针对目录设定

注意: 默认权限只对设定完成之后新建立的文件或者目录生效,而已经存在的文件不会继承默认权限。

?

? ? ?setfacl -m d:u:student:rwx /mnt /westos

? ? ? setfacl? -k /mnt/westos

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读