Ubuntu下如何修改文件或者文件夹的权限------chmod的亲身测试

 
具体原理如下:

Linux系统下如何修改文档及文件夹(含子文件夹)权限,我们来看一下。              
一 介绍:
     可以使用命令chmod来为文件或目录赋予权限。Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取
二 详解
1 此命令有两种使用方法,一种是chmod后加数字,后接文件名
chmod abc file 
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 
r=4,w=2,x=1 
若要rwx属性则4+2+1=7; 
若要rw-属性则4+2=6; 
若要r-x属性则4+1=5。 
-------------------------例子-----------------------------------
chmod a=rwx file  
和 
chmod 777 file  
效果相同 
chmod ug=rwx,o=x file  
和 
chmod 771 file  
效果相同 
若用chmod 4755 filename可使此程序具有root的权限

----------------------------------------------------------------------------

2 另一种是chmod后边加字母,后接文件名

综上所述,当想用chmod命令来改变权限时,文件的用户身份主要有如下几类:

u:拥有文件的用户(所有者);

g:所有者所在的组群;

o:其他人(不是所有者或所有者的组群);

a:每个人或全部(u、g、和o)。

用户所具有的文件访问权限类型如下:

r:读取权;

w:写入权;

x:执行权。

文件权限配置行为有如下几类:

+:添加权限;

-:删除权限;

=:使它成为惟一权限。

------------------------------------------------------例子---------------------------------------------------

使用chmod命令可以改变权限。下面这个例子显示了如何使用chmod命令来改变readme.txt文件的权限。

假设下面是readme.txt文件的初始权限设置:

-rw-rw-r-- 1 winda winda 39 8月 11 12:04 readme.txt

如果是这个文件的所有者或者登录为根用户身份,则可以改变所有者、组群和其他人的权限。初始时,从上面的分析可以看出,这个readme.txt文件的所有者和组群可以读取和写入文件(rw-),组群之外的任何人只能读取文件(r--)。

文件权限是一种安全措施。无论何时允许其他人读取、写入或执行文件,都在增加文件被篡改或删除的危险。作为一种基本原则,应该只给那些真正需要这些文件的人以读写权限。

在下面的例子中,想给每个人以写入readme.txt文件的权限,因此他们可以读取文件,在其中加注,并保存文件。这意味着必须改变文件权限中的“其他人”部分。

此时需要在shell或终端提示下输入:

chmod o+w readme.txt

o+w命令参数告诉系统想给其他人写入文件readme.txt的权限。要查看结果,再次列出文件的细节。此时,这个文件的用户访问权限就如下所示了(在第3列中多了一个w):

-rw-rw-rw- 1 winda winda 39 3月 11 12:04 readme.txt

现在,每个人都可以读取和写入这个文件了。

要从readme.txt中删除组群和其他人的读写权限,使用chmod命令来取消读取和写入这两个的权限。

命令如下:

chmod go -rw readme.txt

通过输入go-rw参数告诉系统删除文件readme.txt中组群和其他人的读取和写入权限。再次通过 ls -1命令列出的结果如下:

-rw------- 1 winda winda 39 3月 11 12:04 readme.txt

从文件readme.txt中删除所有权限(包括每个人的权限)的命令如下:

chmod a -rwx readme.txt

现在,来看看是否还能够使用cat readme.txt命令来读取这个文件,它所返回的输出应如下所示:

cat: readme.txt: Permission denied

删除所有的权限,包括自己的,会成功地锁住这个文件。但是由于这个文件属于用户,可以随时使用以下命令把它的权限改回来。命令如下:

chmod u+rw readme.txt

使用命令cat readme.txt来试试作为文件所有者是否还能够读取该文件。

这里是几个可以用在chmod命令设置上的常用例子:

g+w:为组群添加写入权;

o-rwx:删除其他人的所有权限;

u+x:允许文件所有者执行这个文件;

a+rw:允许每个人读取并写入文件;

ug+r:允许所有者和组群读取文件;

g=rx:只允许组群读取和执行(不能写入)。

最后,介绍一下恢复组群的权限的方法。命令如下:

chmod ug+x tigger

现在,如果用ls -dl命令检查一下,会发现只有其他人(others)被拒绝了到目录tigger的访问权。

==================================   华丽的分隔线  ===============================================
Ubuntu 更改文件夹及子文件夹权限
打开终端进入你需要修改的目录
    然后执行下面这条命令
    chmod    777    *      -R
    全部子目录及文件权限改为 777
查看linux文件的权限:ls -l 文件名称
查看linux文件夹的权限:ls -ld 文件夹名称(所在目录)
修改文件及文件夹权限:
sudo chmod -(代表类型)×××(所有者)×××(组用户)×××(其他用户)
常用修改权限的命令:(首先要进入所在文件夹)
sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

