9-linux基础-权限 本文共有60627个字,关键词: 基础权限: ·linux中文件权限的信息使用ls-l filename可以查看到文件的详细信息,权限位十一位 ·第一位表示文件的类型 '-'普通文件 "d"目录文件 "l" 连接文件 "b" 块设备文件 "c" 字符设备文件 "s" 套接字文件 "p" 管道文件 ·中间9位每三位一组:从左到右为 所有者(u),所属组(g),其他人(o) ·最后一位为'.',表示该文件被selinux保护,selinux为增强型安全组件 ·如果末尾有‘+’表示有acl权限 权限管理: ·主要是针对三类用户定义: 属主 owner 属组 group 其他人 other ·每个文件对每类访问者都定义了三种权限 对于文件来说 r readable可以使用文件查看工具获取其内容 w writable可以修改器内容 x excutable 可以把此文件提请内核启动一个进程 对于文件来说: r 可以使用ls命令列出目录下的文件列表 w 可以再目录中创建、删除文件 x 可以使用cd命令进入此目录,也可以使用ls-l查看此目录中文件列表 修改文件权限 ~]#chmod [option] MOD FILE #修改指定文件的权限 -R 修改目录的权限的时候递归修改权限,修改目录的权限时,默认不会修改目录下文件的权限 使用八进制数形式修改权限 ~]#chmod750 /tmp/test/ #修改指定目录的权限为750 直接指定用户mode进行定义 ~]#chmodu=rwx FILE #修改某一类用户的权限 u=rwx,g=rw,o=(空,表示不给权限) 修改用户的耨意为权限: ~]#chmodu+x FILE #给文件属主添加执行权限 a+x 所有类型用户添加执行权限 a-x 所有类型用户减少执行权限 参考指定文件的权限,将目标的权限修改同相同权限 ~]#chmod--reference=/etc/fstab /tmp/test #以/etc/fstab文件为模板文件 ~]#chownlinux:linux /tmp/test #修改指定用户的属主属组为linux ·~]#chown:linux /tmp/test #仅修改文件的属组 -R 递归修改目录下的所有文件 ~]#chgrp group FILE #修改文件属组 -R递归修改文件属组 遮罩码:为用户创建的文件提供基本权限 ~]#umask #显示当前用户的umask值(遮罩码) ·root用户的umask值为022 ·普通用户的umask值为0002 ·当创建文件的时候,默认的权限为 666-umask 如果文件有执行权限,其八进制权限加1,文件不允许默认有执行权限 ·当创建目录的时候,默认权限为: 777-umask 目录的可用权限只有0,5,7 ·umask的值在/etc/profile文件中可以修改 常使用的权限: 000没有权限 644标准文件权限 755标准目录权限 777最大权限,禁止赋予 权限对文件的含义: r读取文件的内容 w编辑、新增、修改文件的内容,不包含删除 x可执行 权限对目录的意义 r可查询目录下的文件名 w具有修改目录结构的权限 x可以进入目录 目录的可用权限 0最小权限 5标准权限 7最大权限 ·对于文件来说,最大权限为执行权限 ·对于目录来说,最大的权限是写权限 "#" 读音:sharp ·默认权限保证了新建的文件、目录有基本权限,不能通过目录继承的原因是,目录和文件的执行权限的意义不同。 文件系统上的特殊权限 SUID、SGID、Sticky linux上的权限有mode和ownership mode:user、group、other三类用户,分别you读、写、执行权限 ownership:所有权,属主身份 进程的安全上下文: 前提条件:进程由属主、属组,文件有属主、属组 谁发起的进程,进程的属主就是谁 实例: /bin/cat 属主属组都为root,当普通用户执行/bin/cat程序时,匹配的是其他人权限,如果其他人拥有执行权限则普通用户可以执行/bin/cat程序,当程序运行起来后为进程,此时进程的属主属组为执行程序的用户,这个进程所能访问的资源受进程属主属组的限制。 ·任何一个可执行文件能不能启动为进程,取决于发起者对程序问价是否拥有执行权限 ·启动为进程后,其进程属主为发起者,进程的属组为发起者的属组(属组意义不大) ·进程访问目标时的权限,取决于进程的发起者 1.进程的发起者同文件属主,则应用文件属主权限 2.进程的发起者属于文件的属组,则应用文件属组权限,如果进程发起者属于多个组,有一个组与文件相同即表示该用户属于该文件的属组 3.应用其他人的权限 SUID(一般为提权操作) 1. 任何一个可执行程序能否启动为进程,取决于发起者对程序文件是否拥有执行权限 2. 启动为进程后,其进程属主为源程序文件的属主,这个进程访问的资源的权限取决于这个进程属主的权限 ~]#ls -l $(which passwd) #红色的底纹表示拥有特殊权限 ·SUID权限的设定 ~]#chmodu+s filename #给文件添加SUID权限 ~]#chmodu-s filename #取消文件的SUID权限 #ls-l长格式显示时,原文件属主执行位上为s(小)表示存在执行权限 #ls -l长格式显示时,原文件属主执行位上为S(大)表示无执行权限 SGID(一般为提权操作) 默认情况下用户创建文件时,属主为用户的基本组。 一旦某目录被设定了SGID权限,则所有对该目录有写权限的用户,在此目录中创建的文件属组为目录的属组,在创建文件的那一刻,用户以目录的属组为基本组创建文件,临时更改有效组。 ·SGID的设定(对目录) ~]#chmodg+s DIR #给目录添加SGID权限 ~]#chmodg-s DIR #取消目录的SGID权限 ·SGID的设定(对文件) 当一个普通用户执行具有SUID权限的程序时,该命令的 执行者会临时加入该命令的属组内。 ~]#ls-l /usr/bin/local #具有SGID权限的命令 ~]#ls-l /usr/lib/mlocate/mlocate.db #具有SGID权限后操作的文件 ~]#chmodg+s filename #给文件添加SGID权限 ~]#chmodg-s filename #取消文件的SGID权限 #ls -l 长格式显示时,源文件属组执行位上为s(小),表示原属组执行位有权限 #ls-l 长格式显示时,源文件属组执行位上为S(大),表示原属组执行位无权限 Sticky(黏着位SBIT) 对一个多人可写的目录,如果设置了sticky权限,则每个用户只能删除自己的文件,root用户除外。 ~]#chmodo+t DIR #给目录添加sticky权限 ~]#chmodo-t DIR #给目录取消sticky 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 几人行 (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 基础笔记综合整理 2018-10-05 评论 1696 次浏览