
使用しようとしましたsudo cd name_of_dir
が、エラーメッセージが表示されます:
sudo: cd: command not found
700 権限を持つ別のユーザーが所有するディレクトリに入る他の方法はありますか?
答え1
sudo cd
コマンドはシェルに組み込まれているため、機能しませんcd
。つまり、root になってからこのコマンドを実行するということです。root になってから sudo の後のコマンドが検索されますが、cd
見つかるコマンドはありません。
使用する方法は、ディレクトリを所有するユーザーに切り替えることです。権限とは、700
「所有者が読み取り、書き込み、実行できる」ことを意味します。
したがって、ルートがディレクトリを所有している場合はsudo -i
、パスワードを使用するのがcd {dir}
唯一の正しい方法です。他のユーザーがディレクトリを所有している場合は、1 番目の方法を使用できますが、を使用してそのユーザーに変更しsu {username}
、cd
そのユーザーとして使用することもできます。
答え2
sudo -i
「ルートコンソール」を開いて
cd /path/to/directory
(cd
はシェルの組み込みコマンドなので、sudo ターゲットにすることはできません)
答え3
ルート ディレクトリを開くには、ルート シェルを実行します。例:
sudo su
# cd /root
答え4
次の方法で自分自身を root ユーザーに昇格することもできます。
sudo -s
次に、通常のユーザーがアクセスできない任意のディレクトリに cd します。
cd /root
または
cd /var/lib/
完了したら、次のように入力します。
exit
ルートユーザー権限からログアウトします。
自分自身を root に昇格するには、以下のように演算子を使用して 2 つのコマンドを組み合わせることもできます&&
。この演算子は実行シーケンスも維持し、現在のコマンドが正常に実行された場合にのみ次のコマンドの実行を許可します。
sudo -s && cd /var/lib
または
sudo -s && cd /root