linux文件权限5-7位,Linux中文件权限管理

1 文件权限存在的意义

系统最底层安全设定方法之一保证文件可以被可用的用户做相应操作

2 文件权限的查看

ls -l file ##查看文件的属性、大小等详细信息

ll file ##同上

cb8b9a47a963bf34b5c8ddc779fec0df.png

ls -d ##列出目录或文件本身,而不是目录或文件的内容

ls -ld file ##组合使用,更加详细

ll -d file ##同上

d58cdeb5e21ff0caa1fd64ab3a9a2a12.png

3.文件权限读取内容解释

示例为目录文件

648bae327f8d39efe5a3008395a20e85.png

[1] : 文件的类型

相似的参数类型

##空文件

d ##目录

l ##软链接

s ##socket 套接字 相当于门 一个出口或者入口

b ##block 块设备

c ## 字符设备

文件的访问权限

[2] rwx [u] 文件拥有者对文件的权限 7

[3] r-x [g] 文件所有组对文件的权限 5

[4] r-x [o]除去拥有者、所有组其他的对文件的权限 5

r:表示文件可以被读 w:文件可以写入 x:文件可以被执行

rwx r=22=4 w=21=2 x=2*0=1 rwx=7 rw=6 rx=5 wx=3

[5] 文件: 被写入次数

目录: 子目录的个数

[6]文件所属的用户

[7]文件所属的用户组

[8]占用磁盘的大小

[9]修改时间

[10]文件名称

4.chown命令

改变文件的所有者和所在组

chown user.group file|dir ##改变文件或目录的所有者和组

b92c0f4942f64520a27422a8d07913ed.png

d1da97712987fe6b5f8acf2abe220230.png

chown -R user.group dir ##递归改变目录的所有者和组

01eedaec307add856b128e92f439a3c4.png

5.chgrp命令

更改目录或文件的组

chgrp group file|dir ##改变文件或目录的组

55f4deafc66a1fadcabbf6f96d2feadc.png

chgrp -R group dir ##递归改变目录的组

395cca25c12d021c9a92ef0d0862c10f.png

6.权限的理解

上面说道rwx具体代表的权限,对文件与目录的效果是不一样。

r:对文件:是否可以查看文件中的内容 --->cat file

对目录:是否可以查看目录中有什么字文件或者子目录 ---> ls dir

w:对文件:是否可以改变文件里面记录的字符

对目录:是否可以对目录中子目录或子文集的元数据进行更改

x:对文件:是否可以通过文件名调用文件内记录的程序

对目录:是否可以进入目录

7 chmod命令

更改目录文件权限的命令

dff984b4e375d160f3ffc97f67306d36.png

chmod (u|g|o)(+|-|=)(r|w|x) file|dir ##更改文件或目录的权限

chmod u+x /dir/file ##增加文件所有者的执行权限

d7ddd13dbe95be9da29eeb4dc2037a4c.png

chmod g-w /dir/file ##减少文件所在组的写入权限

eb53e0ad087efd6ec1539d39d1e807d6.png

chmod ugo+rwx /dir/file ##增加文件所有者、所在组、其它用户的读、写入、执行的权限

72ceddd95e443a5a1e4f0b2e4baf1784.png

chmod u=rw,g=wx,o=rwx /dir/file ##赋予所有者rw权限、所在组wx权限、其他用户rwx权限

9e22017f624fdf4de15ca803e0cd774a.png

chmod 0755 dir/file ##更改u的权限为rwx、g的权限为rx、o的权限为rx

0:是否为目录,0为否,1为是

9c81691d5766708fa7041dc48ac673be.png

将档案 file1设为所有人皆可读取 :

chmod a+r file1

f794d0f6c13941148d109d511ce3e5f1.png

将档案 file1 与 file2设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :

chmod ug+w,o-w file1.txt file2.txt

884b2ba3d22eb099349359e1e685c799.png

文件权限755

1、第一位7,代表文件所有者拥有的权限为可读(4)+可写(2)+可执行(1)

2、第二位5,代表文件所有者同组用户的权限为可读(4)+不可写(0)+可执行(1)

3、第三位5,代表公共用户的权限为可读(4)+不可写(0)+可执行(1)

!!!!!!!!注意chmod +w 默认只加文件所有者即u的写入权限,因为该权限较为重要。

8.umask

什么是umask

当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。

umask是设置限制新文件权限的掩码,效果与chmod的效果刚好相反

umask的值越大,获得的权限越少,系统越安全

即时修改

