设计手机网站页面尺寸大小,中国行业数据分析网,网站建设一条龙,个人创业项目一. 什么是权限#xff1f;
首先权限是限制人的。人 真实的人 身份角色 权限 角色 事物属性
二. 认识人–用户
Linux下的用户分为超级用户和普通用户
root :超级管理员#xff0c;几乎不受权限的约束普通用户 :受权限的约束超级用户的命令提示符是##xff0c;普通用…
一. 什么是权限
首先权限是限制人的。人 真实的人 身份角色 权限 角色 事物属性
二. 认识人–用户
Linux下的用户分为超级用户和普通用户
root :超级管理员几乎不受权限的约束普通用户 :受权限的约束超级用户的命令提示符是#普通用户的命令提示符是$ 命令 su [用户名] 功能 切换用户 例如要从root用户切换到普通用户user则使用su user。也可以ctrld或者直接exit 要从普通用户user切换到root用户则使用su rootroot可以省略此时系统会提示输⼊root用户的密码。 普通用户切换为超级用户两种方式的区分 单独的su:只进行两者之间的身份切换家目录不发生变化。su -:以root的身份重新登陆Linux机器 普通人之间进行切换需要输入对方的密码但root可以切换成任何人不需要输入密码 如何不切换身份的情况下执行更高权限的指令呢? 指令提权 sudoers:类似一张用户白名单 什么时候进行指令提权 安装软件时以root身份安装任何人都可以使用软件只需安装一次。
三. 文件属性 Linux下 权限 角色 事物属性 角色: Linux下角色分为三类
文件拥有者文件所属组other
具体的用户root 普通账号 角色拥有者所属组other (由具体的角色扮演)
事物属性
四. 权限
我们可以看到这里一行总共有九个字符。这九个字符三个为一对。 其中
r: 表示可读权限w: 表示可写权限x: 表示可执行权限- 表示不具备此权限
超级用户不受权限的约束 例如这里的test.txt文件的拥有者是root,所属组是root,root对于test.txt文件没有读写执行权限但是照样可以往test.txt文件中写入hello,并且能查看test.txt文件。
第一个位置表示是否可读有就是r没有就是- 第二个位置表示是否可写有就是w没有就是- 第三个位置表示是否具有可执行权限有就是x没有就是- 所以说读,写,可执行这三个位置时固定的。 所以对于file.txt而言 拥有者所具有的权限是 可读可写不可执行 所属组所具有的权限是 可读可写不可执行 所属组所具有的权限是 可读不可写不可执行 权限的修改:
只有文件的拥有者和超级用户root才可以修改权限。
chmod 功能 设置文件的访问权限。 格式 chmod [参数] 权限 文件名 常用选项: 用法一 用户表示符、 - 、权限字符
u拥有者g所属组o其他人a所有用户拥有者、所属组、其他人增加权限-取消权限赋予权限
示例 chmod ur test.txt给拥有者加上test.txt文件的可读权限 chmod u-w test.txt:去掉拥有者test.txt文件的可写权限 chmod urwgrox test.txt给拥有者加上可读可写权限 给所属组加上可读权限给other加上可执行权限 chmod arwx test:给所有用户加上test.txt文件的可读可写可执行权限
不是你有可执行权限这个文件就能执行 Linux下能执行 真的是一个可执行文件 可执行权限 user,group,other和我自己进行身份对比的时候依次只对比一次
用法二文件权限修改的八进制方案 在计算机中是用1表示否用0表示在Linux中一个用户对应三个权限 例如sp.txt文件拥有者是sp所对应的权限是---所属组是sp对应的权限是rw-。 一个用户的权限全为否的话所对应的就是---,用01表示就可以表示为000000转化为八进制就是0。那么同理所属组的权限就可以表示为110转化为八进制就是6。对于other来讲对应的八进制就是100转化为八进制就是4。所以最终我们表示一个文件的权限就可以表示为064。 有了上面的经验所以我们要修改一个文件的权限就可以chmod 700 sp.txt,其中7对应的是1110表示000。所以sp.txt文件的权限最终被修改成了rwx --- ---。 如果我想给所属组加上rw那么就可以chmod 760 sp.txt其中6表示110。 如果想给所有人去掉所有权限chmod 000 sp.txt。 总结 修改文件权限的两种方式
chmod u/g/o/a /- r/w/x filemanechmod 八进制 filename
不管是上面的那种该权限的方法其实本质上都是改的文件的属性。上面我们已经说了权限角色事物属性我们可不可以修改角色呢答案是可以的
chown指令
更改拥有者 例如我们想把sp.txt的拥有者改为root,chown root sp.txt 我们会发现不允许我们修改。原因其实很简单就好比如我们给别人东西一样别人也有可能不要首先得征求别人的意见。但是在liunx中你想给别人东西征求别人意见这样的事无法实现。那怎么办呢 答案是强制操作 指令提权sudo chown root sp.txt。
chgrp指令
更改所属组 更改所属组和上面更改拥有者一样也需要强制操作 指令提权sudo chgrp root sp.txt
拥有者和所属组可不可以同时改呢答案是可以的 sudo sp:sp sp.txt我们就会发现文件的拥有者和所属组又变成了sp;
拓展 如果对于一个文件没有读权限,那么用任何工具打开都会看不到内容。权限限制的是人。
关于权限的三个问题 目录权限 a. 如果我想进入一个目录需要什么权限r权限 b.r对目录是什么意思 无法查看指定目录下的文件信息 c.w对于目录 无权在指定目录内部新建文件删除文件修改文件名的操作。 缺省权限 我们新建一个文件会发现它的权限默认是664110110100 我们新创建一个目录会发现它的默认权限是775 知识点 普通文件起始权限666目录文件起始权限777 但是问题又来了为什么我们新建的文件起始权限是664目录是775呢 原因是在我们liunx系统中存在默认的权限掩码umask 为什么会有权限掩码 我们可以修改权限掩码达到修改Liunx中文件缺省权限的问题 umask0002我们不必关心第一个零只需关心umask的后三位。002即000 000 010的二进制位 结论 最终权限默认 起始权限 ~umask 比如普通文件的起始权限666-110 110 110,umask是000 000 010。所以最终权限就是664 - 110 110 100 如何改umask? umask直接后面跟数字 例如 umask 0777第一个0不写也可以umask就被改成777了777的二进制表示方式为111 111 111取反就为000 000 000任何数与0按位与为0所以我们现在创建一个新的文件它的权限就为全0了。 为什么有umask呢 原因是人的需求是一种变化的如果你的程序设计的过于死板缺省权限目录权限都是固定的样式一旦碰到有特殊需求的人就会很不方便。 所以有了umask首先没有坏处其次增加了权限新需求的灵活性。 粘滞位
当我们新建一个用户时系统会自动在/home路径下创建一个用户的家目录所有家目录的权限都是700这就意味着其他普通用户无法进入我的家目录也不能查看我的家目录下的所有文件更不能对我的家目录中的文件进行修改、删除也不能在我的家目录中创建文件。 但有的时候我们多个用户想进行文件数据的共享。家目录的特性导致我们所建立的共享目录不能在任何一个用户的家目录下。那建立在哪里合适呢答案是通过超级用户在根目录下建立一个共享文件根目录的拥有者和所属组都是root普通用户作为other没有写权限所以无法在根目录下创建文件其他普通用户都以其他人的身份去操作这个共享文件。因此这里还需要把共享文件针对其他人的权限设置为7以保证普通用户可以进入到这个目录并且查看该目录下的所有文件、在该目录下创建文件等。
于是,问题来了~~换句话来讲,就是只要用户具有目录的写权限w,就意味着可以在该目录下创建、删除、修改文件。(一个文件能否能够被删除是由它所在的目录决定的并不由该文件本身所决定)
共享目录对其他人的权限都设置为7这就意味着所有其他普通用户都可以删除共享目录下的任何文件。换句话说就是用户A在共享目录下创建了一个文件而用户B则可以随意的删除A用户所创建的文件。这好像不太科学啊,我张三创建的⼀个文件,凭什么被你李四可以删掉?如何解决这个问题呢可能会有人想着那就删除共享目录针对other的写权限w但是这样我们同时也无法在共享目录下创建文件就是失去了共享的意义。
为了解决上面的问题引出了一个新的权限位粘滞位。 粘滞位的出现避免了前面提到的互删这种不合理的操作。可以给共享目录针对other角色加上粘滞位权限。
chmod ot 目录名给共享目录的other加上粘滞位权限
任何用户在设置了粘滞位的目录下
自己只能删自己的文件其他人无法删除root无视粘滞位只能给目录设置普通文件不能设置t是一种特殊的x
最后其实系统在根目录下已将帮我们建了一个共享的目录 如果这篇文章对你有帮助记得点赞评论收藏 最后别忘了关注作者作者将带领你探索更多关于Liunx方面的问题。