0基础 网站建设,给艺术家做网站的工作,郑州竞价代运营公司,网站建设广西Linux权限 文章目录 Linux权限一、root账号与普通账号二、Linux权限管理三、权限权值表示方法四、文件访问权限的设置方法五、粘滞位六、权限总结 前言#xff1a; 我们在学习Linux的时候#xff0c;我们知道在Linux下一切皆文件#xff0c;而不同的文件对于不同的用户有不同…Linux权限 文章目录 Linux权限一、root账号与普通账号二、Linux权限管理三、权限权值表示方法四、文件访问权限的设置方法五、粘滞位六、权限总结 前言 我们在学习Linux的时候我们知道在Linux下一切皆文件而不同的文件对于不同的用户有不同的操作权限有些重要的东西不能让别人随意修改所以我们就需要给文件加上权限保证文件的私密性那么话不多说开启我们今天的主题 一、root账号与普通账号 在Linux下有两种用户:一种是 超级用户root一种是 普通用户。
区别 超级用户普通用户操作范围可以在Linux系统下做任何事情在Linux系统下做有限的事情命令行提示符‘#’‘$’ 如果我们当前账号是root账号想要切换为普通用户我们只需要这个命令
su 普通用户名//登录普通用户这样就能切换用户了但是如果我们当前用户是普通用户我们想要切换到root账户只需要
su root//使用后要加上密码我们从普通用户切换为root账号时需要输入root的密码且在输入密码的时候我们是看不到密码的。当密码输入完成时回车就可以切换为root账号了。 我们还有一种方法可以从普通用户切换为root账号
su -//切换root账号在普通账号中我们只能查看操作自己的工作目录我们不能看到别人账号下的工作目录同样更不能查看root账号的工作目录。 如果我们并不想要在root账号下执行命令但是我们还想要root账号的权限这个时候我们就可以使用
sudo 命令//进行root级别权限的指令但是sudo命令在普通账号下并不是默认就有的需要在root账号下添加可使用sudo命令的成员名单。这个部分目前我们有所了解即可以后我们会详谈。
总结 1、Linux下账号分为root用户和普通用户root用户的权限最大可以做任何事情而普通用户只能做有限的事情。 2、root切换普通用户使用su 用户名普通用户切换为root账号时需要su root或者su - 然后输入root密码回车即可切换。 3、普通用户想执行更高权限的命令需要在使用命令前加上sudo 二、Linux权限管理 Linux当中权限的类型一般有r读w写x执行。日常生活中不同身份的人干不同的事在Linux当中有着 拥有者所属组其他组 三类用户对象每个文件都可以对这三类用户设置不同的权限。 为了区分这个文件属于谁在我们圈出来的地方第一个表示拥有者第二个就表示所属组。但是这里并没有显示other组这是因为我们不清楚other是谁如果将来有用户来访问我的文件那么在这个文件当中other就会显示出来。 一般我们在详细查看系统文件的时候会很容易发现这些 其实前面的这些字母与-就是一个 文件的属性表示 文件的类型和访问权限属性的 第一位表示文件类型。 文件属性的第2-10位表示 文件的权限权限的前三位 表示文件所有者的权限权限的 中间三位 表示文件所属组的权限而权限的最后三位表示其他用户的权限。 文件类型分类 d文件夹 -普通文件 l软链接类似Windows的快捷方式 b块设备文件例如硬盘、光驱等 p管道文件 c字符设备文件例如屏幕等串口设备 s套接口文件 三、权限权值表示方法 文件的基本权限 1、读权限rr也就是READ的首字母具有读取文件内容的权限对于目录来说具有浏览该目录信息的权限。 2、写权限ww也就是WRITE的首字母具有修改文件内容的权限对于目录来说具有删除移动目录内文件的权限。 3、执行权限xExecute的第二个字母具有执行文件的权限对目录来说具有进入目录的权限。 4、“ - ”表示不具有该权限。 我们知道了权限三三为一组一般权限分为如下几种情况 r-- 表示只读 --x 表示仅可执行 -wx 表示可写可执行 rwx 表示可读可写可执行 -w- 表示仅可写 rw- 表示可读可写 r-x 表示可读可执行 --- 表示无权限 文件的权限也可以用二进制来表示比如一个文件的权限为rw-那么该权限对应的二进制就是110。权限为rwx那么二进制就是111无权限二进制表示为000。而3位比特位也可以使用8进制来表示一位数那么我们也可以根据不同权限列出不同进制的表示方式
权限符号八进制二进制r4100w2010x1001rw6110rx5101wx3011rwx7111---0000 有了以上这些我们就能很轻易的分析出我们对一个文件拥有哪些权限。从而可以做具体的事情了。 四、文件访问权限的设置方法 有一些文件我们不想让别人看到或者不想让别人对本文件进行操作也就是说我们想要对文件的权限进行更改达到我们想要的效果。其实在Linux当中有这样一条命令
chmod命令 功能 设置文件的访问权限。 格式 chmod[选项] 权限 文件名 常用选项
R - 递归修改目录文件的权限说明只有文件的拥有者和root才可以改变文件的权限
用户标识符与权限字符
u拥有者g所属组o其他用户a所有用户:向权限范围增加权限代号所表示的权限-:向权限范围取消权限代号所表示的权限:向权限范围赋予权限代号所表示的权限
我们有如下文件 现在我们想要对file.txt的other组的可读权限给删除我们只需要
chmod o-r file.txt//将其他组的可读权限删除如果我们又想要将other组的可读权限恢复且还想加上可执行权限我们只需要
chmod orx file.txt这时我们突然又想要将file.txt文件所有权限都置为空我们只需要
chmod u-rw,g-rw,o-rx file.txt我们想要恢复权限仅仅将上面命令的-改为即可。 如果我们要对一个文件的三个组有相同的权限管理请求则我们可以使用a选项来进行批量处理文件权限
chmod ar file.txt我们看到所有文件都具有是否可执行这个选项那么我们的文件拥有了可执行权限就一定能执行吗我们将file.txt文件属性全部开放再对该文件写入一些内容 那么我们执行这个文件 我们会发现文件并不能执行所以我们可以得出结论一个文件具有可执行的权限但是这个文件并不一定是可执行的还需要保证这个文件是一个可执行程序。 除此之外我们还可以使用8进制来对一个文件的权限进行管理按照上面给出的8进制数进行对文件的权限的管理 如果我们需要修改一个文件的拥有者我们就需要用到下面的命令了
一、chown命令 功能修改文件或目录的所属组 格式chown [参数] 用户组名 文件名 使用方法也很简单只需要
sudo chown 用户组名 文件名注意 普通用户在使用chown命令时需要使用sudo命令。原因也很简单我们想要将自己的文件给别人别人也是需要确认的不然怎么知道你给的是不是什么病毒但是你是root账号或者使用sudo命令可以强制将文件 拥有者更改。 二、chgrp命令 功能修改文件或目录的所属组 格式chgrp [参数] 用户组名 文件名 常用选项 -R 递归修改文件或目录的所属组 要更改所属组也需要进行sudo或者在root账号下使用该命令。 我们有对应的更改所属组与拥有者的命令但是并没有更改other组的命令这是因为我们在更改拥有者与所属组的同时other是在不断变化的说白了其实更改拥有者与所属组就已经将other更改所以不需要更改other的命令。
如果我们感觉一个一个更改拥有者与所属组很麻烦我们也可以使用
chown 拥有者:所属组 文件名这样更改就方便了许多。 我们前面说了文件属性的首尾表示文件的类型但是文件的类型这么多可能会记混有没有什么办法能详细查看该文件到底是什么文件的命令呢Linux下有一个file命令
file命令 功能查看文件类型的详细信息 格式file [选项] 文件或目录 常用选项 -c 详细显示指令执行过程便于排错或程序执行的情况。 -z 尝试去解读压缩文件的内容。 使用file命令就可以显示文件的详细类型。 五、粘滞位 关于Linux的权限问题我们有这样三个问题
一、对于一个目录而言如果要进入一个目录需要什么权限 答案 x决定我们是否可以进入目录。 r决定我们是否可以对目录信息进行查看。 w决定是否可以在目录下新建和删除文件。 二、为什么我们创建的普通文件默认权限不是777而是664目录文件默认权限不是777而是775 我们在创建一个普通文件时我们的默认权限转化为8进制就是664当我们创建一个目录文件时我们的默认权限是775为什么他们的默认权限不是777 这是因为我们系统根据不同种类的文件进行了分类有些文件不需要的属性就不会去加或者由其他应用程序来加或者由用户需要时自己添加一般我们的普通文件里是不需要进行可执行的所以在创建普通文件时就默认没有这个选项目录同理。 那么按理来说我们的普通文件的权限应该是666目录文件权限应该是777但是我们看到的目录文件权限是775普通文件权限是664啊。其实这是因为Linux存在一种叫做权限掩码————umask
umask命令 功能 查看或修改文件掩码 新建文件夹默认权限0666 新建目录默认权限0777 但实际上你所创建的文件和目录看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask则实际创建的出来的文件权限是mask ~umask 格式 umask 权限值8进制 注意 将现有的存取权限减去权限掩码后即可产生建立文件时预设权限。超级用户默认掩码值为0022普通用户默认为0002。 实际上起始权限去掉umask值就是我们的默认权限了这里的去掉并不是单纯的减法而是 按位与运算 当然umask值是可变的可调整的直接使用
umask 3位8进制数我们将两个新建文件属性翻译为8进制对比也就说明了umask的值修改成功。 我们将一个普通文件全部的权限置为0再将文件拥有者和所属组全部置为root但是我们在普通用户下却能将root的文件给删除了 我们发现居然可以删除这个文件普通用户可以删除root文件这是很严重的问题这很不科学。 为了解决这个问题在Linux中引入了粘滞位
粘滞位 给目录中的other设置的一个权限位具有x的意义同时也进一步对目录权限就进行特殊限定 给目录的文件只有root或者文件的拥有者有权利进行删除其他人一概不允许。 使用形式
chmod t 目录名如果我们想要将粘滞位删除我们只需要将改为-即可
chmod -t 目录名六、权限总结
目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限则无法对目录执行任何命令甚至无法cd 进入目, 即使目录仍然有-r 读限这个地方很容易犯错认为有读权限就可以进入目录读取目录下的文件如果目录具有-x权限但没有-r权限则用户可以执行命令可以cd进入目录。但由于没有目录的读权限所以在目录下即使可以执行ls命令但仍然没有权限读出目录下的文档。 如果对你有帮助的话还望能留下三连支持一下博主~~