如何修改Linux文件的拥有者或用户组(chown和chgrp命令)

一、基础知识

    在linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户,该文件用户可以修改该文件的拥有者及用户组,当然root用户可以修改任何文件的拥有者及用户组。在Linux中,对于文件的权限(rwx),分为三部分,一部分是该文件的拥有者所拥有的权限,一部分是该文件所在用户组的用户所拥有的权限,另一部分是其他用户所拥有的权限。对于文件的权限请参考《Linux的chmod命令

    文件(含目录,下同)的权限,在shell中可以通过chmod命令来完成,关于此请参考Linux的chmod命令.在shell中,可以使用chown命令来改变文件的所有者及用户组,chgrp命令来改变文件所在用户组.在Linux的C程序中,可以使用chown函数来改变文件所有者以及用户组.

    另外,在shell中,要修改文件当前的用户必须具有管理员的root权限.可以通过su命令切换到root用户,也可以通过sudo来获得root的权限.


、使用chown命令修改文件拥有者

    在 shell 中,可以使用chown命令来改变文件所有者。chown命令是change owner(改变拥有者)的缩写。需要要注意的是,用户必须是已经存在系统中的,也就是只能改变为在 /etc/passwd这个文件中有记录的用户名称才可以   

    chown命令 的用途很多,还可以顺便直接修改用户组的名称。此外,如果要连目录下的所有子目录或文件同时更改文件拥有者的话,直接加上  -R 的参数即可。

    语法:
    chown  [-R]  拥有者名称  文件名
    chown  [-R]  拥有者名称: 用户组名称  文件名

    参数:

    -R  递归修改;

    示例1
    [root@localhost home]#  touch  testfile  //由 root 用户创建文件 
    [root@localhost home]#  ls  testfile  –l 
    -rw--w--w- 1 root root 0 Jun 7 19:35 testfile  //文件的拥有者及拥有者级均为 root 
    [root@localhost home]#  chown  yangzongde  testfile  //修改文件拥有者为 yangzongde 
    [root@localhost home]#  ls  testfile  -l 
    -rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile  //查看文件拥有者为 yangzongde,但组仍为 root
    示例2
    [root@localhost home]# chown   bin   install.log
    [root@localhost home]# ls  -l
    [root@localhost home]#
   
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log
    [root@localhost home]# chown  root: root  install.log
    [root@localhost home]# ls -l
    -rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

三、使用chgrp命令更改文件所属用户组
    在shell中,可以使用chgrp命令来改变文件所属用户组,该命令就是单词change group(改变用户组)的缩写.需要注意的是要变为的用户组,必须是在/etc/group中存在的用户组,否则会显示错误.
   
    语法:
    chgrp  [-R]  用户组名  文件名
   
    参数:
    -R 递归修改
    示例3
    [root@localhost home]#  ls  testfile  -l 
    -rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile  //查看文件拥有者为 yangzongde,但组为 root 
    [root@localhost home]#  chgrp   yangzongde  testfile  //修改拥有者组为 yangzongde 
    [root@localhost home]#  ls  testfile  -l 
    -rw--w--w- 1 yangzongde yangzongde 0 Jun 7 19:35 testfile 
    [root@localhost home]#  chown  root: root  testfile  // 使用 chown 一次性修改拥有者及组 
    [root@localhost home]#  ls  testfile  -l 
    -rw--w--w- 1 root root 0 Jun 7 19:35 testfile 
    示例4
    [root@linux ~]#  chgrp  users  install.log
    [root@linux ~]#  ls  -l
    -rw-r--r--  1 root users 68495 Jun 25 08:53 install.log
    示例5
    更改为一个   /etc/group 不存在的用户组
    [root@linux ~]#  chgrp  testing  install.log
    chgrp: invalid group name `testing' <== 出现错误信息~找不到这个用户组名~


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值