ディレクトリにcdできないのはなぜですか?


14

Ubuntu 10.04.2 LTSを実行しています。ディレクトリにcd入れないのはなぜ/var/wwwですか?

david@ubuntu:/var$ pwd
/var

david@ubuntu:/var$ ls -l
drwxrwxr-- 13 root root  4096 2011-02-26 21:53 www

david@ubuntu:/var$ cd www
-bash: cd: www: Permission denied

david@ubuntu:/var$ sudo cd www
sudo: cd: command not found

2
cdシェルが組み込まれているため、使用sudoできません。
追って通知があるまで一時停止します。

そして、たとえそれが使用できたとしても、それは無意味です。一般に、別のプロセスにその作業ディレクトリを変更させる方法はないため、cd実行可能ファイルが何をしても、シェルプロセスのcwdを変更することはできません。
デビッドシュワルツ

回答:


13

ディレクトリにcdするための実行権限が必要です。

sudo chmod o+x /var/www

3
ちょっとした説明:上記の例では、ルート(ユーザー)とルート(グループ)の両方に実行ビットが設定されています。そのため、グループルートのメンバーはwwwにcdできます。ユーザーdavidは、ルートグループメンバーに含まれていないため、cdできません。あなたはの/ etc / groupの内容を表示していることを検査することができます
アダモ

1

「その他」がディレクトリに入ることを禁止する理由はいくつかありますか?そのため、そのディレクトリに入るためのルートアクセスを取得し、いくつかの処理を行ってから、sudoシェルを削除することをお勧めします。

sudo -i 
cd /var/www
# do your thing
cd -
exit

1

少しだけ詳しい情報があります。システム用のWebユーザーとグループを作成し、ルートとしてサービスを実行しないでください。その後、必要に応じてそのグループにユーザーを追加し、ルート権限を付与しないようにすることもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.