54 lines
1.6 KiB
Markdown
54 lines
1.6 KiB
Markdown
# sudoコマンド
|
|
|
|
`sudo` は、別のユーザーの権限(通常は root 権限)を使用してコマンドを実行するコマンド
|
|
|
|
|
|
## 基本構文
|
|
|
|
```
|
|
sudo [-u <user>] [-s | -i] [<command> [<arg>...]]
|
|
```
|
|
- `-u <user>` ... root以外のユーザの権限で実行するときに指定
|
|
- `<command>` ... 実行するコマンド
|
|
- `<arg>` ... `<command>`に渡す引数
|
|
|
|
## 使用例
|
|
|
|
### システム用ディレクトリにファイルを作成する
|
|
前提:
|
|
- `/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`オプションを指定 |