zoukankan      html  css  js  c++  java
  • Linux命令 改变文档权限及所有者

    • chgrp :改变档案所属群组
    • chown :改变档案拥有者
    • chmod :改变档案的权限, SUID, SGID, SBIT等等的特性
    chgrp说明及范例
    [root@www ~]# chgrp [-R] dirname/filename  

    选项与参数: 
    -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案、目录 都更新成为这个群组之意。常常用在变更某一目录内所有的档案之情况。 

    范例:

     [root@www 
    ~]# chgrp users install.log 

    [root@www 
    ~]# ls -l -rw-r--r-- 1 root users 68495 Jun 25 08:53 install.log 

    [root@www 
    ~]# chgrp testing install.log chgrp: invalid group name `testing' <== 发生错误讯息啰~找不到这个群组名~
    chown 说明及范例
    [root@www ~]# chown [-R] 账号名称 档案或目录 [root@www ~]
    #
     chown [-R] 账号名称:组名 档案或目录 选项与参数: -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都变更

    范例:将install.log的拥有者改为bin这个账号:
    [root@www 
    ~]# chown bin install.log 
    [root@www ~]# ls -l -rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log 

    范例:将install.log的拥有者与群组改回为root:
    [root@www 
    ~]# chown root:root install.log 
    [root@www ~]# ls -l -rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
    备注
    Tips: 事实上,chown也可以使用『chown user.group file』,亦即在拥有者与群组间加上小数点『.』也行! 不过很多朋友设定账号时,喜欢在账号当中加入小数点(例如vbird.tsai这样的账号格式),这就会造成系统的误判了! 所以我们比较建议使用冒号『:』来隔开拥有者与群组啦!此外,chown也能单纯的修改所属群组呢! 例如『chown .sshd install.log』就是修改群组~看到了吗?就是那个小数点的用途!

    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

    chmod说明及范例
    [root@www ~]# chmod [-R] xyz 档案或目录

    选项与参数: xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。 
    -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都会变更

    举例来说,如果要将.bashrc这个档案所有的权限都设定启用

    [root@www 
    ~]# ls -al .bashrc -rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc 
    [root@www ~]# chmod 777 .bashrc 
    [root@www ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
    符号类型改变档案权限
    设定一个档案的权限成为『-rwxr-xr-x』时,基本上就是:
    o user (u):具有可读、可写、可执行的权限;
    o group 与 others (g
    /o):具有可读与执行的权

    [root@www 
    ~]# chmod u=rwx,go=rx .bashrc

    # 注意喔!那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格符! 

    [root@www 
    ~]# ls -al .bashrc -rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc

    我只想要增加.bashrc这个档案的每个人均可写入的权限

    [root@www 
    ~]# ls -al .bashrc -rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc 
    [root@www ~]# chmod a+w .bashrc 
    [root@www ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

    要拿掉全部人的可执行权限

    [root@www 
    ~]# chmod a-x .bashrc
    [root@www ~]# ls -al .bashrc -rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc

  • 相关阅读:
    说说与线程相关的方法
    sleep()和yield()有什么区别?
    同步和异步有何异同,分别在什么情况下使用?
    如何保证多个线程同时启动?
    volatile关键字能否保证线程安全?
    使用对象的wait()方法需要注意什么?
    乐观锁与悲观锁是什么?
    Condition实现等待、唤醒
    LongAdder与AtomicLong有什么区别?
    介绍一下ForkJoinPool的使用
  • 原文地址:https://www.cnblogs.com/fangbo/p/1594413.html
Copyright © 2011-2022 走看看