ここではMacのターミナルで特権ユーザーやアクセス権限の管理などに利用するターミナルコマンド「sudo」「chmod」について、コマンドの使い方を解説します。
ターミナルコマンド「sudo」
sudo(superuser doの略)は、macOSや他のUnix系オペレーティングシステムで使用されるコマンドで、特定のコマンドをスーパーユーザー(rootユーザー)の権限で実行するために使われます。
このコマンドは、システムの設定を変更するやソフトウェアをインストールするなど、高い権限が必要な操作を行う際に利用します。
「sudo」コマンドの基本的な構文
sudoコマンドの基本的な構文は以下の通りです。
sudo [オプション] コマンド
「sudo」コマンドでよく使われるオプション
-u ユーザー名:指定したユーザー名でコマンドを実行します。-s:指定したシェルをスーパーユーザーで開始します。-i:スーパーユーザーの環境に切り替えてシェルを開始します。
「sudo」コマンドの例
1.ファイルの編集
スーパーユーザー権限で設定ファイルを編集するために、viエディタを開きます。
sudo vi /etc/httpd/conf/httpd.conf
2.別のユーザーとしてコマンドを実行
johnというユーザーとしてwhoamiコマンドを実行し、実行ユーザー名を表示します。
sudo -u john whoami
sudoコマンドの重要性と注意事項
sudoコマンドは非常に強力で、誤ってシステムに損害を与える可能性があります。
特に、システムの重要なファイルを変更する場合や、未知のソフトウェアをインストールする場合は注意が必要です。常に、実行するコマンドの影響を理解した上で使用してください。
sudoを使用する際は、セキュリティの観点からも、常に最小限の権限で操作を行うことが推奨されます。
また、sudoの設定は/etc/sudoersファイルで管理され、このファイルの編集にはvisudoコマンドを使用することが推奨されます。
これにより、構文エラーが発生した場合にシステムが不安定になるのを防ぐことができます。
ターミナルコマンド「chmod」
chmod(change modeの略)は、macOSや他のUnix系オペレーティングシステムで使用されるコマンドで、ファイルやディレクトリのアクセス権(パーミッション)を変更するために用いられます。
このコマンドは、特定のユーザーがファイルに対して読み取り、書き込み、実行する権限をどのように持つかを制御します。
「chmod」コマンドの基本的な構文
chmodコマンドの基本的な構文は以下の通りです。
chmod [オプション] モード ファイルまたはディレクトリ
「chmod」コマンドのモードの指定方法
- 記号モード:
u(ユーザー)、g(グループ)、o(その他のユーザー)、a(すべてのユーザー)といった記号と、+(追加)、-(削除)、=(設定)を組み合わせて使用します。 - 数値モード: 各ユーザーカテゴリーの権限を3ビットの二進数(読み取り:4、書き込み:2、実行:1)で表し、それらの和を使用します。
「chmod」コマンドでよく使われるオプション
-R: 指定したディレクトリとその中のすべてのファイルに対して再帰的に権限を変更します。-v: 変更が行われた各ファイルについて詳細を表示します(詳細モード)。
「chmod」コマンドの例
1.ファイルに実行権限を追加
script.shというスクリプトファイルに、所有者に対して実行権限を追加します。
chmod u+x script.sh
2.ファイルの権限を数値で設定
notes.txtというファイルの権限を所有者には読み書き、グループには読み取り、その他のユーザーには読み取りのみ許可します。
chmod 644 notes.txt
3.ディレクトリとその中身の権限を再帰的に変更
chmod -R 755 data
chmodコマンドはファイルやディレクトリのセキュリティを管理する上で非常に重要です。適切な権限設定は、システムの安全性を保つために必須です。
コマンドを使用する際には、どのユーザーがファイルにアクセスできるかを常に考慮することが重要です。

