一、Linux权限的概念
1.1Linux的两种用户
Linux下有两种用户:超级用户(root)和普通用户。
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是"$"
1.2两种用户的切换
指令: su [用户名]
功能:切换用户。
如果我们不想切换账户,只想拥有root权限,我们应该怎么做呢?
指令: sodu [指令]
功能:以root身份执行[指令]
二、Linux权限管理
2.1文件访问者的分类
拥有者 所属组 other
2.2文件的访问权限
文件类型:
d:文件夹 !
-:普通文件 !
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
权限说明:
1.读(r/4): Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
2.写(w/2): Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
3.执行(x/1): execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
4.“-”表示不具有该项权限
三、文件权限设置的相关方法
chmod
功能: 设置文件的访问权限
格式: chmod [参数] 权限 文件名
权限说明:
1、用户表示符 + / - / = 权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者(user)
g:拥有者同组用户(group)
o:其它用户(other)
a:所有用户(all)如:# chmod u+w /Flash/Back.txt
2、三位8进制数字
rwx—— 二进制111 —— 八进制7
rwx rwx rwx——111 111 111——7 7 7
如:# chmod 777 /Flash/Back.txt
四、文件的默认属性
我们在创建文件后,为什么有默认权限?
创建的目录文件,起始权限是0777,包含x的
创建的普通文件,起始权限是0666,去点x的
但是我们观察上面文件的默认权限,发现dir的权限是775,test的权限是664,这是为什么呢?
这就需要我们引入一个新概念,Linux存在一个默认的权限掩码,输入umask查看:
Linux通过这个特殊的权限掩码对我们最终的权限作过滤,创作文件时,要从起始权限中过滤掉在umask中出现的权限,这个动作并非简单的减法,而是利用了按位与&。
我们如果想自己设置umask我们可以使用 umask [xxxx] 来设置:
现在我们再来进行文件和目录的创建,我新建了test3、test4、dir2,我们来看一下他们的默认权限
可以看出,他们的默认权限和我们之前说的一样,创建的目录文件,起始权限是0777,包含x的,创建的普通文件,起始权限是0666,去点x的。