# sudoコマンド `sudo` は、別のユーザーの権限(通常は root 権限)を使用してコマンドを実行するコマンド ## 基本構文 ``` sudo [-u ] [-s | -i] [ [...]] ``` - `-u ` ... root以外のユーザの権限で実行するときに指定 - `` ... 実行するコマンド - `` ... ``に渡す引数 ## 使用例 ### システム用ディレクトリにファイルを作成する 前提: - `/opt`,`/etc`,`/var`などのシステム用ディレクトリは通常rootが所有 - 一般ユーザがそのようなディレクトリにファイルを作成する際には`sudo`を使用 - 書き込み権限があれば`sudo`は不要 ``` sudo mkdir /opt/gitea ``` ### postgresユーザとしてpsqlを実行する 前提: - PostgreSQLをインストールすると、`postgres`という専用ユーザが作成される - PostgreSQLでは、ローカル接続時にpeer認証が使用される - `postgres`ユーザとして実行することで、DBの管理者ロールである`postgres`に接続できる ``` sudo -u postgres psql ``` - `sudo` ... 別のユーザの権限でコマンドを実行 - `-u postgres` ... 実行ユーザに`postgres`を指定 - `psql` ... PostgreSQLのクライアントを起動 ### rootユーザとしてログイン ``` sudo -i ``` - `-i`(`--login`)オプションを指定 - rootユーザのログインシェルを起動する ### root以外のユーザとしてログイン ``` sudo -u taro -i ``` - root以外のユーザの権限で実行する場合は`-u`オプションを指定