Linux权限一、sudo二、Linux权限1. 概念2. 理解3. 实操3.1 chmod3.2 chown/chgrp4. 缺省权限5. 目录权限5.1 概念5.2 粘滞位一、sudosudo指令用于短暂的权限提升用法一般是sudo 指令需要当前用户密码以管理员身份运行。使用sudo后会有10-15分钟的时间可以免密登录。但是对于一个普通用户来讲执行sudo命令时会报错这是为什么呢其实有一个类似于白名单的配置文件/etc/sudoers找到这一块文本切换为root用户将用户名字仿照root写入到root的下一行再强制保存并退出即可。二、Linux权限1. 概念Linux下有两种用户超级用户root、普通用户超级用户可以在Linux系统下做任何事情不受任何限制。普通用户则会收到限制。超级用户命令提示符为 “ # ” 普通用户是 “ $ ”。命令su [用户名]功能切换用户。超级用户切换成普通用户不需要密码而普通用户切换成超级用户则需要当前普通用户的密码。2. 理解我们得先理解权限到底是什么说白了权限的本质就是用户能或不能做什么。为什么要设计权限这样一个东西为了控制用户行为防止错误的发生。我们得理解权限首先限制的是角色。权限要求目标具备对应的属性因此我们得到权限 角色 目标属性。在Linux下一切皆文件文件的目标属性包括读、写、执行分别对应r、w、x。对于角色它包括拥有者、所属组、other。我们可以看到文件详细内容并不会直接显示出other因为除了拥有者与所属组其他所有人都是other不需要显示。那么已经有了拥有者为什么又要设计所属组呢这是因为更精细化的角色管理首先要有更精细化的身份角色。3. 实操3.1 chmodchmod用于修改权限即目标属性。记拥有者为u所属组为gother为o所有人为a。那么chmod的用法为chmod 角色/-权限,角色/-权限,角色/-权限 文件也可以采用八进制方法对文件权限进行修改chmod XXX 文件重点普通用户只能修改自己的文件不能修改别人的文件。没有相应的权限系统将拒绝访问对应的文件Permission denied。确定权限信息前系统会先确定用户是谁。在CentOS下对于单个用户用户角色确定只确定一次顺序为拥有者、所属组、other它只会按顺序确定一次。比如说user1既是拥有者也是所属组那么他就会被先确定为拥有者那就是拥有者了。root用户直接无视权限可以对文件任意阅读修改。可执行权限不等于文件可以被执行文件自身能被执行赋予它可执行权限它才能被执行。3.2 chown/chgrpchown为修改文件拥有者chgrp为修改文件所属组。可以通过chown XXX/YYY 文件将文件拥有者改为XXX所属组改为YYY。但是想要将角色改为他人必须使用高权限。需要sudo/su来切换为root执行。4. 缺省权限为什么默认的权限是确定的如果我们将默认权限用八进制码表示这里存在一套权限的计算方法。对于普通文件起始权限666默认不可执行对于目录权限起始权限777。系统中还存在一个八进制的权限掩码——umask。得到最终权限的计算方法最终权限起始权限(666或777) (~umask)umask目的是希望凡是在umask中出现的权限都不该在最终的权限中出现。为什么要有umask呢系统可配置这是可以灵活满足需要的一种表现。特殊情况下配置umask可以控制文件的默认配置让我们代码都是可配置的。5. 目录权限5.1 概念再讲目录权限之前我们来看这样一个问题图片中root.txt是root创建的我们以普通用户的身份去删除文件按理来说普通用户是other不能删除这个文件但是我们却将其删掉了。这是为什么呢其实能否删除文件与文件本身无关与文件所在目录权限有关。目录权限与文件一样但是它所限制的内容需要我们去学习。r权限——查看目录中内容w权限——在目录中新建文件x权限——进入目录。root用户依旧不受权限约束。默认情况下创建一个目录rwx权限应该都得有。如果要实现多用户目录的隔离可以将拥有者权限拉满其他全部关闭。5.2 粘滞位因此一个文件能否被删除与自身权限无关与目录的w权限有关。对于用于多人协作的目录可以在根目录中新建一个目录但是其中也存在问题对于共享文件不想让非文件拥有者删除文件。任何一个人都能在共享目录下新建但是不能让非文件拥有者删除文件。对于以上问题引入权限标志位t粘滞位。对于共享文件非拥有者不能删除文件。要注意粘滞位t只能对共享目录添加。在根目录下存在一个专用的共享目录tmp。