(如果电脑就你一个人用的话,那就不用在意这些了。但是还是了解一点的好。。。。(你在说什么废话。。。。))
多人使用同一个操作系统进行一些开发的时候,给予其他非你本人的一些权限。
所有者:就好像你的手机,你自己使用的时候肯定没什么权限什么都可以,这就是所有者的概念。
群组:但是跟你关系好的人用的时候你其实还是有些比较私密的东西不希望别人看到的吧。这就是群组的概念。
其他人:其他人的话就更不用说了,陌生人或者不熟悉的人找你借手机用一下,肯定权限更小了是不是?照片神马的肯定不让看了。这就是其他人的概念。
怎么查看档案的属性呢~快看快看下面:
ls用来显示文件,那么具体到底怎么使用呢?不告诉你。。。。没有没有,看我下篇博客文件目录基本操作吧~(谢谢捧场)
接下来是不是迫不及待想知道这到底表示的啥了呢?let me tell you !!!
随便举个图片里面的例子吧。就音乐那个
d r w x r - x r - x 2 s-linux s-linux 4096 10月 21 05:10 音乐
↓ ↓ ↓ ↓ ↓ ↓ ↓
文件属性 连接数 所有者 群组 文件大小 最近修改时间 文件名
显然你可以看到文件属性有10个小属性。what are they?
文件类型 群组属性
↖ ↑ 3 4
d r w x r - x r - x →其他人属性
1 2 ↘ 所有者属性
1.代表这个文件是【目录/文件/连接文件等】:
【d】是目录,如示例。
【-】是文件。如第一行。
【l】表示为连结档(link file)
【b】表示为装置文件里面的可供储存的借口设备
【c】装置文件里面的串行端口设备,如键盘和鼠标
2.所有者属性
【r】可读(read)
【w】可写(write)
【x】可执行(excute)
【-】无该属性(rwx出现的对应位置是不变的,如果为-则无该位置的某属性)
3.群组属性 4..其他人属性
对应属性与2相同。
上面的例子可以解释为:1.该文件是个目录
2.所有者具有可读可写和可执行的权限
3.群组人员具有可读可执行无可写操作权限
4.其他人具有可读可执行无可写操作权限
chgrp 修改所属群组
【-R】:进行递归的持续变更,亦几连同次目录下的所有文件/目录都更新成为这个群组。常常用在变更某一目录的情况。
PS:要改变成为的群组名称必须要在 /etc/group 里面存在的名称才行,否则就会显示错误!
chown 修改所有者
【-R】:同上
PS:使用者必须是已经存在系统中的,也就是在 /etc/passwd 这个档案中有纪录的使用者名称才行改变。
【以上两个操作经常用在复制文件给别人的时候修改属性用到】
chmod 修改操作属性
方法一:数字法(推荐!!!)
不同操作对应的数字: r:4
w:2
x:1
同一组 (owner/group/others) 的三个属性 (r/w/x) 是需要累加的,例如当属性为 [-rwxrwx---] 则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
chmod 【R】 数字 文件名
神奇吧~ 看到l文件的属性已经变为770 还有作者刚刚使用ls与-l之间忘记空格了所以找不到这个命令,大家以后也要多注意一点~
再多练习一下如果我不想让其他的人访问群组里面也不行怎么办?如果我只想让别人看呢?
ans:700 744
ok应该大致都了解这个方法的便捷了吧。下面感受一下通过符号修改权限
方法二:符号法
chmod |
u g o a |
+(加入) -(减掉) =(设定) |
R w x |
文件或目录 |
---|
• user (u):具有可读、可写、可执行的权限
• group 与 others (g/o):具有可读与执行的权限
•all(a):所有者+群组+其他人
示例:
看到图片的名字被高亮出来了。这就是刚刚修改的文件,看看是不是每个都有了w的权限!!!
接下来使用u,g,o把权限改回去应该是什么呢?
是不是很简单呢?
下来给大家示例一个错误的命令:
是不是没达到我们想要修改的目的呢~所以要正确把我命令的格式这个是很重要的@_@
chmod u=rwx,g=rw,o=rw filename √
chmod u=rwx,g=r-w,o=r-w filename ×
Linux文件系统除了r,w和x之外还有s和t这两个特殊的,它们与系统帐号和系统的进程相关。
s标记可以出现在完呢见同游这的x权限位上,也可以出现在文件所属组的x权限位上。前者被称为SetUID(SUID),后者被称为Set GID(SGID)。
SUID权限拥有功能:
1.SUID仅对二进制程序有效;
2.执行者对于该程序具有x的可执行权限
3.执行权限仅在执行该程序的过程中有效;
4.执行者将具有该程序所有者的权限
这就是su命令能够切换用户权限的实现原理。
SGID(不常见)权限拥有功能:
1.SGID对二进制程序有效
2.执行者对于该程序具有x的可执行权限
3.执行者在执行的过程中将会获得该程序所属用户组的支持
当目录设置SGID之后将具有以下权限:
1.用户若对此目录拥有r与x的权限时,该用户能改进入此目录
2.该用户在此目录下的有效用户组将变成该目录的用户组
3.若了用户在此目录下具有w的权限,则该用户所创建的新文件的用户组与此目录的用户组相同。
//进入这类目录的用户就会发生有效用户组和实际用户组不一致的情况。
其他用户的x权限不是s而是t(Sticky BIt,简称SBIT)
仅对目录有效
作用:
1.用户若对此目录拥有w和x权限,即拥有写的权限。
2.当用户在此目录下创建了文件或目录,仅自己与root才有权利删除文件。
SUID:4 SGID:2 SBIT:1 放在权限数字的最开头
例:设置SUID:4755
u+s,u+t 与上面一样
总结: 文件权限分为:所有者,群组和其他人
文件属性有:r:可读
w:可写
x:可执行
s:可位于拥有者或者用户组x位置
t:可位于其他用户x位置(仅对目录有效)
修改属性方法:chgrp:修改群组 → 经常复制文件给其他人时用到
chown:修改所有者 ↗
chmod:修改操作属性 →数字法:r:4w:2x:1 符号法:u=user g=group o=other a=all
对文件权限的介绍和相关操作就是这些了~希望大家多多提建议多多互相交流哦