chown (change ownership), chown 命令是一种命令行实用程序,用于更改文件或目录甚至链接的用户或组所有权。Linux 的理念是使每个文件或目录均由具有某些访问权限的特定用户或组拥有。

chown 命令语法如下:

$ chown OPTIONS USER: GROUP file(s)

让我们简要地说明一下这些参数:

  • USER: 指的是拥有该文件的用户的用户名,可以指定用户名或 UID 。
  • GROUP: 选项表示运行命令后文件将获取的新组的名称。
  • file(s): 选项表示一个常规文件或一个目录,甚至是一个符号链接。

这里有几点需要注意:

(1) 当单独指定 USER 选项时,文件 / 目录的所有权更改为指定用户,组所有权保持不变

$ chown john file1.txt

在上面的命令中,文件 file1.txt 的用户所有权从当前用户更改为 john。

(2) 如果 USER 选项后面是一个完整的冒号,即 USER:,并且没有提供组名,那么用户获得文件的所有权,但是文件的组所有权切换到用户的登录组。

$ chown john: file1.txt

在本例中,用户 john 获得文件 file1.txt 的所有权,但该文件的组所有权更改为 john 的登录组。

(3) 当用户和组选项都用冒号分隔时,即 USER:GROUP,其中没有任何空格,文件将按照指定的方式获得新用户和组的所有权

$ chown john:john file1.txt

(4) 如果去掉 USER 选项,而在 GROUP 选项前面加一个冒号 :GROUP,则只改变文件的组所有权。

查看文件权限

要查看文件权限,只需使用 ls -l 命令后接文件名

$ ls -l file1.txt

从输出中我们可以看到该文件属于 linuxtechi 用户,属于 linuxtechi 组。

更改文件所有者

在更改权限之前,如果您不是以 root 用户的身份工作,请始终调用 sudo。这为您提供了更改文件的用户和组所有权的高级特权。

$ sudo chown user filename

例如:

$ sudo chown james file1.txt

从输出中,可以看到文件的所有权已经从 linuxtechi 更改为用户 james

另外,也可以使用用户的 UID。要获取 UID,请查看 /etc /passwd 文件。

$ cat /etc/passwd | grep username

从下面的例子中,我们可以看到用户 linuxtechi 的 UID 是 1002

要将文件所有权更改回 linuxtechi 用户,执行以下命令

$ sudo chown 1002 file1.txt

更改组所有者

如前所述,要更改文件的组所有者,可以省略用户,只需在组名前面加一个冒号。

$ sudo chown :group file

例如,要将 file1.txt 的组所有者从 linuxtechi 更改为 docker,执行以下命令

$ sudo chown :docker file1.txt

同时更改用户和组所有者

如果要同时更改文件的所有者和组,请指定用户和组选项,用冒号分隔,确保选项和冒号之间没有空格。

$ sudo chown user:group filename

例如,以下命令将文件 file1.txt 的所有权更改为用户 james,用户组 redis

$ sudo chown james:redis file1.txt

递归改变文件所有权

当对目录应用权限时,您可能希望递归地应用更改,使所有权更改向下应用到文件和子目录。为此,使用 -R 选项 或 –recursive 指令。

$ sudo chown -R user:group directory

将 /var /www 目录中的所有文件和文件夹所有权分配给 www-data 组

$ sudo chown -R :www-data /var/www

将 reports 目录中的所有文件和文件夹的所有权分配给 linuxtechi 用户

$ sudo chown -R linuxtechi reports

使用引用文件更改所有权

最后,还有一种很好的方法可以用来更改文件的所有权,那就是使用引用文件。chown 命令用来以另一个文件为参照点,更改文件的用户和组所属权。

$ chown –reference=ref_file file

假设您希望将 file1.txt 的用户和组所有权分配给另一个文件 file2.txt

$ chown --reference=file1.txt file2.txt

上面的输出确认 file2.txt 继承了 file1.txt 的用户和组所有权

