菜鸟学Linux - 设置文件/文件夹的权限
在Linux中,我们可以对文件或文件夹设置权限(r,w,x,-)。然而,对文件和文件夹的权限设置,具有不同的意义。下面,通过几个例子来了解一下权限的意义所在。在开始之前,我们需要了解几个修改权限的命令:
备注:在测试环境中,通过两组用户名/用户组来演示。这两组分别为:root/root,Jonathan/Jonathan。此外,下面的例子都是连续的,也就是当前的例子是基于前面的例子。
chgrp - change group,用于修改文件/文件夹的用户组。
现在,/home/Jonathan/JonathanTestFolder下面有一个JonathanFile.txt,先来看一下这个文件的属性,通过ls -l列出:

下面,通过chgrp,将用户组改成root,即:chgrp root JonathanFile.txt

chown - change ownership,使用该命令改变文件/文件夹的owner。其实,也可以通过该命令实现chgrp的功能,下面就通过几个例子来说明:
更改JonathanFile.txt的owner为root:chown root JonathanFile.txt

更改JonathanFile.txt的owner/group为Jonathan/Jonathan:chown Jonathan:Jonathan JonathanFile.txt

更改JonathanFile.txt的group为root:chown :root JonathanFile.txt [其实,这里的冒号(:)也是可以用点(.)代替的,但是我们起用户名的时候,可能也用到来点,所以还是统一用冒号吧]

chmod - change mode,使用该命令改变对文件/文件夹的权限(即rwx-)。改变权限,可以通过下面几种方式:
1. rwx-对应了不同的数值,即r = 4,w = 2,x = 1,- = 0。所以,rwx = 4 + 2 +1 = 7,rw- = 4 + 2 + 0 = 6。那么,表示权限的字符串就可以用相应的数字组合表示。举个例子,现在JonathanFile.txt的权限为:-rw-rw-r--,那么用数值表示就是:-664。现在,我们通过这个命令,改变这个对这个文件的权限为:-rwxrwx---。那么,我们可以执行: chmod 770 JonathanFile.txt (在命令中,第一个字符,也就是表示文件类型的字符不用包括进去)

2. 我们也可以直接用rwx来设置权限。使用这种方式,需要显示制定用户/用户组的权限。在命令中通过ugoa来表示用户/用户组。u代表文件所属着,也就是owner。以此类推:g表示用户组,o表示others。a表示all,所有。上个例子中,我们已经把权限改成了rwx rwx ---,现在我们希望owner的权限依然为rwx,但是用户组权限改为r--,others的权限改为r--,那么我们可以执行:chmod u=rwx,go=r-- JonathanFile.txt

3. 如果我们并不关心当前的权限怎样,我们只是希望所有用户(all)都有x的权限,那么我们可以执行:chmod a+x JonathanFile.txt (+表示增加某种权限,相应的,-表示去除某种权限)

到目前为止,相信我们对chgrp/chown/chmod都有一定的了解了。其实还有很多选项可以和这几个命令组合使用,使用的过程中,就多man吧。那,权限对于文件/文件夹的意义到底是什么呢?
权限对于文件的意义:对于文件而言,权限决定了某个用户可以对一个文件内容可以操纵的程度:对文件可读、可写还是可执行。需要值得注意的是,在Linux中,文件是否可执行并不是通过文件的扩展名控制的,而是看是否具有x权限。我们可能会遇到在网上下载的文件不可执行,那么这种情况可以先检查一下对这个文件是否有x权限。/
权限对于文件夹的意义:其实文件价可以看成一个列表,这个列表里包括来文件价下面的所有文件/文件夹。对于文件夹,r和w都好理解,那么x呢?x代表什么?直接来几个例子吧:
1. 我们修改一下JonathanTestFolder的权限,使得用户Jonathan仅仅具有rw权限,但没有x。那么,ls的时候,我们仅能知道该目录下面有那么一个文件,但详细信息都看不到的。

2. 接着上一个例子,没有x,只有rw,我无法查看该文件夹下面的文件的详细信息,那么我能在这个文件夹下面创建新文件么。答案是否定的,因为我没办法进入到这个文件夹里,就因为没有x

通过以上例子,可以得出x对于文件夹,很重要。即使有rw却没有x,我们也没办法访问文件夹下面的文件。
那么,是不是意味着对文件夹的x权限,都应该给呢?当然不是,当对文件夹有w和x的权限时,我们可以删除文件夹下面的任意文件,即使我们本身对下面的文件没有任何权限。下面来看一个例子:
1. 我们修改一下Jonathan对JonathanTestFolder的权限,使之为rwx

