`
无量
  • 浏览: 1132408 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

更改linux的文件拥有者及用户组(chown和chgrp)

阅读更多

本文(转)

一、基本使用:

使用chown命令可以修改文件或目录所属的用户:

       命令:chown 用户 目录或文件名

       例如:chown qq /home/qq  (把home目录下的qq目录的拥有者改为qq用户) 

使用chgrp命令可以修改文件或目录所属的组:

       命令:chgrp 组 目录或文件名

       例如:chgrp qq /home/qq  (把home目录下的qq目录的所属组改为qq组)

 
二、基本知识
  在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 : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录
都更新成为这个用户组。常常用在更改某一目录的情况。
示例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
chown bin install.log
ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log
chown root:root install.log
ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log
四、使用chgrp命令更改文件所属用户组
在shell中,可以使用chgrp命令来改变文件所属用户组,该命令就是change group(改变用户组)的缩写。需要注意的是要改变成为的用户组名称,必须在 /etc/group里存在,否则就会显示错误。
基本语法:
chgrp [-R用户组名称 dirname/filename ...
参数:
-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录
都更新成为这个用户组。常常用在更改某一目录的情况。
示例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' <== 出现错误信息~找不到这个用户组名~
五、chown 函数的使用
在Linux 的C 应用编程中,可以使用 chown 函数来修改文件的拥有者及拥有者组。此函数声明如下: 
/usr/include/unistd.h文件中
/* Change the owner and group of FILE. */ 
externint chown (__const char*__file,__uid_t __owner,__gid_t __group)__THROW __nonnull ((1)) __wur; 
此函数的第一个参数为欲修改用户的文件,第二个参数为修改后的文件拥有者,第三个参数为修改后该文件拥有者所在的组。
 
对于已打开的文件,使用 fchown 函数来修改。其第一个参数为已打开文件的文件描述符,其他同 chown 函数。该函数声明如下: 
/* Change the owner and group of the file that FD is open on. */ 
externint fchown (int __fd,__uid_t __owner,__gid_t __group) __THROW __wur; 
对于连接文件,则可以使用 lchown 函数。其参数同于 chown 函数。 
/* Change owner and group of FILE, if it is a symbolic link the ownership of the symbolic 
link is changed. */ 
externint lchown (__const char*__file,__uid_t __owner,__gid_t __group) __THROW __nonnull ((1)) __wur; 
以上这 3 个函数如果执行成功,将返回 0,否则返回-1。
分享到:
评论

相关推荐

    linux下的chmod,chown和chgrp.pdf

    linux下的chmod,chown和chgrp.pdf

    Linux 基础 78-用户管理-09-权限命令介绍和chown/chgrp演练.flv

    Linux 基础 78-用户管理-09-权限命令介绍和chown/chgrp演练.flv

    Linux应用技术:改变文件属主及属组.pptx

    项目4 管理用户和用户组 用户和用户组高级管理 改变文件属主及属组 ACL设置 改变文件属主及属组 文件属主:文件所有者,通常是文件或目录的创建者 ...将文件的拥有者修改为wy 查看该文件的权限,分析qc和wy用

    Linux网络操作系统基础:权限管理命令chown、chgrp和umask命令.pptx

    文件权限管理;修改文件权限 - chmod;修改文件权限 - 示例;修改文件权限 - chown;修改文件权限 - 示例;修改文件权限 - chgrp;修改文件权限 - 示例;预设权限掩码 - umask;预设权限掩码 - 示例;谢谢聆听

    linux文件属性和更改文件权限详解

    2.1 用户和用户组的相关指令 2.2 chgrp命令 2.3 chown命令 2.4 chmod命令 2.5 umask命令  1.文件属性 1.1 ls命令 ls命令是我们最常用的命令之一,用来查看当前目录下的文件或文件夹. ls命令有以下几个基本选项 ...

    chown命令 改变文件或目录用户和用户组

    利用 chown 命令可以将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID,组可以是组名或者组ID,文件是以空格分开的要改变权限的文件列表,支持通配符。 一般来说,这个指令仅限系统管理者(root)所...

    linux中权限管理命令详解(chmod/chown/chgrp/unmask)

    Linux操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户。本文给大家介绍linux中权限管理命令详解(chmod/chown/chgrp/...

    每天一个linux命令(30): chown命令详解

    在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。 3.命令参数: 必要参数: -c 显示更改的部分的信息 -

    第4章linux文件权限与目录配置

    4.1文件属性 在你以root的身份登录linux之后,执行“ls –al”...chgrp :改变文件所属用户组 (例如;shen) chown :改变文件所有者(777)最高权限 chmd :改变文件的权限 7 7 7 4+2+1 4+2+1 4+2+1 (文件权限)

    linux用户创建

    用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。 1、增加一个新的用户组使用groupadd命令。 其格式如下: 代码: groupadd 选项 用户组 可以使用的选项有: ...

    Unix文件系统模拟实验报告

    在终端界面上用户可以象unix的shell命令一样输入一些命令,如输入ls 显示文件目录,chmod改变文件权限,chown改变文件拥有者,chgrp改变文件所属组,chnam改变文件名,pwd显示当前目录,cd改变当前目录,mkdir创建...

    linux常用命令大全及详解.zip

    chown:修改文件或目录的所有者。 chgrp:修改文件或目录的所属组。 tar:打包和解包文件。 gzip:压缩文件。 unzip:解压缩文件。 ssh:远程登录到其他主机。 scp:在本地主机和远程主机之间复制文件。 ps:显示...

    Linux基础课件文件权限设置chown命令共13页.pd

    Linux基础课件文件权限设置chown命令共13页.pdf.zip

    Linux常见命令与shell脚本

    1.21 chown更改某个文件/目录的所有者和属组 11 1.22 find文件查找 11 1.23 locate快速文件查找 13 1.24 whereis和which查找命令所在目录 13 1.25 grep搜索文件内容 13 1.26 tar文档管理 14 1.27 gzip/gunzip 和 ...

    每天一个linux终端命令ch*命令(4)

    chown修改文件的拥有者 chmod修改文件的属性 chgrp和chown用法基本一致。 chgrp [-R] dirname/filename ... chown [-R] 账号名称 文件或目录 chown [-R] 账号名称:用户组名称 文件或目录 chmod [-R] xyz 文件或者...

    Linux基础命令与根目录一览表-思维导图.pdf

    chown:修改文件或目录的所有者。 chgrp:修改文件或目录的所属组。 useradd:创建新用户。 usermod:修改用户属性。 passwd:设置用户密码。 系统状态和进程管理命令: top:实时显示系统资源使用情况和进程信息。...

    os_file.zip_DEMO_c/C++_linux

    在磁盘空间模拟一个linux文件系统,并提供基本的文件操作命令(如mk, cp, mkdir, rmdir, cd, ls, cat, chmod, chown, chgrp, chnam等)。文件系统的实现采用混合索引式文件结构,包括使用空闲节点号栈管理空闲节点...

    linux下chown的用法

    本文主要讲述linux下chown的使用方法,感性趣的朋友可以参考下。

Global site tag (gtag.js) - Google Analytics