umask xxx 即时修改生效

9906c688e9623afc57f092d82dea05ca.png

这里umask设置的077 创建出来后的的文件权限却为600

umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最 大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来 说,umask中各个数字最大可以到7。

永久修改

vim /etc/profile ##系统配置文件修改

vim /etc/bashrc ##shell配置文件修改

修改方式:用 vim 运行上述配置文件

末行模式键入/umask 高亮显示

找到 if[ $UID -gt 199 ] && ["id -gn" = "id -un"]; then

umask 002 ##普通用户的umask

else

umask 077 ##root的umask

fi

修改完毕:wq 退出保存

55c1f75ee28876c0b8c0737cbfc270e5.png

53bcb6840f21bfbdc80e80a633da0b41.png

注意:不会立即生效

需要键入:

source /etc/profile

source /etc/bashrc

才会生效

!在超级用户下创建的文件权限被默认更改

9e3c5958aa4410e2ef7186c0c261a9ba.png

!在普通用户下创建的文件权限被默认更改

f140b9be453b1db3ef405a68ee4f08d5.png

9.acl权限列表

作用:让特定用户对特定的文件拥有特定权限

acl列表的查看

drwx------+ 2 root root 6 Mar 28 03:19 /mnt/file

# file: mnt/file ##文件名称# owner: root ##文件拥有者# group: root ##文件拥有组**

user::rwx ##文件拥有者的权限

user:student:rwx ##制定用户的权限

group::--- ##文件拥有组的权限

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

other::--- ##其他人的权限

注意:acl开启时权限末尾会出现"+"

acl列表相关命令

getfacl file ##查看文件的acl列表

目录和文件的acl列表展示:

d8a7ee406749002b7f955b02989302cb.png

setfacl -m u:username:rwx file ##设定username用户对file拥有rwx权限

(对用户老张增加rwx的权限)

825dfa266e0fae8d24df4ef29d6a1dab.png

setfacl -m g:group:rwx file ##设定group组成员对file拥有rwx权限

(使该组对文件file拥有rwx的权限)

e6f3f3209b1e473d4aeb3764fef68671.png

setfacl -x u:username file ##从acl列表中删除username用户

38a82d8a3ae1061f2c458296881c74c2.png

setfacl -b file ##关闭file上的acl列表

(关闭刚才对acl列表的设定 )

e2bbc4bad12413c915d17dd35d82fe3a.png

10.mask值

在权限列表中mask表示能生效的权力值,当用chmod减小开启acl的文件权限是mask值会发生改变

即用了chmod g-w file

如果要恢复mask值

setfacl -m m:rw file

11.acl的默认权限设定

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

acl权限只针对设定完成之后信件里的文件或目录身生效,而已经存在的文件是不会继承默认权限。

setfacl -R -m u:student:wx /mnt/test 对之前目录下存在的文件赋予其权限

(对oop1下的文件file2用户权限为wx)

24d507af4ee9e36d931372655af64068.png

setfacl -m d:u:student:rwx /mnt/test 对目录之后创建的文件赋予其权限

54b70e15b9ec74a2aa2ee44e25e61362.png

oop1下新建file3用户老张的权限为rwx

1adc6db16492da1bf82c7f62bbc554dd.png

setfacl -k /oop1/file3

86d664f0523d01d6e7942690e842d1a5.png

12.特殊权限

粘制位:sticky(t)

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

设定方式:

chmod o+t dir

chmod 1xxx dir

(在root下的mnt文件下创建oop目录 使用chmod1777修改其权限 切换用户bruceiter1 在当前目录下创建fiel1文件,logout退出切换用户zhangwei,正常zhangwei用户可以删除此文件。但是在root下添加了1777权限后,该目录下创建的文件只能被它的用户删除)

e6950f3a97cc4db404dff2b9bc63354d.png

c015aa2446b047fc946d67f3e2d8e577.png

强制位:sgid(s)

作用:

对文件:只针对与二进制可执行文件,当文件上有sgid时任何人执行此文件产生的进程都属于文件的组

对目录:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组

设定方式:

chmod g+s file|dir

chmod 2xxx file|dir

78cb4eca7fbebf05dec2382edba5c2c3.png

冒险位:suid(s)

作用:只针对于二进制可执行文件,当文件上有suid时任何人执行这个文件中的程序产生的进程都属于文件的所有人

设定方式:

chmod u+s file

chmod 4xxx file

23f17513ef6fe55ddfe67405f2a63a42.png

e14802e3e57f6119ecd3405a3458818e.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值