zoukankan      html  css  js  c++  java
  • chown命令详情

    基础命令学习目录首页  

    原文链接:https://www.jb51.net/article/98255.htm

    chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。

    1.命令格式:

    chown [选项]... [所有者][:[组]] 文件...

    2.命令功能:

    通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。

    3.命令参数:

    必要参数:

    •     -c 显示更改的部分的信息
    •     -f 忽略错误信息
    •     -h 修复符号链接
    •     -R 处理指定目录以及其子目录下的所有文件
    •     -v 显示详细的处理信息
    •     -deference 作用于符号链接的指向,而不是链接文件本身

    选择参数:

    •   --reference=<目录或文件> 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组
    •   --from=<当前用户:当前群组> 只有当前用户和群组跟指定的用户和群组相同时才进行改变
    •   --help 显示帮助信息
    •   --version 显示版本信息

      4.使用实例:

    实例1:改变拥有者和群组

    命令:    

    1
    chown mail:mail log2012.log

    输出:  

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    [root@localhost test6]# ll
    ---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
    ---xr--r-- 1 root users 302108 11-30 08:39 log2012.log
    -rw-r--r-- 1 root users   61 11-30 08:39 log2013.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2014.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2015.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2016.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2017.log
    [root@localhost test6]# chown mail:mail log2012.log
    [root@localhost test6]# ll
    ---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
    ---xr--r-- 1 mail mail 302108 11-30 08:39 log2012.log
    -rw-r--r-- 1 root users   61 11-30 08:39 log2013.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2014.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2015.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2016.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2017.log
    [root@localhost test6]#

    实例2:改变文件拥有者和群组

    命令:    

    1
    chown root: log2012.log

    输出:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [root@localhost test6]# ll
    总计 604
    ---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
    ---xr--r-- 1 mail mail 302108 11-30 08:39 log2012.log
    -rw-r--r-- 1 root users   61 11-30 08:39 log2013.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2014.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2015.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2016.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2017.log
    [root@localhost test6]# chown root: log2012.log
    [root@localhost test6]# ll
    总计 604
    ---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
    ---xr--r-- 1 root root 302108 11-30 08:39 log2012.log
    -rw-r--r-- 1 root users   61 11-30 08:39 log2013.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2014.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2015.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2016.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2017.log
    [root@localhost test6]#

    实例3:改变文件群组

    命令:   

    1
    chown :mail log2012.log

    输出:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    [root@localhost test6]# ll
    总计 604
    ---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
    ---xr--r-- 1 root root 302108 11-30 08:39 log2012.log
    -rw-r--r-- 1 root users   61 11-30 08:39 log2013.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2014.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2015.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2016.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2017.log
    [root@localhost test6]# chown :mail log2012.log
    [root@localhost test6]# ll
    总计 604
    ---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
    ---xr--r-- 1 root mail 302108 11-30 08:39 log2012.log
    -rw-r--r-- 1 root users   61 11-30 08:39 log2013.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2014.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2015.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2016.log
    -rw-r--r-- 1 root users   0 11-30 08:39 log2017.log

    实例4:改变指定目录以及其子目录下的所有文件的拥有者和群组

    命令:  

    1
    chown -R -v root:mail test6

    输出:  

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    [root@localhost test]# ll
    drwxr-xr-x 2 root users  4096 11-30 08:39 test6
    [root@localhost test]# chown -R -v root:mail test6
    “test6/log2014.log” 的所有者已更改为 root:mail
    “test6/linklog.log” 的所有者已更改为 root:mail
    “test6/log2015.log” 的所有者已更改为 root:mail
    “test6/log2013.log” 的所有者已更改为 root:mail
    “test6/log2012.log” 的所有者已保留为 root:mail
    “test6/log2017.log” 的所有者已更改为 root:mail
    “test6/log2016.log” 的所有者已更改为 root:mail
    “test6” 的所有者已更改为 root:mail
    [root@localhost test]# ll
    drwxr-xr-x 2 root mail  4096 11-30 08:39 test6
    [root@localhost test]# cd test6
    [root@localhost test6]# ll
    总计 604
    ---xr--r-- 1 root mail 302108 11-30 08:39 linklog.log
    ---xr--r-- 1 root mail 302108 11-30 08:39 log2012.log
    -rw-r--r-- 1 root mail   61 11-30 08:39 log2013.log
    -rw-r--r-- 1 root mail   0 11-30 08:39 log2014.log
    -rw-r--r-- 1 root mail   0 11-30 08:39 log2015.log
    -rw-r--r-- 1 root mail   0 11-30 08:39 log2016.log
    -rw-r--r-- 1 root mail   0 11-30 08:39 log2017.log

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    范例1:将test3.txt文件的属主改为test用户。
    # ls -l test3.txt
    -rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
    # chown test:root test3.txt
    # ls -l test3.txt
    -rw-r–r– 1 test root 0 2009-10-23 9:59

    范例2:chown所接的新的属主和新的属组之间可以使用:连接,属主和属组之一可以为空。如果属主为空,应该是“:属组”;如果属组为空,“:”可以不用带上。

    # ls -l test3.txt
    -rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt

    # chown :test test3.txt <==把文件test3.txt的属组改为test
    # ls -l test3.txt
    -rw-r–r– 1 test test 0 2009-10-23 9:59 test3.txt

    范例3:chown也提供了-R参数,这个参数对目录改变属主和属组极为有用,可以通过加 -R参数来改变某个目录下的所有文件到新的属主或属组。
    # ls -l testdir <== 查看testdir目录属性
    drwxr-xr-x 2 usr root 0 2009-10-56 10:38 testdir/ <==文件属主是usr用户,属组是 root用户
    # ls -lr testdir <==查看testdir目录下所有文件及其属性
    total 0
    -rw-r–r– 1 usr root 0 2009-10-23 10:38 test1.txt
    -rw-r–r– 1 usr root 0 2009-10-23 10:38 test2.txt
    -rw-r–r– 1 usr root 0 2009-10-23 10:38 test3.txt
    # chown -R test:test testdir/ <==修改testdir及它的下级目录和所有文件到新的用户和用户组
    # ls -l testdir
    drwxr-xr-x 2 test test 0 2009-10-23 10:38 testdir/
    # ls -lr testdir
    total 0
    -rw-r–r– 1 test test 0 2009-10-23 10:38 test1.txt
    -rw-r–r– 1 test test 0 2009-10-23 10:38 test2.txt
    -rw-r–r– 1 test test 0 2009-10-23 10:38 test3.txt

  • 相关阅读:
    面向对象---类与类之间的关系
    面向对象二 成员
    面向对象一
    内置函数二---作业
    内置函数⼆
    学习python的第十三天-----函数作业
    学习python的第十二天
    学习python的第十二天---函数的进阶
    学习python的第是一天————函数进阶的作业
    学习python的第十天------函数的进阶
  • 原文地址:https://www.cnblogs.com/machangwei-8/p/10354549.html
Copyright © 2011-2022 走看看