0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用chown命令

CHANBAEK 来源:myfreax 作者:myfreax 2023-03-20 16:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

chown 命令允许您修改指定文件、目录或符号链接的用户和组的所有权。 在本教程中,我们将通过实例向您展示如何使用 chown 命令。

Linux ,所有文件都与一个所有者以及一个组相关联,并为文件所有者、组成员和其他人分配访问权限。

chown 命令

在介绍如何使用该chown命令之前,让我们先回顾一下基本语法。 chown 命令表达式采用以下形式:

chown [OPTIONS] USER[:GROUP] FILE(s)

USER 是所有者的用户名或用户 ID (UID)。 GROUP 是组的名称或组 ID (GID)。 FILE(s) 是一个或多个文件、目录(文件夹)或链接的名称。 数字 ID 应以 + 符号为前缀。

  • USER 如果只指定用户,指定的用户将成为指定文件的所有者,组所有权不变。
  • USER: 当用户名后跟一个冒号:,并且没有给出组名时,用户将成为文件的所有者,文件组所有权更改为用户的登录组。
  • USER:GROUP 如果同时指定了用户和组(它们之间没有空格),则文件的用户所有权将更改为指定的用户,组所有权更改为指定的组。
  • :GROUP 如果省略 User 并且组以 : 冒号为前缀,则只有文件的组所有权更改为指定的组。
  • 如果只给出一个 : 冒号,而不指定用户和组,则不会进行任何修改。

默认情况下,成功时。 chown 命令不产生任何输出并返回零。 可以使用 ls -l 命令找出谁拥有文件或文件属于哪个组:

ls -l filename.txt
-rw-r--r-- 12 linuxize users 12.0K Apr  8 20:51 filename.txt
|[-][-][-]-   [------] [---]
                |       |
                |       +-----------> Group
                +-------------------> Owner

普通用户只有在拥有文件时才能修改文件的组,并且只能修改为他们所属的组。 管理用户可以修改所有文件的所有权。

如何修改文件的所有者

要修改文件的所有者,请使用以下 chown 命令,后跟新所有者的用户名和目标文件作为参数:

chown USER FILE

例如,以下命令会将名为 file1 文件的所有权修改为所有者 myfreax

chown myfreax file1

要修多个文件或目录的所有权,请将多个文件木使用空格分隔。 下面的命令将文件 file1 和目录 dir1 的所有权更改为 myfreax

chown myfreax file1 dir1

可以使用数字用户 ID (UID) 代替用户名。 以下示例将会修改文件 file2 的所有权为UID 1000 的用户:

chown 1000 file2

如果数字就是所有者的用户名,则所有权将转移到该用户名。 为避免这种情况,可以使用 + 作为 UID 的前缀,这样就可以避免将UID解释为用户名 :

chown 1000 file2

如何修改文件的所有者和组

要同时修改文件的所有者和组,请使用 chown 命令,后跟所有者和组,中间用冒号 : 分隔,中间没有空格,然后是目标文件。

chown USER:GROUP FILE

以下命令会将名为的文件 file1 的所有权更改为 myfreax 用户,组的所有权为 user 组:

chown myfreax:users file1

如果在冒号 : 后省略组名,文件的组将更改为指定用户,组的所有权是指定用户的主要组:

chown myfreax: file1

如何修改文件所有组

要仅修改文件组的所有权,请使用 chown 命令后跟冒号 : 和组名(它们之间没有空格)以及目标文件作为参数:

chown :GROUP FILE

以下命令将 file1 文件的所属组更改为 www-data

chown :www-data file1

另一个可用于修改文件组所有权的命令是 chgrp .

如何修改符号链接的所有权

当不使用递归选项时,chown 命令修改符号链接指向的文件组的所有权,而不是符号链接本身。

例如,如果您尝试修改符号链接 symlink1 指向的文件 /var/www/file1 用户和组的所有权:

chown www-data: symlink1

很有可能您不会修改目标文件目录的所有权,而是会收到 “cannot dereference ‘symlink1’: Permission denied” 无法取消引用 symlink1 权限被拒绝的错误。

出现该错误是因为在大多数 Linux 发行版,默认情况下符号链接是受保护的,您无法对目标文件进行操作。

此选项在 /proc/sys/fs/protected_symlinks 中指定。 1表示启用, 0 禁用。 我们建议不要禁用符号链接保护。

要修改符号链接本身组所有权,请使用 chown 命令的 -h选项:

chown -h www-data symlink1

如何递归修改文件所有权

要对指定目录的所有文件和目录进行递归操作,请使用 chown 命令的 -R / --recursive 选项:

chown -R USER:GROUP DIRECTORY

以下示例将 /var/www 目录下的所有文件和子目录的所有权更改为为 www-data 所有者和组:

chown -R www-data: /var/www

如果目录包含符号链接指定 -h 选项 :

chown -hR www-data: /var/www

递归修改目录所有权时可以使用选项是 -H-L

