本文整理自:

http://blog.163.com/yanenshun@126/blog/static/128388169201203011157308/
http://ydlmlh.iteye.com/blog/1435157
一、基本知识
在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]# touchtestfile//由 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
chownbininstall.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]# chgrpyangzongdetestfile//修改拥有者组为 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. */ 
extern int 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. */ 
extern int 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. */ 
extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) __THROW __nonnull ((1)) __wur; 

以上这 3 个函数如果执行成功,将返回 0,否则返回-1。

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

如何更改linux文件的拥有者及用户组 chown和chgrp相关推荐

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

    本文整理自: http://blog.163.com/yanenshun@126/blog/static/128388169201203011157308/ http://ydlmlh.iteye.c ...

  2. 更改linux文件/目录的权限、拥有者及用户组

    基本知识 在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户.该文件用户可以修改该文件的拥有者及用户组,root用户可以修改任何文件的拥有者及用户组. 在Linux中,对于文件的权限( ...

  3. 鸿蒙WLAN模组联网+解决在Visual Studio Code不能更改Linux文件的问题

    这里写目录标题 WLAN模组联网 下载使用IPOP 使用IPOP进行WLAN模块联网 解决在Visual Studio Code不能更改Linux文件的问题 后续 WLAN模组联网 下载使用IPOP ...

  4. Linux文件权限大全(chmod+chown)

    #Linux权限简介 Linux系统上对文件的权限有着严格的控制,如果想对某个文件执行某种操作,必须具有对应的权限方可执行成功. Linux下文件的权限类型一般包括读,写,执行.对应字母为 r.w.x ...

  5. 如何更改linux文件权限设置,linux文件权限学习笔二——如何修改文件权限(chgrp,chown,chmod)...

    linux文件权限学习随笔二--如何修改文件权限 一.修改文件所属组群--chgrp 修改文件所属组群很简单-chgrp命令,就是change group的缩写(我们可以利用这些来记忆命令) 语法:c ...

  6. 改变Linux文件权限、所属用户组、所有者知识总结

    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进.

  7. linux 更改文件所属用户及用户组

    本文整理自: http://blog.163.com/yanenshun@126/blog/static/128388169201203011157308/ http://ydlmlh.iteye.c ...

  8. Linux文件夹权限如何更改?

    http://hi.baidu.com/lwvs/blog/item/83245809a30f033de9248835.html 先来了解一下文件属性, 在shell环境里输入:ls -l 可以查看当 ...

  9. linux文件常用权限,常用的更改Linux系统文件权限的命令

    大家好,小编又来啦,今天说一下更改文件权限的常用命令,Linux系统下,无论是选择国内服务器,还是租用RAKsmart等美国服务器,如果安装的是Linux操作系统的话,那么咱们可能都需要与常见的Lin ...

  10. C语言再学习 -- 修改linux文件权限

    参看:修改linux文件权限命令 Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.(0无权限 ...

最新文章

  1. mysql延迟解决方案
  2. FZ35恒流电子负载检测测试
  3. git pull没有更新成功_因为 git pull 和同事闹僵了。
  4. CI/CD 最佳实践的基本原则
  5. boost::contract模块实现sum的测试程序
  6. POJ2262Goldbach's Conjecture 简单的素数判定
  7. Android中的JSON解析方式:json; Gson ; Fastjson
  8. 单文件组件的组件传值_移动端组件化架构(下)
  9. ajax div 赋值重新渲染_优化向:单页应用多路由预渲染指南
  10. “腾讯持股比例提升”系误读!美团对外定增后腾讯持股比例降低
  11. 【ElasticSearch】Es 源码之 MetadataIndexUpgradeService 源码解读
  12. 如何做好一个技术 TL
  13. 高德地图:No implementation found for void com.autonavi.ae.gmap.GLMapEngine.nativeIni
  14. 读书笔记-大型网站技术架构:核心原理与案例分析
  15. Python——通过while、for、if—else完成一个地铁乘车消费计算器
  16. 拉登游戏开发--在时间的积累中寻求美丽图案
  17. Mac下的winscp替代者 FileZilla
  18. Mysql 新增分区,删除分区,合并分区
  19. H5总结(慢慢自我总结)
  20. 超详细面经分享!@最近考虑换工作的伙伴们

热门文章

  1. QT 带有动画的 圆形进度条 水波进度条
  2. linux 硬件故障 日志_对Linux中的硬件问题进行故障排除
  3. 华为鸿蒙系统卡片,18个月不卡?这四款华为2年还流畅,支持鸿蒙OS
  4. 假设一张纸足够大并且可以无限折叠,假设一张纸足够大并且可以无限折叠,一张纸的厚度是0.5mm,那么这张纸折叠多少次可以到达珠穆朗玛峰的高度8848.43m。
  5. codewars Kata——Persistent Bugger问题
  6. [读书笔记] 蔡康永的说话之道
  7. 51单片机:数码管显示
  8. 三元组事件抽取与简单代码实现
  9. 传奇人物____Anders Hejlsberg
  10. shap库源码和代码实现