无法进入/ etc中的docker文件夹

时间:2018-03-24 11:40:32

标签: linux docker centos

我正在学习docker,我似乎无法进入docker文件夹。我在etc文件夹中,我正在尝试输入docker文件夹。这是蓝色文字,表明它是一个目录,我可以进入其他蓝色导演。

DIR_COLORS               makedumpfile.conf.sample  ssh
DIR_COLORS.256color      man_db.conf               ssl
DIR_COLORS.lightbgcolor  mime.types                statetab
dnsmasq.conf             mke2fs.conf               statetab.d
dnsmasq.d                modprobe.d                subgid
docker                   modules-load.d            subuid
dracut.conf              motd                      sudo.conf
dracut.conf.d            mtab    

我甚至尝试过sudo cd docker 但是当我这样做时,命令行什么都不做。我可以在文件夹中看到它的内容如下:

[user@bucephalus1 etc]$ sudo ls -al docker
total 16
drwx------.   2 root root   21 Mar 22 01:07 .
drwxr-xr-x. 103 root root 8192 Mar 24 10:57 ..
-rw-------.   1 root root  244 Mar 22 01:07 key.json

但我无法进入如下所示的码头:

[user@bucephalus1 etc]$ sudo ls -al docker
total 16
drwx------.   2 root root   21 Mar 22 01:07 .
drwxr-xr-x. 103 root root 8192 Mar 24 10:57 ..
-rw-------.   1 root root  244 Mar 22 01:07 key.json
[user@bucephalus1 etc]$ sudo cd docker
[user@bucephalus1 etc]$

有没有人知道这里发生了什么?

2 个答案:

答案 0 :(得分:2)

正常并且由/etc/docker文件夹的权限引起,如您的问题所述:

[user@bucephalus1 etc]$ sudo ls -al docker
total 16
drwx------.   2 root root   21 Mar 22 01:07 .
(...)

因为此文件夹属于root并具有权限700。

您可以改为:

$ sudo su -
root:~# cd /etc/docker
root:/etc/docker# 

但请注意,修改此文件夹可能容易出错,并且我不确定是否有任何用例需要执行此操作。

此外,askubuntu.com的相关答案提供了有关sudo su -的更多详情:
"sudo-su-vs-sudo-i-vs-sudo-bin-bash-when-does-it-matter-which-is-used"

答案 1 :(得分:2)

除了前面的答案所说的,cd命令的一些背景:

当您cd时,您应该收到此错误:

$ cd /etc/docker/
bash: cd: /etc/docker/: Permission denied

当您sudo cd /etc/docker/时,您可能会收到如下错误:

$ sudo cd /etc/docker
sudo: cd: command not found

但是我想可能会有你不知道的发行版,并且实际上有一个cd二进制文件。但是,这个二进制文件永远不会起作用,因为它会改变shell的子进程'当前目录(即cd进程的当前目录),而不是shell的当前目录。

也许尝试执行which cd并执行结果。即使您不使用sudo,您很可能会发现无法使用此二进制文件更改目录。

所以使用例如sudo -s获取root shell,然后cd