目录
1.权限的概念
shell命令:命令行解释器
2.Linux权限的管理
1.文件访问者的分类
2.文件类型和访问权限
3.文件权限值的表示方法
4.对问价/目录权限的操作
1.对文件属性的修改
1.2对目录权限的修改
2.对文件所属人/所属组的修改
5.目录的权限
1.粘滞位
2.umask:查看或者修改文件掩码
6.关于权限的总结
1.权限的概念
Linux下有两种用户,超级用户(root)和普通用户
超级用户(root):在系统下可以进行任何操作,不受限制。
普通用户:在系统进行有限制的操作。
超级用户的提示符是‘#’,普通用户的提示符是‘$’
su:切换用户指令
普通用户切换到普通用户--->su user
从普通用户切换到root用户,su - root(可省略),su 不加“-”’就是当切换到root后仍在当前的目录下
shell命令:命令行解释器 外壳程序的作用:
是使用者的指令翻译给内核执行,同时将执行结果反馈给使用者。
2.Linux权限的管理 1.文件访问者的分类 文件和文件目录拥有者--->u(user)
文件和文件目录拥有者所在的组--->g(group)
其他用户--->o(other)
2.文件类型和访问权限 第一位代表的是文件的类型(d-->目录,‘-’ 普通文件)
后九位每三位为一组,前三位代表的是u(拥有者)的权限,中间三位代表的是g(所属组)的权限,后三位代表的是o(其他人)的权限。
‘ r ’---->读 2 --->表示连接数 Jan 31 10:06 --->文件创建时间
‘ w ’---->写 jyj(第一个) --->文件拥有者
‘ x ’---->执行 jyj(第二个)----->所属组
‘ - ’---->无权限 4096---->文件大小
3.文件权限值的表示方法 字符表示法 Linux表示 说明 Linux表示 说明 r--仅可读r-x可读可执行不可写-w-仅可写-wx可写可执行不可读--x仅可执行rwx可读可写可执行rw-可读可写不可执行---无权限 八进制表示法 权限符号(读写执行) 八进制 二进制 r--4100-w-2010--x1001rw-6110r-x5101-wx3011rwx7111---00004.对问价/目录权限的操作 1.对文件属性的修改
外壳程序的作用:
是使用者的指令翻译给内核执行,同时将执行结果反馈给使用者。
1.文件访问者的分类 文件和文件目录拥有者--->u(user)
文件和文件目录拥有者所在的组--->g(group)
其他用户--->o(other)
2.文件类型和访问权限 第一位代表的是文件的类型(d-->目录,‘-’ 普通文件)
后九位每三位为一组,前三位代表的是u(拥有者)的权限,中间三位代表的是g(所属组)的权限,后三位代表的是o(其他人)的权限。
‘ r ’---->读 2 --->表示连接数 Jan 31 10:06 --->文件创建时间
‘ w ’---->写 jyj(第一个) --->文件拥有者
‘ x ’---->执行 jyj(第二个)----->所属组
‘ - ’---->无权限 4096---->文件大小
3.文件权限值的表示方法 字符表示法 Linux表示 说明 Linux表示 说明 r--仅可读r-x可读可执行不可写-w-仅可写-wx可写可执行不可读--x仅可执行rwx可读可写可执行rw-可读可写不可执行---无权限 八进制表示法 权限符号(读写执行) 八进制 二进制 r--4100-w-2010--x1001rw-6110r-x5101-wx3011rwx7111---00004.对问价/目录权限的操作 1.对文件属性的修改
文件和文件目录拥有者--->u(user)
文件和文件目录拥有者所在的组--->g(group)
其他用户--->o(other)
第一位代表的是文件的类型(d-->目录,‘-’ 普通文件)
后九位每三位为一组,前三位代表的是u(拥有者)的权限,中间三位代表的是g(所属组)的权限,后三位代表的是o(其他人)的权限。
‘ r ’---->读 2 --->表示连接数 Jan 31 10:06 --->文件创建时间
‘ w ’---->写 jyj(第一个) --->文件拥有者
‘ x ’---->执行 jyj(第二个)----->所属组
‘ - ’---->无权限 4096---->文件大小
3.文件权限值的表示方法 字符表示法 Linux表示 说明 Linux表示 说明 r--仅可读r-x可读可执行不可写-w-仅可写-wx可写可执行不可读--x仅可执行rwx可读可写可执行rw-可读可写不可执行---无权限 八进制表示法 权限符号(读写执行) 八进制 二进制 r--4100-w-2010--x1001rw-6110r-x5101-wx3011rwx7111---00004.对问价/目录权限的操作 1.对文件属性的修改
1.对文件属性的修改
1.1 对普通文件的权限的修改
指令:chmod
修改该文件u(拥有者)的权限,去掉u的读权限
然后执行指令cat file.txt 发现我们已经无权限访问
修改权限的八进制方案
对同一个用户进行同时进行多次操作:
1.2对目录权限的修改 指令:sudo chmod
-R:递归修改目录下的权限。
2.对文件所属人/所属组的修改 对拥有者的修改:chown
sudo chown xxxx
对所属组的修改:chgrp
sudo chgrp xxxx
-R:对目录下的所有文件或者目录递归修改
指令:sudo chmod
-R:递归修改目录下的权限。
对拥有者的修改:chown
sudo chown xxxx
对所属组的修改:chgrp
sudo chgrp xxxx
-R:对目录下的所有文件或者目录递归修改
注意:对文件所属人/所属组进行修改要临时提高用户的权限,这个时候就要用到sudo指令,如果sudo指令出现 “ xxx is not in the sudoers file. This incident will be reported. ”的报错,可以参考这一片博客:帮你解决Linux遇到xxx is not in the sudoers file、This incident will be reported.的问题_m0_56695823的博客-CSDN博客tt
同时修改拥有者和所属组
5.目录的权限 可读权限:如果没有可读权限,就不能再目录下ls等指令查看目录下的文件
可写权限:如果没有可权限,就不能再改目录下创建或者删除文件/目录
可执行权限:如果没有可执行权限,则无法cd到目录中
可读权限:如果没有可读权限,就不能再目录下ls等指令查看目录下的文件
可写权限:如果没有可权限,就不能再改目录下创建或者删除文件/目录
可执行权限:如果没有可执行权限,则无法cd到目录中
问题:如果其他(O)拥有该目录的读权限,那么该用户就可以删除目录下的文件,而不论是否具有该文件的读权限。还可以认为,你和张三在某一个目录下都创建了文件,而张三有目录的读权限,但是他没有你文件的读权限,虽然张三没有你文件的读权限,但是由于他有目录的读权限,他就可以删掉你的文件。看下图:
file1 的拥有者和所属组都是root,而执行的人是jyj,最终我成功的删除掉了file。
1.粘滞位
只能针对目录设置,一般是限制权限给other,设置粘滞位的用处:在该目录下,只有拥有者(root也可以)能够删除,在该目录下other只能删除自己创建的文件。
可以看到,在目录test中的file的所属者是root,而其他用户拥有test目录的读权限,所以就算file的所属者不是其他用户,其他用户人可以删掉它。
当目录test加上粘滞位后,其他用户就不能删除该目录下非其自身创建的文件。
可以发现,当test目录增加了粘滞位后, 其他用户不能删除非其创建的文件。
2.umask:查看或者修改文件掩码 新建文件默认权限=0666
新建目录默认权限=0777
实际上你所创建的文件和目录,看到的并不是这两个值,原因是创建的文件或者目录要受到umask的影响,假设默认权限是mask,实际创建出来的权限就是(umask取反)&mask;
新建文件默认权限=0666
新建目录默认权限=0777
实际上你所创建的文件和目录,看到的并不是这两个值,原因是创建的文件或者目录要受到umask的影响,假设默认权限是mask,实际创建出来的权限就是(umask取反)&mask;
所以创建的普通文件的权限=110110110&11111101=110110100--->rw-rw-r--;
root 的默认掩码值是不同 与普通用户的。
默认的掩码值是可以修改的:
但是 这样修改只能在这一次登陆的时候可以用,下次登陆的时候会恢复到原来的值。
6.关于权限的总结 1.目录的可执行权限表示你可否在目录下执行命令
2.如果目录没有 -x 权限,则无法对目录执行任何命令,甚至无法cd进入目录,即使目录仍然有 -r 权限(所以当用户没有 -x 权限,就算有目录下有 -r 权限用户是不能读取目录下的文件。)
3.而如果目录具有 -x 权限,但没有 -r 权限,则用户执行命令,可以进入目录,但由于没有目录的读权限,所以在目录下,即使执行ls目录,是没有权限读出目录下的文档。
1.目录的可执行权限表示你可否在目录下执行命令
2.如果目录没有 -x 权限,则无法对目录执行任何命令,甚至无法cd进入目录,即使目录仍然有 -r 权限(所以当用户没有 -x 权限,就算有目录下有 -r 权限用户是不能读取目录下的文件。)
3.而如果目录具有 -x 权限,但没有 -r 权限,则用户执行命令,可以进入目录,但由于没有目录的读权限,所以在目录下,即使执行ls目录,是没有权限读出目录下的文档。