我尝试了以下方法,但我真的不明白结果如何。有人能帮忙吗?
~$ pwd
/home/djj375
~$ ls -ald .docker
drwx------ 2 root root 4096 May 21 14:33 .docker
~$ realpath .docker
/home/djj375/.docker
~$ cd ../../home/djj375
~$ pwd
/home/djj375
~$ cd .docker
bash: cd: .docker: Permission denied
~$ sudo cd .docker
sudo: cd: command not found
~$
答案1
使用以下方式更改权限
sudo chmod o+rx .docker
获取读取和执行(即进入)目录的权限,这样您就可以cd
进入目录并显示文件(前提是您也有权限这样做):
$ ls -la .docker
total 12
drwx------ 2 root root 4096 Mai 26 01:15 .
drwxrwxr-x 3 dessert dessert 4096 Mai 26 01:15 ..
-rw-r--r-- 1 root root 10 Mai 26 01:15 file
$ sudo chmod o+rx .docker/
$ cd .docker/
$ cat file
something
答案2
更改为隐藏文件夹没有什么特别之处。您可以使用问题中描述的方法更改为隐藏文件夹。问题中的文件夹不是隐藏的……问题是您无权更改该文件夹,因为您不拥有它,只有所有者才能使用它。
问题原因的详细信息
您遇到问题是因为您sudo
在个人空间(或一些将配置存储在个人空间中的 GUI 应用程序)中运行了提升的命令。您可以通过仅sudo
在尝试执行或安装会影响系统范围行为的某些操作时运行以提升评论来避免此常见问题...而不是在使用计算机时将其作为常规例行操作。
您个人空间中的文件应该归您所有。问题中的示例显示目录(恰好位于您的个人空间中)不归您所有。它归 root 所有。
您可以通过运行以下命令来检查并验证哪些文件和目录存在此问题:
$ find ~/ -mount ! -user $(whoami)
您可以使用以下命令来管理您的个人空间中的文件:
$ sudo chown -R $(whoami):$(whoami) ~/
您的个人文件没有理由被除您之外的任何人所拥有。 如果您想提供文件和目录,您可以使用该/opt
区域来放置这些文件和文件夹。
sudo
您可以通过将所有者更改为您自己来直接影响遇到问题的直接文件夹,而无需检查您个人文件夹中的所有其他文件和文件夹。
直接和立即解决
您可以使用此命令直接修复所描述的直接问题:
$ sudo chown $(whoami) ~/.docker