暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何递归更改文件和文件夹的所有权

TIAP 2022-06-20
3603

你可以在 Linux 中使用 chown 命令更改文件和目录的所有权。它使用起来很简单:

    chown owner_name file_or_folder


    当你(使用上述命令)修改目录的所有权时,就会发现一个问题,目录的内容(子目录或目录中文件的所有权)并没有被修改。(这个问题的)解决方案也不是很复杂。

    要更改目录内容(及子目录或目录中文件)的所有权,可以使用递归选项 -R 配合 chown 命令来使用:

      chown -R owner_name folder_name


      如果要同时递归更改所有者和组,可以按以下方式:

        chown -R owner_name:group_name folder_name


        让我们详细了解一下,并了解如何递归地更改用户和组。如果您熟悉文件所有权和权限的概念,就会容易理解得多。

        注:需要是root用户或使用sudo来更改文件的所有权。


        chown 递归

        要递归更改目录的所有权,可使用如下命令:

          chown -R new_owner_name directory_name


          如果需要更改多个目录及其子目录的所有权,可在同一行添加多个目录:

            chown -R new_owner_name directory1 directory2 directory3


            我们来举个例子。假如我们有一个名为 new_dir 的目录,并且该目录下包含子目录。这个目录及其子目录都属于 root 用户。


              root@learnubuntu:~# ls -l home/abhi/
              total 4
              drwxr-xr-x 3 root root 4096 May 30 07:30 new_dir
              root@learnubuntu:~# ls -l home/abhi/new_dir/
              total 20
              -rw-r--r-- 1 root root 12813 May 30 07:30 new.txt
              drwxr-xr-x 2 root root 4096 May 30 07:30 one_more_dir


              当我更改新目录的所有权时,如下:

                root@learnubuntu:~# chown abhi home/abhi/new_dir
                root@learnubuntu:~# ls -l home/abhi/
                total 4
                drwxr-xr-x 3 abhi root 4096 May 30 07:30 new_dir


                但是其中的子目录和文件仍是属于 root 用户:

                  root@learnubuntu:~# ls -l home/abhi/new_dir/
                  total 20
                  -rw-r--r-- 1 root root 12813 May 30 07:30 new.txt
                  drwxr-xr-x 2 root root 4096 May 30 07:30 one_more_dir


                  现在,如果我将递归选项 -R 与 chown 命令一起使用,它将更改指定目录中所有内容的所有权,而不仅仅是目录:


                    root@learnubuntu:~# chown -R abhi /home/abhi/new_dir
                    root@learnubuntu:~# ls -l /home/abhi/new_dir/
                    total 20
                    -rw-r--r-- 1 abhi root 12813 May 30 07:30 new.txt
                    drwxr-xr-x 2 abhi root 4096 May 30 07:30 one_more_dir


                    递归更改所有者和组

                    chown 命令允许用户更改所有者以及文件组。要递归地更改目录及其所有内容的所有者和组,请使用如下命令:

                      chown -R user_name:group_name directory_name


                      同时还可以更改多个目录的所有权:

                        chown -R user_name:group_name dir1 dir2


                        很简单,是不是?



                        本文作者:Abhishek Prakash,翻译:刘光录

                        原文地址:

                        https://linuxhandbook.com/chown-recursively/

                        文章转载自TIAP,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                        评论