2. 使用root账户在JonathanTestFolder下面建立一个文件rootfile.txt,同时设置权限,使得Jonathan对这个文件没任何权限

3. 使用Jonathan账户,删除rootfile.txt成功!

所以,设置权限,一定要慎重哦!(本文完)
菜鸟学Linux - 设置文件/文件夹的权限的更多相关文章
- 菜鸟学Linux - 文件/文件夹的隐藏属性
文件/文件夹居然还有隐藏属性?没错,隐藏属性对于文件/文件夹的安全很重要.好比如说,我们需要使用”鉴定符“来揭开装备的隐藏属性:在Linux中chattr/lsattr就是“鉴定符”. chattr基 ...
- 菜鸟学Linux命令:chmod命令和数字文件权限
chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数.只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权限 ...
- 菜鸟学Linux命令:cat命令 查看文件内容
cat命令的用途是连接文件或标准输入并打印. 这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. Linux下查看文件内容的方式很多:vi ...
- 菜鸟学Linux命令:grep配合ls等使用
linux grep命令 (global search regular expression(RE) and print out the line )是一种强大的文本搜索工具,它能使用正则表达式搜索文 ...
- 菜鸟学Linux - Linux文件属性
在Linux中,文件的属性是一个很重要的概念,用户或者用户组对一个文件所拥有的权限,都可以从文件的属性得知. 我们可以通过ls -al命令,列出某个文件夹下面的所有文件(包括以.开头的隐藏文件).下面 ...
- Linux设置普通用户无密码sudo权限
配置普通用户无密码sudo权限: root用户进入到Linux系统的/etc目录下 cd /etc 将sudoers文件赋予写的权限 chmod u+w /etc/sudoers 编辑sudoers文 ...
- 【菜鸟学Linux】Cron Job定期删除Log(日志)文件
以前一直做Windows开发,近期的项目中要求使用Linux.作为小菜鸟一枚,赶紧买了一本经典书<鸟哥的Linux私房菜>学习.最近刚好有一个小任务 - 由于产品产生的Log很多,而且增长 ...
- 菜鸟学Linux命令:find命令 查找文件
find命令是Linux下最常用的命令之一,灵活的使用find命令,你会发现查找文件变得十分简单. 命令格式 find [指定查找目录] [查找规则(选项)] [查找完后执行的动作] 参数规则 - ...
- 菜鸟学Linux命令:lsof命令 查找指定用户、进程、端口打开的文件
lsof,list open files, 是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件. 命令格式:ls ...
随机推荐
- WebApi 实例
REST是设计风格而不是标准. webapi有自己的路由. webservice和wcf的协议都是soap协议,数据的序列化和反序列化都是soap的格式.而webapi是Json的数据传递 webap ...
- TCP的连接和释放过程
TCP的连接和释放过程 1.三次握手的过程 1)主机A向主机B发送TCP连接请求数据包,其中包含主机A的初始序列号seq(A)=x.(其中报文中同步标志位SYN=1,ACK=0,表示这是一个TCP连接 ...
- 2016多校训练3_1007(hdu5758 Explorer Bo)
#include <functional> #include <algorithm> #include <iostream> #include <iterat ...
- JS中关于clientWidth offsetWidth scrollWidth 等的区别
网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offset ...
- SpringBoot JUnit4的断言和注解
Junit4的断言常用方法: assertArrayEquals( new Object[]{ studentService.likeName("小明2").size() > ...
- pat甲级1123
1123 Is It a Complete AVL Tree(30 分) An AVL tree is a self-balancing binary search tree. In an AVL t ...
- linux 命令——38 cal (转)
cal命令可以用来显示公历(阳历)日历.公历是现在国际通用的历法,又称格列历,通称阳历.“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”. 1.命令格式: cal ...
- 写在Github被微软收购之际 - Github的那些另类用法
这几天朋友圈被微软75亿美元收购Github的新闻刷屏了.Jerry也来贡献一篇和Github相关的文章. 这篇文章包含了Jerry平时对于Github的一些另类用法.目录如下: 1. 部署HTML应 ...
- 详解Unity 4.6新UI的布局
本文所讲的是Unity 4.6中新加入的uGUI,官方称Unity UI,而不是过去的OnGUI式的旧UI(官方称Legacy GUI). 我曾经在8月份对照4.6 Beta的文档写过一篇笔记学习Un ...
- hdu-1068&&POJ1466 Girls and Boys---最大独立集
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1068 题目大意: 有n个人,一些人认识另外一些人,选取一个集合,使得集合里的每个人都互相不认识,求该 ...