ルート権限とは?
ルート権限とは、管理者権限のことです。もう少し詳しく表すと、一般的なユーザーが扱えないようなシステムの操作(実行・更新・削除)ができる権限のことです。
なぜ管理者権限が必要なのか?
rootユーザーは、なんでも出来てしまうため、すべてのユーザーに与えてしまうとサーバーを破壊してしまったり、思わぬ事故を引き落としてしまったり、セキュリティ面において良くありません。そのため、一時的に管理者権限が与えられるsudo
を使うことが良いとされている。/etc/sudoersファイルに内容が記載されている。
使い方
$ sudo [オプション] コマンド
オプション例
オプション | 説明 |
---|---|
-A | パスワードが要求される場合、ユーザーのターミナルからパスワードを読み取り、標準出力する |
-n | パスワードを要求するプロンプトを表示しない(パスワードが必要なコマンドはエラーとなり、実行を終了する |
-S | 端末を使わず、プロンプトを標準エラーに書き出し、パスワードを標準出力から読み込む(パスワードの末尾には改行が必要) |
-b | 指定したコマンドをバックグラウンドで実行する |
-l | 起動ユーザーに対し許可(および禁止)されたコマンドの一覧を表示する |
-u | userを設定(user名またはuser ID [#を前につけた数値] )して、コマンドを実行する |
-g | groupを設定(group名またはgroup ID [#を前につけた数値] )して、コマンドを実行する |
-k | 保存されている認証情報を無効にする(次回のsudo実行時にはパスワードが必要) |
-K | 保存されている認証情報を完全に消去する |
-v | 保存されている認証情報を更新する |
引用:https://envader.plus/course/1/scenario/1004/
実用例
パッケージのインストール
$ sudo apt install パッケージ名
パッケージを更新する
$ sudo apt upgrade パッケージ名
初心者も私は上記二つを多く使うことが特に多い印象です。また、root権限をもった人しか実行できないファイルなどが存在します。ls -l
コマンドで確認することができます。下の1
の位置がroot権限の人が実行できるファイルです。
$ ls -l
1 2 3
-rw-r--r-- 1 root root 11 Dec 23 13:11 a.txt
-rw-r--r-- 1 root root 36 Dec 23 13:12 b.txt
-rw-r--r-- 1 root root 0 Dec 23 13:07 c.txt
drwxr-xr-x 2 root root 4096 Dec 23 13:14 test
drwxr-xr-x 2 root root 4096 Dec 23 13:15 test2
終わりに
今回は、root権限であるsudo
について学びました。セキュリティ面で多用できないroot権限を一時的に使えるようにするsudo
コマンドは、使う機会が多いです。忘れずに、覚えておこう!
また、今回学んだsudo
コマンドは、環境構築学習サイトEnvaderという学習サイトで学ぶことができます。sudo
コマンド以外にも、他のLinuxコマンドを能動的に学ぶことができるので皆さんの学習にぜひ役立ててみてください。
参考資料
Envader: https://envader.plus/
https://envader.plus/courses
https://envader.plus/course/1/scenario/1004/
https://qiita.com/chihiro/items/6e1404c41e1236a9efe1/