Ubuntu下如何修改文件或者文件夹的权限的更多相关文章

  1. Ubuntu 下生成 python 环境安装文件 requirements.txt

    参考: 查找python项目依赖并生成requirements.txt Ubuntu 下生成 python 环境安装文件 requirements.txt 首先通过 pip 安装pyreqs模块: p ...

  2. Ubuntu下执行mysql的sql文件

    Ubuntu下执行mysql的.sql文件   方法一: 1.执行此命令,会提示输入mysql的root账户的密码,验证成功后,会在dbname这个数据库中执行filename.sql这个脚本,其中f ...

  3. Ubuntu下使用gcc编译c文件,未识别cos,sin

    Ubuntu下使用gcc编译c文件,虽然我调用了math.h的头文件,但是未识别cos,sin 报错:( fft.c ) /tmp/ccwXjD8C.o: In function `fft': fft ...

  4. Ubuntu下解决解压zip文件中文文件名乱码问题

    在Ubuntu下解压Windows下压缩的zip文件时,会出现解压出的带中文文件名的文件名乱码,这是因为Ubuntu和Windows默认的编码不同,Ubuntu下默认的编码是UTF-8,而Window ...

  5. Ubuntu 下误修改用户组导致sudo命令无效

    1.手贱地修改了当前用户的权限组,导致sudo命令无法使用,且root用户的密码尚未修改,登陆不了root用户. 2.切换到recoverymode ,使用root用户登陆 3.执行mount -o ...

  6. 在Ubuntu下永久修改主机名

    一. deb/ubuntu上永久修改 : 查看主机名: 修改主机名: 重启后生效 ---------------------------------------------------------- ...

  7. Ubuntu下解决bash 没有那个文件或目录的方法

    因为之前电脑硬盘坏掉,维修换了新硬盘,今天重新安装了ubuntu,装好之后就赶紧搭建工作环境,将备份的资料拷贝进来,搭建交叉编译环境,但是发现,修改bashrc中PATH绝对路径指向交叉编译器后,在命 ...

  8. ubuntu下统计目录及其子目录文件个数

    查看某目录下文件的个数 ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 查看某目录下文件的个数,包括子目录里的. l ...

  9. ubuntu下 apt-get install 下载的文件存放的目录

    apt-get把下载的deb包全部放在/var/cache/apt/archives下面,该目录下的文件可以删除.当然用 sudo apt-get clean 命令也可以,这个命令只会删除缓存起来的d ...

随机推荐

  1. [转]使用jquery-webcam插件,实现人脸采集并转base64

    项目需求:在ie或chrome浏览器下,调用电脑摄像头(确保使用的是笔记本电脑,或者摄像头功能正常使用的台式机),进行人脸图像采集预览,并将图片的base64码传入到后台进行后续操作.该demo适用于 ...

  2. Delphi记录record中的变体

    program Day4; {$APPTYPE CONSOLE} uses SysUtils, Util in 'Util.pas'; type TPerson = packed record ID ...

  3. action(一)

    //CCAnimation是封装动画功能的类,它可以看作是由若干个_CCSpriteFrame对象组成的序列,精灵按照顺序切换它们,就形成了动画.CCAnimation也有内存池,    //此处的a ...

  4. Spring--初始化IOC容器的几种方式

    初始化beanfactory主要有以下的三种方式:    1.filesystemXml Resource resource = new FileSystemResource("beans. ...

  5. Bootstrap学习笔记(6)--导航居中

    说明:没找到好办法 <div class="row"> <ul class="nav nav-pills col-md-offset-4"&g ...

  6. 使用导出导入(datapump)方式将普通表切换为分区表

    随着数据库数据量的不断增长,有些表须要由普通的堆表转换为分区表的模式. 有几种不同的方法来对此进行操作,诸如导出表数据,然后创建分区表再导入数据到分区表:使用EXCHANGE PARTITION方式来 ...

  7. 浅析 Hadoop 中的数据倾斜

    转自:http://my.oschina.net/leejun2005/blog/100922 最近几次被问到关于数据倾斜的问题,这里找了些资料也结合一些自己的理解. 在并行计算中我们总希望分配的每一 ...

  8. ubuntu 按键替换 Control_R to Left

    ubuntu 按键替换 Control_R to Left 1 查看当前键盘布局 $xmodmap -pke keycode 105 = Control_R NoSymbol Control_Rkey ...

  9. iframe超时处理。。。。

    function iframeTimeOut(url, timeOut_callback, width, height) { /// <summary> /// iframe超时处理 // ...

  10. C#引用传递[转]

    学过C#的人都知道,通过值或通过引用,值类型和引用类型都可以作为方法参数传递.在C#中,不管是值类型或者是引用类型,所有方法参数在默认情况下是通过值传递的. 1)通过值传递值类型 在通过值传递作为方法 ...