チーム開発の真似事を初めて改めてLinuxの知識の必要性を実感した猫だくさんです。
コマンドをなんとなーく使っているのでその意味をしっかりと理解していきたいと思います。
今回はとりあえず動かなかったらsudoすればええんやろって勢いで使ってるsudoコマンドをEnvaderで実際に触りながら学びます。
猫はみんなそのへんでゴロゴロしてます。
Envaderとは
インフラエンジニアのProgateと言われる、Webエンジニアが身につけておく基礎を実際に手を動かしながら学べるWebサービスです。
めんどくさい環境構築をする必要がなくブラウザで完結できるのが推しポイントです。
知識のインプットはアウトプットできてこそ身についたと言えるので実際に手を動かして確認できるので重宝しています。
sudo って何
root権限でもって各種コマンドを実行できます。
root権限って何
Linuxにおける神ともいえる存在rootユーザーのパワーを一時的に得ることができます。
そのように振る舞えるコマンドをsudo
コマンドといいます。
誰でも利用できるわけではなく、sudoを実行できる権限が付与されている必要があります。
/etc/sudoersに記載する等で可能ですが今回は割愛するのでググって下さい。
rootユーザって?
Linuxの管理者です。そのためどのようなコマンドも実行できます。あまりにも強大すぎる力のため悪用されるととんでもないことになるので慣習として利用しません。
rootユーザーで作業しているとrootユーザーでしかできないことが増えるためいつかとんでもない目に合うと思います。
そういったとんでもない目に遭わないために最低限の権限で一時的にコマンドを実行するのがsudoコマンドということになります。
rootユーザーに代わりシステムを管理するためのシステムユーザーなどがあります。
sudoの使い方
root権限が必要なコマンドの頭につけることで実行できるようになります。
sudo [オプション] 実行したいコマンド
オプション
覚えきれないほど大量のオプションがあるので引用します。以下でもまだ一部です。
オプション | 説明 |
---|---|
-A | パスワードが要求される場合、ユーザーのターミナルからパスワードを読み取り、標準出力する |
-n | パスワードを要求するプロンプトを表示しない(パスワードが必要なコマンドはエラーとなり、実行を終了する |
-S | 端末を使わず、プロンプトを標準エラーに書き出し、パスワードを標準出力から読み込む(パスワードの末尾には改行が必要) |
-b | 指定したコマンドをバックグラウンドで実行する |
-l | 起動ユーザーに対し許可(および禁止)されたコマンドの一覧を表示する |
-u | userを設定(user名またはuser ID [#を前につけた数値] )して、コマンドを実行する |
-g | groupを設定(group名またはgroup ID [#を前につけた数値] )して、コマンドを実行する |
-k | 保存されている認証情報を無効にする(次回のsudo実行時にはパスワードが必要) |
-K | 保存されている認証情報を完全に消去する |
-v | 保存されている認証情報を更新する |
sudoコマンドを学んだまとめ
これまでなんとなく打っていたsudoコマンドやroot権限についての理解が深まりました。
とくに一時期はrootユーザーでいじっていた時期もあったので、ユーザー管理について今後しっかり学んでいこうと思います。
コメント