在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 - 设置文件/文件夹的权限的更多相关文章

  1. 菜鸟学Linux - 文件/文件夹的隐藏属性

    文件/文件夹居然还有隐藏属性?没错,隐藏属性对于文件/文件夹的安全很重要.好比如说,我们需要使用”鉴定符“来揭开装备的隐藏属性:在Linux中chattr/lsattr就是“鉴定符”. chattr基 ...

  2. 菜鸟学Linux命令:chmod命令和数字文件权限

    chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数.只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权限 ...

  3. 菜鸟学Linux命令:cat命令 查看文件内容

    cat命令的用途是连接文件或标准输入并打印. 这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. Linux下查看文件内容的方式很多:vi ...

  4. 菜鸟学Linux命令:grep配合ls等使用

    linux grep命令 (global search regular expression(RE) and print out the line )是一种强大的文本搜索工具,它能使用正则表达式搜索文 ...

  5. 菜鸟学Linux - Linux文件属性

    在Linux中,文件的属性是一个很重要的概念,用户或者用户组对一个文件所拥有的权限,都可以从文件的属性得知. 我们可以通过ls -al命令,列出某个文件夹下面的所有文件(包括以.开头的隐藏文件).下面 ...

  6. Linux设置普通用户无密码sudo权限

    配置普通用户无密码sudo权限: root用户进入到Linux系统的/etc目录下 cd /etc 将sudoers文件赋予写的权限 chmod u+w /etc/sudoers 编辑sudoers文 ...

  7. 【菜鸟学Linux】Cron Job定期删除Log(日志)文件

    以前一直做Windows开发,近期的项目中要求使用Linux.作为小菜鸟一枚,赶紧买了一本经典书<鸟哥的Linux私房菜>学习.最近刚好有一个小任务 - 由于产品产生的Log很多,而且增长 ...

  8. 菜鸟学Linux命令:find命令 查找文件

    find命令是Linux下最常用的命令之一,灵活的使用find命令,你会发现查找文件变得十分简单. 命令格式 find [指定查找目录]  [查找规则(选项)]  [查找完后执行的动作] 参数规则 - ...

  9. 菜鸟学Linux命令:lsof命令 查找指定用户、进程、端口打开的文件

    lsof,list open files, 是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件. 命令格式:ls ...

随机推荐

  1. 操作文件方法简单总结(File,Directory,StreamReader,StreamWrite )(转载)

    本文转自http://www.cnblogs.com/zery/p/3315889.html 对于文件夹,文档的操作一直处于一知半解状态,有时间闲下来了,好好练习了一把,对文档,文件的操作有了一个基本 ...

  2. python_2开发简单爬虫

    2017年12月03日 16:43:01 独行侠的守望 阅读数:204 标签: python爬虫 更多个人分类: Python编辑版权声明:本文为博主原创文章,转载请注明文章链接. https://b ...

  3. eclipse加上电脑全黑主题的设置(win10)

    eclipse加上电脑全黑主题的设置(win10) 前几天在找设置win10的边框颜色时,发现的这个高对比的功能,现在已经用了好几天了,自己感觉是真的好用,所有才分享出来,相比所谓网上的豆沙绿,果然感 ...

  4. SpringBoot的启动报错

    1.

  5. 在vim中插入命令行的输出结果

    vim是linux中常见的编辑器,这里讲讲如何在vim中插入命令行的输出结果. 基本用法: 在指令模式下运行 :!command ,如!date将日期显示在vim底部,!ls列出当前目录 将命令结果插 ...

  6. linux 命令——25 linux文件属性详解

    Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loca ...

  7. 《Ruby on Rails教程》学习笔记

    本文是我在阅读 Ruby on Rails 教程的简体中文版时所做的摘录,以及学习时寻找的补充知识.补充知识主要来自于 Ruby on Rails 實戰聖經. Asset Pipeline 在最新版 ...

  8. IOS UIActionSheet(底部 弹出框的使用)

    UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"确定要注销?" delegate:self cancel ...

  9. codeforces 600A Extract Numbers

    模拟题,意思是一个字符串,单词直接用','或';'来分割,可以为空,把不含前导0的整数和其他单词分别放入A和B.按照一定格式输出. 没有用stl的习惯.维护两个下标i,j,表示开区间(i,j),两段补 ...

  10. 【BZOJ2242】[SDOI2011] 计算器(数学模板三合一)

    点此看题面 大致题意: 让你完成三种操作:求\(Y^Z\%P\)的值,求满足\(XY\equiv Z(mod\ P)\)的最小非负整数\(X\),求满足\(Y^X\equiv Z(mod\ P)\)的 ...