Ubuntu 환경을 사용하는 Rails 개발용 Cloud9을 사용하고 있습니다. PostgreSQL 데이터베이스 사용에 관한 문서에는 다음과 같이 나와 있습니다.
서비스에 연결합니다:
$ sudo sudo -u postgres psql
sudo를 두 번 입력한다는 것은 무엇을 의미합니까?
답변1
sudo -u postgres를 사용하면 명령을 실행할 때 postgres 사용자를 가장할 수 있습니다. 귀하의 사용자에게는 해당 권한이 없을 수도 있지만 루트에는 있습니다.
따라서 첫 번째 sudo는 루트 권한을 제공하고 두 번째 sudo는 (루트로서) postgres에 대해 sudo -u를 수행하여 postgres 사용자로 명령을 실행할 수 있도록 합니다.
답변2
sudo
그들은 아마도 귀하의 계정에 루트 계정에 대한 sudo 액세스 권한만 부여했을 것이므로 루트 계정 에 도달하려면 이를 postgres 사용자에게 넘겨야 한다고 생각했습니다 .
얼마나 많은 사람들이 규칙을 수정했는지 고려하면 sudo -l
일반 사용자로 실행하여 모든 사용자에게 액세스 권한을 부여하는지 또는 어떤 이유로 루트로 잠길 수 있는지 확인할 수 있습니다. 나는 전자를 선호합니다. 이 경우 첫 번째 것을 삭제할 수 있습니다 sudo
.