如果传递给 chown 命令的参数是指向目录的符号链接,则 -H 选项将使命令遍历它。

-L 指示 chown 遍历每个符号链接到遇到的目录。 通常,您不应使用这些选项,因为这可能会弄乱系统或产生安全风险。

使用参考文件

--reference=ref_file 选项允许您将指定文件的用户和组所有权更改为与指定参考文件相同的权限。 如果引用文件是符号链接,chown 将使用目标文件的用户和组。

chown --reference=REF_FILE FILE

例如,以下命令将 file1 的用户和组所有权分配给 file2

chown --reference=file1 file2

结论

chown 是一个 Linux/UNIX 命令行程序,用于修改文件的用户或组所有权。

要了解 chown 命令的更多信息,请访问 chown 手册页或在您的终端运行命令 man chown

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11627

    浏览量

    217895
  • 文件
    +关注

    关注

    1

    文章

    587

    浏览量

    25912
  • 程序
    +关注

    关注

    117

    文章

    3836

    浏览量

    84745
  • 命令
    +关注

    关注

    5

    文章

    746

    浏览量

    23441
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    常见的shell命令之文件操作相关命令

    —r--分成三组,-表示无权限,其他字符含义如下:文件权限设备时可以通过字符或数字来实现。7、chown文件属主设置命令命令chown英文全拼:change ownerp功能:设置文
    发表于 08-19 10:01

    嵌入式学习-常见的shell命令之文件操作相关命令

    的9个字符-rw-r—r--分成三组,-表示无权限,其他字符含义如下: 文件权限设备时可以通过字符或数字来实现。 7、chown文件属主设置命令命令chown英文全拼:change
    发表于 08-20 09:40

    Linux零基础快速入门到精通-第三章-05-chown命令

    Linux
    电子学习
    发布于 :2022年12月30日 23:11:31

    嵌入式学习指引--Linux下常用系统命令

    ;◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;◆ 其它命令:tar、unzip、gunzip、unarj
    发表于 10-19 11:12

    Linux必学的60个命令:系统安全相关命令

    。4.说明chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或用户ID;组可以是组名或组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将
    发表于 05-09 19:46

    【ok210试用体验】之四 —samba服务的配置

    中填入冒号中的内容。 说明:之后大家就可以使用sourceInsight加samba编写代码。有时编写的代码,不能使用交叉编译工具,往往是文件的所属问题。这是用chown命令更改用户,这是我想到的解决方案,但肯定有更好的解决方法,希望各位大神告知。
    发表于 08-08 22:07

    linux运维命令大全

    , head, tail, tail -f, ln, ln -s, chmod, chown, du, du -sk *, df,mount3. 基本的网络管理命令ipconfig,ifconfig
    发表于 03-15 16:36

    迅为IMX6ULL开发板-Linux用户权限

    的用户或组,用户可以是用户名或者用户 ID;组可以是组名或者组 ID,其命令格式如下:chown [参数] [用户名:<组名>] [文件名/目录]其中的[用户名:&
    发表于 05-20 10:30

    【正点原子FPGA连载】第五章Petalinux的安装-领航者ZYNQ之linux开发指南

    命令即可:sudo chown -R $USER:$USER /optmkdir -p /opt/pkg/petalinux/2018.3chown命令将/opt目录的属主和属组更改为
    发表于 09-09 16:49

    linux的Shell命令和相关的命令

    如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
    的头像 发表于 10-03 13:14 2876次阅读

    用于删除的命令:groupdel和groupadd命令

    二、groupdel 1.命令简介 groupdel(group delete)命令是系统管理员命令,用于删除一个组。 groupdel 命令用于删除指定的工作组,本
    的头像 发表于 01-11 10:44 3379次阅读

    Shell内建命令:trap命令

    1.命令简介 trap 命令是 Shell 内建命令,用于指定在接收到信号后将要采取的动作。常见的用途是在脚本程序被中断时完成清理工作。 2.命令格式 trap  [-lp] [ARG
    的头像 发表于 02-09 18:19 6806次阅读
    Shell内建<b class='flag-5'>命令</b>:trap<b class='flag-5'>命令</b>

    shell常用的20个命令

    以下是Shell中常用的20个命令: ls :列出当前目录中的文件和子目录。 cd :改变当前目录。 pwd :显示当前目录的路径。 cp :复制文件或目录。 mv :移动或重命名文件或目录。 rm
    的头像 发表于 11-08 10:48 5647次阅读

    shell命令和linux命令一样吗

    Shell命令和Linux命令并不完全一样。 首先,Shell是一种命令行解释器,它是用来解释和执行用户输入的命令的。Shell既是一种命令
    的头像 发表于 11-08 10:51 3731次阅读

    Linux系统管理的核心概念

    的管理、权限控制信息的查看,以及chmod和chown命令的使用。这些知识对于任何希望深入理解Linux系统管理的用户来说都是至关重要的。
    的头像 发表于 05-15 17:05 489次阅读