目录
Linux权限————————————————————————
1.Linux下有两种用户:超级用户(root)、普通用户。
1.Linux系统不是以文件名后缀 区分文件类型的,而是通过 ll 显示的第一个字符区分文件类型的!
(1)例1:chmod u-r myfile.txt 删除权限操作
(2)例2:各种增加删除,部分增加删除权限的操作 chmod u+rx myfile.txt
(4)例4:-a(all)或 chmod -r test.c 去掉全部读权限
(1)例1 :普通用户用sudo更改文件的拥有者(chown-更改文件的拥有者)
shell命令以及运行原理
1.shell外壳用途:
2.shell外壳形式:
windows下,外壳指的就是图形化界面
3.外壳存在的最大意义:
shell和bash区别?
Linux权限————————————————————————
一.Linux中的具体用户的分类
1.Linux下有两种用户:超级用户(root)、普通用户。
2.命令:su [用户名]
(1)
退出:热键ctrl+d或exit可切换回原来的用户
(2)小建议:
成为一样的(建议)
二.Linux中文件相关的权限概念
1.Linux系统不是以文件名后缀 区分文件类型的,而是通过 ll 显示的第一个字符区分文件类型的!
2.文件类型
d:目录文件
l: 链接文件
p:管道文件
b:块设备文件,磁盘
c:字符设备文件
(1)例1: -:普通文件 d:目录文件
(2)例2:l: 链接文件 p:管道文件 b:块设备文件,磁盘
三.Linux权限管理
(1)什么是权限?:1.约束人的(对人进行分类) 2.需要对应的事物具有特定的属性
一>Linux上,对文件的权限_:这个文件谁能”访问“,这个文件谁不能”访问“。对应的文件应该具的
某种属性:r,w,执行x(这些属性只是约束普通用户的,对root超级用户不起任何约束)
(2)权限=人+事物属性
所以权限的概念以及操作,都是围绕着人和文件属性展开的!
1.文件访问者的分类(人)
2. 文件的所属组,grouper
3.文件的其他用户,other
2.Linux系统中,文件的权限属性,分:
1. r
2. w
3. x(可执行)
3.文件权限值的表示方法
顺序:r w x :可读 可写 可执行
不可读,不可写,不可执行 就分别用 - 替代
例如-wx就是不可读,但可写可执行
文件信息的内容介绍
rwx三个三个为一组,顺序不可变
文件类型:
d:目录文件
l: 链接文件
p:管道文件
b:块设备文件,磁盘
c:字符设备文件
4.文件访问权限的相关设置方法
chmod
(1)例1:chmod u-r myfile.txt 删除权限操作
(2)例2:各种增加删除,部分增加删除权限的操作 chmod u+rx myfile.txt
在信息里面可以看到
(3)例3:去掉权限
(4)例4:-a(all)或 chmod -r test.c 去掉全部读权限
chmod a=r myfile.txt 统一改变所有人都成为只读权限
chmod -r test.c 去掉全部读权限
5.文件权限值的表示方法
(1)字符表示方法
(2)权限的8进制表示
可读,可写,可执行 三种权限 r,w,x分为有或无两态 例如:读权限“有”是“r”,“无”是“-”。
用8进制表示有为1,无为0。r w x ——>1 1 1 ——>八进制 ——> 7 ,例如:owner ——> 5 ——>
101 ——>r - x 。有 拥有者,所属组,其他 三个人,需要3个八进制位来表示
八进制看做成为2进制,对应上我们的权限。
范围:八进制 ——> [000, 111] ——> [0-7]
8进制数值表示方法
8进制数值表示方法 使用的例子:
chomd 777 myfile.txt :将权限改为777,7——>(转为8进制)111——>代表 r w x(可读,可写,可执行权限)——>777: 拥有者(可读,可写,可执行),所属组(可读,可写,可执行), 其他(可读,可写,可执行)——> rwxrwxrwx
6.更改文件的拥有者和所属组
1.当你想给别人东西的时候,要不要经过别人的同意呢? ?
答:需要。但是可以拿超级用户权限强权给文件。
2.文件的创建者和文件的拥有者一定是同一个人吗?
答:通常是,但不一定(农民工建房是创建者但不是拥有者)
(1)例1 :普通用户用sudo更改文件的拥有者(chown-更改文件的拥有者)
(2)同时改拥有者和所属组
(3)例2:root超级用户随心所欲更改文件的拥有者
(4)root改所属组——chgrp-更改所属组
7.目录的权限
1.如果我想进入一个目录,需要什么权限? (面试题)
(3)如果目录只没有w权限,允许进入,允许在该目录下查看文件列表,但是不允许创建文件
(4)如果同时没有r w权限,允许进入,但是不允许创建和查看目录下的文件列表(注意:不是文件内容! ! !文件的内容,是否可以查看,由文件自己的权限决定! ! )
2.linux下一切皆文件,目录也是文件
文件(目录)= 内容+属性
属性:drw-rwxr-x 2 whb whb 4096 Jun 30 19:30 dir 这些都是文件或者目录的属性
目录的内容:目录里面保存的是部分文件的 “属性”
包括文件名等等
3.小疑问
答:原则上是读不到的。你想访问文件,前提是不是你得先找到它? ? Linux中我们是如何找到这个文件的呢?通过路径! 路径是在文件的内容里面的,目录没有r权限,不能看目录的内容,也就找不到文件的路径。所以就算目录里的文件有r权限也无法查看。
下面的例子我们发现目录dir没有r权限,确实无法访问文件列表,但是我们记住了hello.txt这个名字以后,直接cat hello.txt 竟然能打印出来,原因是:
文件名和id之间是有对应的映射关系的,有可能被系统缓存了
8.umask-权限掩码
权限掩码的作用:是根据用户的需求屏蔽掉不希望给别人的权限,比如默认umask=0002,就是希望把other的写权限屏蔽掉
1.权限掩码:
umask=0002(第一个0类似于16进制的0x,是一个标识)后面的002是8进制。
2.规则:
①默认目录的起始权限: 777
②默认普通文件的权限: 666
③默认权限!= 最终权限
凡是在权限掩码中出现的权限都不应该在最终权限中出现! 即:
最终权限=默认权限 &(~umask)
3.使用示例:
umask=002转成二进制:000 000 010,取反:~umask:111 111 101
已知默认目录的起始权限: 777:二进制:111 111 111
111 111 111——目录默认权限
111 111 101——~umask
相与&:111 111 101 ——>775
已知默认文件的起始权限: 666:二进制:110 110 110
110 110 110——文件默认权限
111 111 101——~umask
相与&:110 110 100 ——>664
4.umask可以被修改
umask=000时(十进制),所有的目录和文件权限都是默认权限777或666
umask=777时(十进制),所有的目录和文件权限都是无任何权限:--- --- ---
四.粘滞位 chmod +t 文件
操作:chmod +t 文件
Linux下可以存在一些目录,拥有者和所属组是root,其他人允许以other的身份
在该目录下进行文件的创建,读取,删除,修改等!
在一个共享目录下,你不让我写,不让我读,,但防不住我删除!(即:共享目录下,other用户可以设置自己的权限不让别人读写,但是别人能随意删你的文件)
如果我还想在共享目录下,形成临时文件,但是,不允许除了我之外的人删除!
——需要给共享的<目录>加上粘滞位! x变成t
这样,在共享目录下,other就不能互删文件了,但是root和文件拥有者还是可以删这个文件的。