---··[转]

hmod命令:改变文件权限。

   
   
一:符号模式:
    命令格式:chmod
[who] operator [permission] filename

who包含的选项及其含义:
   
    u
文件属主权限。
   
    g
属组用户权限。
   
    o
其他用户权限。
   
    a
所有用户(文件属主、属组用户及其他用户)。

operator包含的选项及其含义:
   
    +
增加权限。
   
    -
取消权限。
   
    =
设定权限。
   
   
permission包含的选项及其含义:
   
    r 读权限。
   
    w 写权限。
   
    x
执行权限。
   
    s
文件属主和组set-ID。
   
    t
粘性位*。
   
    l
给文件加锁,使其他用户无法访问。
   
    u,g,o
针对文件属主、属组用户及其他用户的操作。
   
   
filename为想要操作的文件的文件名。

*在列文件或目录时,有时会遇到“
t”位。“t”代表了粘性位。如果在一个目录上出现“t”位,这就意味着该目录中的文件只有其属主才可以删除,即使某个属组用户具有和属主同等的权限。不过有的系统在这一规则上并不十分严格。如果在文件列表时看到“
t”,那么这就意味着该脚本或程序在执行时会被放在交换区(虚存)。

关于“t”权限的进一步解释
[quote]原帖由 "风流涕淌" 发表:
1,t
权限是粘着位,例:TMP目录下,任何人都有读写执行权限,但是不是任何人对里边的可写权限的文件就可以删除呢,当然不是了,这个就是粘着位的做用,只有所有者才有权删除自已的文件,当然,ROOT除外

2,关于文件安全的另一种权限,i权限 也就是不可修改权限  例:chattr u+i aaa
则aaa文件就不可修改,无论任何人,如果删除就用u-i就好了
a权限 也就是只追加权限,
对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。方法和i权限一样加
如果想要看某个文件是不是有这个权限,用lsattr filename就行了

改变权限的例子(temp为一文件):
   
    chmod a-x
temp //rw- rw- rw- 收回所有用户的执行权限
   
    chmod og-w
temp //rw- r-- r- - 收回属组用户和其他用户的写权限
   
    chmod g+w
temp //rw- rw- r- - 赋予属组用户写权限
   
    chmod u+x
temp //rwx rw- r- - 赋予文件属主执行权限
   
    chmod go+x
temp //rwx rwx r- x 赋予属组用户和其他用户执行权限

二:绝对模式:
    命令格式:chmod
[mode] file
   
其中mode为一个8进制数,每一个权限由一个8进制数表示。
   
例如:    0 4 0 0
文件属主可读
   
    0 2 0 0
文件属主可写
   
    0 1 0 0
文件属主可执行

0 0 4 0
属组用户可读
   
    0 0 2 0
属组用户可写
   
    0 0 1 0
属组用户可执行

0 0 0 4
其他用户可读
   
    0 0 0 2
其他用户可写
   
    0 0 0 1
其他用户可执行

在设定权限的时候,只需按照上面查出与文件属主、属组用户和其他用户所具有的权限相对应的数字,并把它们加起来,就是相应的权限表示。

例如,temp文件的符号模式权限查出为:
    -rwxr--r-- 1
wjr root 0 2008-09-21 16:40 temp
   
最前面的“-”表示文件为一般文件.
    
则,相应的绝对模式权限换算过程为:
    rwx:0400 +
0200 +0100 (文件属主可读、写、执行) = 0 7 0 0
    r--:0 0 4 0
(属组用户可读) = 0 0 4 0
    r--:0 0 4 0
(属组用户可读) = 0 0 4 0
    0 7 4
4
   
也可以这样算:
   
对应的8进制值如下,有相应权限则加上该值,没有则记零,
    文件属主:r w x:4
+ 2 + 1
    属组用户:r w x:4
+ 2 + 1
    其他用户:r w x:4
+ 2 + 1   
   
temp文件的权限为:
    r w
x    
r - - r - -
   
4+2+1    
4    
4
   
把相应的权限加在一起,就是744
   
   
可以看出,文件属主、属组用户和其他用户分别所能够具有的最大权限值就是7。
   
改变权限的命令如:
    $chmod 744
temp
    $ls -l
temp 
    结果:
    -rwxr--r-- 1
wjr root 0 2008-09-21 16:40 temp
   
命令:   
    $chmod 766
temp
    $ls -l
temp
    结果:
    -rwxrw-rw- 1
wjr root 0 2008-09-21 16:40 temp

还可以通过使用 -R
选项连同子目录下的文件一起设置:
    $chmod -R
