菜鸟学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成功!

所以,设置权限,一定要慎重哦!(本文完)

时间: 2025-01-04 23:04:02

菜鸟学Linux - 设置文件/文件夹的权限的相关文章

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

文件/文件夹居然还有隐藏属性?没错,隐藏属性对于文件/文件夹的安全很重要.好比如说,我们需要使用”鉴定符“来揭开装备的隐藏属性:在Linux中chattr/lsattr就是“鉴定符”. chattr基本格式为:chattr +-=[acdeijstuADST] .+表示增加某种隐藏属性:-表示取出某种隐藏属性:=表示直接设置隐藏属性.man chattr可知: The letters ‘acdeijstuADST’ select the new attributes for the files:

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

以前一直做Windows开发,近期的项目中要求使用Linux.作为小菜鸟一枚,赶紧买了一本经典书<鸟哥的Linux私房菜>学习.最近刚好有一个小任务 - 由于产品产生的Log很多,而且增长很快,所以需要用脚本(Bash scripts)删除过期的Log文件. 使用Linux下的Cron Job可以很好的解决这个问题. 什么是Cron Job? 建立Cron Job需要用到命令crontab,维基百科定义:crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.

菜鸟学Linux - Hard Link与Symbolic Link

在学习Hard Link与Symbolic Link之前,需要大概了解一下inode与data block.在Linux的文件系统中,一个文件对应一个inode与若干个data block.inode与data block都通过编号来标识,例如第30333个inode,第20334个data block.inode中记录着文件的属性,如文件的所有者.所属用户组.对文件的权限以及指向data block的指针.文件的真正内容是存放在data block中的.一个文件的内容,被分割成若干部分保存在不

【菜鸟学Linux】gzip解压报错:gzip: stdin has more than one entry--rest ignored

lz Linux菜鸟一枚,今天想用gzip解压下压缩包,据说Linux默认不支持rar压缩,需要安装组件. so,lz我特意zip压缩了一个文件上传上去解压,记得之前测试的时候都ok的正常解压:tar -zxvf  XXX.zip 不知道今天啥情况..难道是我之前重新搭建过环境的原因,用tar就报错.. 然后lz我多方查证,终于解决了问题,特来分享,不喜勿喷! 解决方法:改用unzip解压:unzip XXX.zip 报错原因:ar命令也是调用了gunzip命令的 [菜鸟学Linux]gzip解

菜鸟学linux之五Linux文件与目录管理第二节

环境变量PATH 在环境变量之前先介绍一个命令 which, 它用来查找某个命令的绝对路径. [[email protected] ~]# which rmdir /bin/rmdir [[email protected] ~]# which rm alias rm='rm -i' /bin/rm [[email protected] ~]# which ls alias ls='ls --color=auto' /bin/ls 'rm' 和 'ls' 是两个特殊的命令,使用alias 命令做了

跟鸟哥学Linux之——对文件与目录操作命令汇总

在Linux中对文件和目录的操作是一个最基本的技能,就如同我们在Windows下对翻看目录和对文件的一些基本使用方法一样的重要,如果说不会对目录和文件操作那么还谈何其他的操作呢.当然Linux中的图形化界面也是很容易操作,但是在文字化处理界面就需要使用到很多命令,下边是我对这些操作的一个汇总和整合,同时列出了一些基本常用的操作命令,当然本人列出的命令是不全面的,有其他的需要还需要请教巨人了,请看下图. 在该图中我分了四部分,分别是1.巨人.2.对文件的操作命令.3.对目录的操作命令.4.同时可以

RHEL6基础四十九之RHEL文件(夹)权限进阶篇

ACL权限管理 ACL(Access Control List,访问控制列表)主要是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一用户.单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助. 例①:目录 /home/acl 的权限为:drwxr-x---,所有者与所属组均为 root,在不改变所有者的前提下,只要求other组的用户justin 对该目录有完全访问权限 (rwx)(justi

菜鸟学Linux - bash的配置文件

bash是各大Linux发行版都支持的shell.当我们登陆bash的时候,虽然我们什么都没做,但是我们已经可以在bash中调用各种各样的环境变量了.这是因为,系统中已经定义了一系列的配置文件,以及加载这些配置文件的规则.下面通过CentOS举例说明.在这之前,我们需要了解两个概念:login shell与non-login shell.很明显,这二者的区别在于需不需要login,同时这两种shell加载配置文件的规则也不相同. login shell:通俗的讲,当我们登陆shell时,需要输入

菜鸟学Linux - 用户与用户组基础

/etc/passwd: 用户的信息是保存在/etc/passwd下面(早期的时候,用户的密码也是放在该文件中.后来出于安全考虑,将密码放在/etc/shadow中去): /etc/group: 用户组的信息是保存在/etc/group下面: /etc/shadow: 密码信息是保存在/etc/shadow下面: 通过‘:’,将/etc/shadow的内容分层以下内容(从左至右) 帐号名称 密码 最近修改密码的日期(从1970-1-1开始算起,单位是天) 从上一次修改日期算起,密码不可更改的天数