首页 > 代码库 > Linux文件权限

Linux文件权限

Permission deny 权限 拒绝
 
查看权限
ls -a
ls -la expression 查看文件夹里边东西的权限
 
  • 用户群的分类 组群:一个操作系统可能几个人同时用 方便小组的文件安全和共享
用户 组群(在一个组里边的) Others root
rws rws rws 天神
技术分享
 
使用者/root 的相关信息,都记录在 /etc/passwd
个人密码 则记录在 /etc/shadow 文件下
 
 
rwx 4r 2w 1x
 
 
  • 1.对于文件
 
1. Windows 里边看一个文件的 后缀 比如说.exe .bat 就是可执行文件
但是Linux里边 和文件的后缀没有直接关系, 只要是x 就可以执行
 
2. 还有一点 注意这个w 侧重对内容的修改 就好比 FileIn/OutputStream
一样它是无法删除文件
  • 2.对于目录
r ---可以查看里边的东西
w ----你可以任意挪动里边的文件了/删除也OK
所以对于 w 在 文件目录中 分别充当
IO File 的角色
x---能否成为 工作目录
 
工作目录 就是 当前终端所在的目录 。也就是说 这个目录下工作着终端。
 

技术分享

 
  • 连接数
  • 对于 文件 ,它的 权限 属性 都会 写在 文件系统i-node节点中
  • 对于目录 目录树里边塞的是 文件名 所以连接数 就是相关文件数(不是里边的文件数)

技术分享

 

 
 
时间 是最后修改时间
 
ls --full
 
 
查看ls帮助文档:
man ls
info ls
 
 
 
例1:
假设test1, test2, test3同属于testgroup这个群组,如果有下面的两个文件,请说明两个文件的拥有者与其相关的权限为何?
-rw-r--r-- 1 root root 238 Jun 18 17:22 test.txt
-rwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 ping_tsai
 
 
1. 属于root 那么除此之外所有人都是 Others 只能 read
2. test1 rwx都OK
test2/test3 rxOK 能读能执行
其他用户(不在 文件所属组群中的人) r 只读(包括root)
 
例2:
如果我的目录为底下的样式,请问testgroup这个群组的成员与其他人(others)是否可以进入本目录?
drwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 groups/
 
test1 rwx OK
testgroup组群里的人 那只能[r-x] 可以进这个目录 但是无法写入
其他用户 只有r 可以读这个目录下有什么 但是不能进去(x) 不能写入(w)
  • 小结
  • 对于目录 r ---可以 查看里边有什么
  • w -----相当于File对象 可以往里边创建文件/删除
  • x------可以 进去
 
 
  • 改变文件 属性和权限 当然要用 root用户
 
就这么3个命令 :
chgrp 改变grp 文件所属组群
chown 改变own 文件拥有者
chmod 改变权限

技术分享

技术分享
-R 底下所有文件都被 更改
 技术分享
用 . 分隔 用户名.组名 同时修改两个属性
 
但是如果你喜欢在账号中加入小数点,在这就会产生系统误判
 
知道如何改变文件的群组与拥有者了,那么什么时候要使用chown或chgrp呢?或许你会觉得奇怪吧? 是的,确实有时候需要变更文件的拥有者的,最常见的例子就是在复制文件给你之外的其他人时, 我们使用最简单的cp指令来说明好了:
[root@www ~]# cp 来源文件 目标文件
假设你今天要将.bashrc这个文件拷贝成为.bashrc_test档名,且是要给bin这个人,你可以这样做:
[root@www ~]# cp .bashrc .bashrc_test [root@www ~]# ls -al .bashrc* -rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc -rw-r--r-- 1 root root 395 Jul 13 11:31 .bashrc_test <==新文件的属性没变
由于复制行为(cp)会复制执行者的属性与权限,所以!怎么办?.bashrc_test还是属于root所拥有, 如此一来,即使你将文件拿给bin这个使用者了,那他仍然无法修改的(看属性/权限就知道了吧), 所以你就必须要将这个文件的拥有者与群组修改一下啰!知道如何修改了吧?
 
技术分享
 
技术分享

技术分享

这第三种方式用于小改动
 
 
很多人在架站的时候都卡在 一些权限设定上,比方说 他们要开放数据给用户浏览,
只开放 r 的权限,这就导致 网站服务器 无法进这个 目录查看 ,只能在这个文档外边查看(r),
所谓 远观而不能亵玩 。 [r-x]
 
但是要注意 r-x的权限 对user来说很重要 ,w权限就不能随便给了
 
 
例题:
假设有个账号名称为dmtsai,他的家目录在/home/dmtsai/,dmtsai对此目录具有[rwx]的权限。 若在此目录下有个名为the_root.data的文件,该文件的权限如下:
-rwx------ 1 root root 4365 Sep 19 23:20 the_root.data
请问dmtsai对此文件的权限为何?可否删除此文件?
 
答: dmtsai对这个文件属于 others ,对这个文件 不可读 不可更改内容 不可执行
 
看一个文件能否 删除 ,要观察 用户 有没有上一级的 w的权限 ,这里 dmtsai对 dmtsai/目录有rwx的权限,也就是说 能对这个目录下所有文件进行 w 删除 或者添加
 技术分享
回顾一下:
Linux的每个文件中,依据权限分为使用者、群组与其他人三种身份;
群组最有用的功能之一,就是当你在团队开发资源的时候,且每个账号都可以有多个群组的支持;
如果档名之前多一个『 . 』,则代表这个文件为『隐藏档』;
更改文件的群组支持可用chgrp,修改文件的拥有者可用chown,修改文件的权限可用chmod
chmod修改权限的方法有两种,分别是符号法与数字法,数字法中r,w,x分数为4,2,1;
符号法: ug=wx,o=r
还有一种小做修改的方法: a+w,u-r,o+x,g-w
 
对文件来讲,权限的效能为:
  • r:可读取此一文件的实际内容,如读取文本文件的文字内容等;
  • w:可以编辑、新增或者是修改该文件的内容(但不含删除该文件);
  • x:该文件具有可以被系统执行的权限。
对目录来说,权限的效能为:
  • r (read contents in directory)
  • w (modify contents of directory)
  • x (access directory)
要开放目录给任何人浏览时,应该至少也要给予r及x的权限,但w权限不可随便给;
 

Linux文件权限