您可以在 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 -R new_owner_name directory_name
如果您必须更改多个目录及其内容的所有权,您可以在同一行中执行此操作:
chown -R new_owner_name directory1 directory2 directory3
让我用一个示例来说明这一点,我有一个名为 new_dir 的目录,其中包含一些内容,此目录及其内容归 root 用户所有。
root@wljslmz:~# ls -l /home/abhi/
total 4
drwxr-xr-x 3 root root 4096 May 30 07:30 new_dir
root@wljslmz:~# 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
当我更改 new_dir 的所有权时,它的所有权发生了变化:
root@wljslmz:~# chown abhi /home/abhi/new_dir
root@wljslmz:~# ls -l /home/abhi/
total 4
drwxr-xr-x 3 abhi root 4096 May 30 07:30 new_dir
但是里面的文件和文件夹仍然归root所有。
root@wljslmz:~# 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@wljslmz:~# chown -R abhi /home/abhi/new_dir
root@wljslmz:~# 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 命令,如下所示:
chown -R user_name:group_name directory_name
您可以使用相同的方法更改多个文件夹的所有权:
chown -R user_name:group_name dir1 dir2
最近,我将一个自托管的 Ghost 实例移到了使用DigitalOcean的一键式部署启动的新服务器上,我必须将整个图像文件夹从备份(在本地系统上下载)上传到新服务器,系统需要将此图像文件夹的所有权从 root 更改为 ghost。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。