sudo sudoの意味は何ですか?


8

私はRails開発にCloud9を使用しており、Ubuntu環境を使用しています。PostgreSQLデータベースの使用に関するドキュメントには、次のように書かれています。

サービスに接続します。

$ sudo sudo -u postgres psql 

sudoを2回入力する意味は何ですか?

https://docs.c9.io/setting_up_postgresql.html


1
おそらくユーザーが実行を許可されsudo、rootとしてコマンドを、ではなくpsqlて、コマンドpostgres
ステファンChazelas

@WarrenYoungドキュメントを見ると、ユーザーが争わずにrootになることが意図されているようです。元のユーザーはおそらく管理者アカウントと見なされるため、おそらく与えられましたuser ALL=(ALL) NOPASSWD: ALL
Bratchley

もちろん、ssh権限を持つアカウントのrootパスワードを要求しないことはおそらく問題です。
Bratchley 2015年

私は問題をオープンしました(そしてプルリクエストのハッシュを作りました)。彼らがそれを修正するかどうか見てみましょう。
muru、2015年

そしてそれは修正されました。
muru、2015年

回答:


9

sudo -u postgresを使用すると、コマンドの実行時にpostgresユーザーを偽装できます。ユーザーにはおそらくその特権はありませんが、rootにはあります。

したがって、最初のsudoはrootの権限を与え、2番目のsudoは(rootとして)sudo -uをpostgresに許可して、postgresユーザーとしてコマンドを実行できるようにします。


+1:これは2番目をよく説明しsudoます。
ウォーレンヤング

0

彼らはおそらくあなたのアカウントにrootアカウントへのsudo権限しか与えていないので、sudoそこに到達するためにpostgresユーザーに渡す必要があると彼らは考えています。

何人がルールを正しいかを考えるsudo -lと、通常のユーザーとして実行して、すべてのユーザーにアクセスを許可したか、何らかの理由でrootにロックされていないかを確認します。私はそれが前者であっても構わないと思っていますsudo。その場合、あなたは最初のものを残すことができます。

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