zoukankan      html  css  js  c++  java
  • 【改变文件属性与权限】

    · chgrp :改变档案所属群组
    · chown :改变档案拥有者
    · chmod :改变档案的权限, SUID, SGID, SBIT等等的特性
     
    · 改变所属群组:chgrp
    请记得,要被改变的组名必须要在/etc/group档案内存在才行,否则就会显示错误!假设你是以root的身份登入Linux系统的,那么在你的家目录内有一个install.log的档案,假设你已经知道在/etc/group里面已经存在一个名为users的群组, 但是testing这个群组名字就不存在/etc/group当中了,此时改变群组成为users与testing看看会有什么现象发生:
    · 改变档案拥有者, chown
    要注意的是, 用户必须是已经存在系统中的账号,也就是在/etc/passwd 这个档案中有纪录的用户名称才能改变。
    chown还可以顺便直接修改群组的名称!此外,如果要连目录下的所有次目录或档案同时更改档案拥有者的话,直接加上 -R 的选项即可
    · 改变权限, chmod
    权限的设定方法有两种, 分别可以使用数字或者是符号来进行权限的变更
    1:数字类型改变档案权限
    Linux档案的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限,先复习一下刚刚上面提到的数据:档案的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
    r:4 w:2 x:1 每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的。
    例如当权限为: [-rwxrwx---] 分数则是: owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others= --- = 0+0+0 = 0
    所以我们设定权限的变更时,该档案的权限数字就是770啦!
    变更权限的指令chmod的语法是这样的:
    举例来说,如果要将.bashrc这个档案所有的权限都设定启用,那么就下达:
    那如果要将权限变成『 -rwxr-xr-- 』呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754 啰!
    所以你需要下达『 chmod 754 filename』。 另外,在实际的系统运作中最常发生的一个问题就是,常常我们以vim编辑一个shell的文字批处理文件后,他的权限通常是 -rw-rw-r-- 也就是664, 如果要将该档案变成可执行文件,并且不要让其他人修改此档案的话, 那么就需要-rwxr-xr-x这样的权限,此时就得要下达:『 chmod 755 test.sh 』的指令啰!
    另外,如果有些档案你不希望被其他人看到,那么应该将档案的权限设定为例如:『-rwxr-----』,那就下达『 chmod 740 filename 』吧!
    例题: 将刚刚你的.bashrc这个档案的权限修改回-rw-r--r--的情况吧!
    答:-rw-r--r--的分数是644,所以指令为:
    chmod 644 .bashrc
    2:符号类型改变档案权限
    我们可以发现,基本上就九个权限分别是(1)user (2)group (3)others三种身份啦!那么我们就可以藉由u, g, o来代表三种身份的权限!
    此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x啰!也就是可以使用底下的方式来看:
    假如我们要『设定』一个档案的权限成为『-rwxr-xr-x』时,基本上就是:
    user (u):具有可读、可写、可执行的权限;
    group与others (g/o):具有可读与执行的权限。
    那么假如是『 -rwxr-xr-- 』这样的权限呢?可以使用『 chmod u=rwx,g=rx,o=r filename 』来设定。此外,如果我不知道原先的文件属性,而我只想要增加.bashrc这个档案的每个人均可写入的权限, 那么我就可以使用:
    而如果是要将权限去掉而不更动其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:
    + 与 – 的状态下,只要是没有指定到的项目,则该权限『不会被变动』, 例如上面的例子中,由于仅以 – 拿掉 x 则其他两个保持当时的值不变!
    举例来说,你想要教一个朋友如何让一个程序可以拥有执行的权限, 但你又不知道该档案原本的权限为何,
    此时,利用『chmod a+x filename』 ,就可以让该程序拥有执行的权限了。
    终身学习者
  • 相关阅读:
    js类型转换的坑
    JS自动填写分号导致的坑
    tomcat+javaWeb+spring的一个都市供求管理系统
    java学习笔记--java中的基本数组[5]
    mysql基础语法及拓展到web中的sql注入
    angular指令大全
    在chrome下-webkit-box布局的一个bug
    use redis instance in docker hub
    centos yum install oracle java
    认识Debian
  • 原文地址:https://www.cnblogs.com/zuixinxian/p/7027359.html
Copyright © 2011-2022 走看看