我的开源项目

  • course-tencent-cloud(酷瓜云课堂 - gitee仓库)
  • course-tencent-cloud(酷瓜云课堂 - github仓库)

linux chown 命令实例讲解相关推荐

  1. Linux:sudo命令实例讲解

    Linux下sudo命令实例讲解 转载自:点击打开链接 一.sudo简介 1.概念: sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root ...

  2. Linux gunzip 命令实例讲解

    对于初学者来说,gzip 工具主要用于压缩或者展开文件.解压时,在 gzip 命令后添加 -d 选项即可,使用示例如下: gzip -d [compressed-file-name] 不过,在解压或扩 ...

  3. linux查看usb设备卷标,Linux findfs命令实例讲解(查找指定卷标或者UUID的文件系统对应的设备文件)...

    findfs 查找指定卷标或者UUID的文件系统对应的设备文件.findfs将搜索系统中的磁盘,寻找具有标签匹配标签或与UUID相等的文件系统.如果找到文件系统,文件系统的设备名称将打印在stdout ...

  4. linux chown 使用实例,chown命令_Linux chown命令用法示例详解

    Linux chown命令用法介绍 chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组.用户可以是用户或者是用户ID,用户组 ...

  5. linux红帽chown命令,Linux chown命令

    chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...

  6. linux命令1006linux命令,Linux chown 命令

    Linux chown 命令 Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令. Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者.利 ...

  7. linux chown命令: 修改文件或目录的所有者或群组

    linux chown命令: 修改文件或目录的所有者或群组 介绍: chown命令可以修改文件(目录)的所有者和群组信息. 语法: chmod [-cfhvR] user[:group] file.. ...

  8. php yii应用运维,Windows运维之Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤...

    本文主要向大家介绍了Windows运维之Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤,通过具体的内容向大家展现,希望对大家学习Windows运维有所帮助. Yii中的资源 ...

  9. linux chown命令_Linux chown命令示例

    linux chown命令 Once in a while, you will be faced with the prospect of changing permissions of files ...

最新文章

  1. 离职半年了,最近又开始被吐槽输出不够...
  2. 数组作为形参时的一个陷阱
  3. SqlServer规则
  4. java用于保存登录对象怎么写,利用对象流模仿登陆注册功能——Java对象流应用...
  5. 数据结构 5-3-3 二叉树的线索化
  6. 卷积神经网络处理猫和狗图片
  7. networkx设置节点的大小_节点大小取决于NetworkX上的节点度
  8. 2022迅雷ios版下载beta
  9. Roundcube开启用户自助更改密码功能
  10. linux 切换 amd 显卡,ubuntu 14.10 (64位)下载amd显卡,实现双显卡切换
  11. C语言电码,翻译莫尔斯电码
  12. netty-socketio+spring boot 长链接 实时通信 消息推送
  13. 关于固定总价合同的建设工程项目审计的几点思考
  14. word 保存文档崩溃 文件丢失
  15. 【论文翻译】Recent security challenges in cloud computing 近代云计算面临的安全挑战
  16. eclipse第十七课时
  17. C语言核心知识点总结
  18. 练手练到阅文集团作家中心了,python crawlspider 二维抓取学习
  19. ArcGIS编辑绘制图斑又慢又难?这些高效的处理技巧你值得拥有!
  20. 提高C++程序运行效率,减少运行时间的方法

热门文章

  1. 大头贴制作大师注册机 Cracked.By.HackWm.
  2. 利用antd tree组件实现类文件夹树(文件夹图标跟随树展开状态)
  3. HBase几种安装方式
  4. CMake I 指定构建类型Debug/Release
  5. 第二遍罗塞塔学习总结
  6. 本地计算机无法启动dhcp服务,dhcp client无法启动怎么办?dhcp client服务启动的方法...
  7. FPGA学习笔记(3)
  8. 基于STM32F103C8T6实现用2.4G模块(NRF2401)传输室内温湿度并显示OLED
  9. nginx 发布前端资源的缓存方案
  10. 橘子皮除甲醛,您被骗了多少年?除醛方法一箩筐,靠谱的才管用!