664
/temp/*   
    这样就可以一次将/
temp目录下的所有文件连同各个子目录下的文件的权限全部设置为文件属主和属组用户可读和写,其他用户只读。使用-
R选项一定要谨慎,只有在需要改变目录树下全部文件权限时才可以使用。

chmod命令-权限的更多相关文章

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

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

  2. Linux chmod命令修改文件与文件夹权限的命令附实例

    Linux chmod命令修改文件与文件夹权限的命令附实例 作者:佚名 字体:[增加 减小] 来源:互联网 时间:05-01 20:46:07我要评论 在linux中要修改一个文件夹或文件的权限我们需 ...

  3. Linux chmod命令修改文件与文件夹权限命令代码

    在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读.写.运行设定权限. 以下转自:http://www.codeceo.com/article/linux-chmod-co ...

  4. linux shell 脚本攻略学习12--文件权限详解,chmod命令详解,chown命令详解,chattr命令详解

    文件权限详解 一.chmod命令详解 文件权限和所有权是Unix/Linux文件系统最显著的特征之一.linux中的每一个文件都与多种权限类型相关联,在这些权限中主要分类为3种: 用户(User)是文 ...

  5. 每天一个linux命令(权限):【转载】chmod命令

    chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的每 ...

  6. Ubuntu chmod 命令可以用来修改文件或文件夹的读写权限

    chmod 命令有两种使用方式 —————————————————————————— (1)chmod [ u / g / o / a ] [ + / - / = ] [ r / w / x ] fi ...

  7. Ubuntu上使用过的命令,Linux常用命令,mount 硬盘挂载, ls 列表list命令,cp 复制copy命令,mkdir 创建文件夹 ,nano 编辑器,cat 文档合并,chmod 文件权限,ssh win10连接ubuntu服务器的步骤

    man 帮助 > man ls # ubuntu的帮助 tar.gz 压缩解压 > tar -zcvf yzn.tar.gz /home/yzn # 压缩 > tar -zxvf y ...

  8. chmod命令用法详解-chmod修改目录权限

    chmod用法: 用来修改某个目录或文件的访问权限.  语法: chmod [-cfvR] [--help] [--version] [who] [+ | - | =] [mode] 文件名 例子: ...

  9. linux中文件权限格式与chmod命令以及用户和用户组的管理

    简单了解一下linux中的文件权限格式与chmod命令 chmod命令:改变文件或者目录的权限 格式:chmod [参数] [<权限范围><符号><权限代码>] - ...

随机推荐

  1. [Shell]Shell调用并获取执行jar包后的返回值

    ----------------------------------------------------------------- 原创博文,如需转载请注明出处! 博主:疲惫的豆豆 链接:http:/ ...

  2. 一个前端开发者换电脑的过程(IDE篇)

    一台全新的电脑,需要做出怎样的改变,才可以摇身一变成为前端开发者能用的电脑呢.首先,我们需要安装一个编辑器,这里我们选择目前最火的vscode. 先去到它的官网,把对应版本的vscode下载下来. 然 ...

  3. MySql数据库安装

    MySql数据库安装 一丶数据库 什么是数据库 数据库简单连接就是存储数据的容器. 而库则是一组容器合成的东西. 也就是存储数据的.我们编程中常常会用到数据库. 什么是数据管理系统 数据库管理系统就是 ...

  4. centos安装Nginx1.9.9

    今天在安装centos的时候,又出现了yum报错的情况,弄了半个小时就弄好,就直接放弃了,使用了VMware快照功能.(快照功能要经常使用,我使用的频率不高,所以这次又造成了以前安装好的很多模块又得重 ...

  5. MySQL 索引与查询优化

    本文介绍一些优化 MySQL 索引设计和查询的建议.在进行优化工作前,请务必了解MySQL EXPLAIN命令: 查看执行计划 索引 索引在逻辑上是指从索引列(关键字)到数据的映射,通过索引可以快速的 ...

  6. 第1章 Linux文件类基础命令

    1. 关于路径和通配符 Linux中分绝对路径和相对路径,绝对路径一定是从/开始写的,相对路径不从根开始写,还可能使用路径符号. 路径展开符号: . :(一个点)表示当前目录 .. :(两个点)表示上 ...

  7. Linux中文件MD5校验

    md5sum命令用于生成文件的md5数字摘要,并可以验证文件内容是否发生了改变,间接地还可以检验两个文件内容是否完全相同.因为md5sum是读取文件内容来计算校验码的,因此只能验证文件内容,而无法验证 ...

  8. 【golang-GUI开发】项目的编译

    在上一篇文章里,我们讲到了安装therecipe/qt(https://www.cnblogs.com/apocelipes/p/9296754.html),现在我们来讲讲如何编译使用了thereci ...

  9. Haskell复习笔记(一)

    Haskell笔记这是第三次总结,前两次都因为各种原因丢失了,对于Haskell我算不上什么大神,只不过在大学时为了学习算法时选择了Haskell. 当时的入门书籍选择的是<Learn You ...

  10. 数据分析面试题之Pandas中的groupby

      昨天晚上,笔者有幸参加了一场面试,有一个环节就是现场编程!题目如下:   示例数据如下,求每名学生(ID)对应的成绩(score)最高的那门科目(class)与ID,用Python实现: 这个题目 ...