sudo(Super User DO)とは

  • 以前働いていた会社では、一般アカウントからsuコマンドを使わせるために社員全員がrootのパスワードを知っているというとても危険な環境で当然そういう風に会社のサーバ運用をしているので、皆が危機感ひとつないという状態でした。当然の事ながら重要なファイルを消したりサーバ全体を消したりと大変でしたよ。いわゆるsuコマンドで「誰が何をしたのか判らない記録されない」という状況でした。
  • 本来であれば、suコマンドは管理者のみが使うべきであり一般ユーザは、特別なことがない限りは使用させない。といっても、管理者がいないときもある訳だし、suコマンドを使用できるレベルがあればそれぞれのスキルに応じて運用させる方法があれば多少の問題解決にはなる。そんな観点から発生したのがsudoコマンドです。
  • sudoコマンドのメリット
    特定のアカウントに対してsuコマンドを許可することができる
    suコマンドで使用できるコマンドを制限することができる
    rootパスワードを不要とすることができる
    実行コマンドを全てログに記録することができる
    など
前提条件
sudoパッケージがインストール*1されていることが条件。
パッケージの確認は、rpm -q sudoコマンドで確認できるよ。

sudoの設定

  • suコマンドが、rootユーザ以外に使えてはsudoコマンドを使用する意味がないので、pam.dの設定でrootユーザ以外にはsuコマンドを使用できないよに設定を行う。OS入れた後の作業の巻rootユーザに成り代わる設定を参照のこと。
  • /etc/sudoers に許可したいアカウントを記述する。
    # User privilege specification
    root    ALL=(ALL) ALL
    hoge    ALL=(ALL) PASSWD:ALL
  • もしくは、wheelグループに指定されているアカウントを許可するようにしてもよい
    ## Allows people in group wheel to run all commands
    %wheel  ALL=(ALL)       ALL        ← コメントをはずす
注意!
/etc/sudoersを直接編集しないこと上記では、判りやすく説明するために直接ファイルを開いています。
本来は、/usr/sbin/visudoコマンドを実行して編集すること。
  • 個別ユーザの設定は /etc/sudoers に記述せず、/etc/sudoers.d にファイルを作成し管理する方法が好ましい。
    • hoge ユーザを NOPASSWD にする方法
      # vi /etc/sudoers.d/hoge
      hoge        ALL=(ALL)       NOPASSWD: ALL

使用方法

  • こんな感じで使用します
    % whoami
    hoge
    % sudo su
    
    We trust you have received the usual lecture from the local System
    Administrator. It usually boils down to these two things:
    
    #1) Respect the privacy of others.
    #2) Think before you type.
    
    Password:   ← ここでは、hoge さんのパスワードを入れます
    #       ← rootユーザになれましたね

参考にさせて頂いたサイト様


*1 パーケッジのインストール方法はこちらを参照

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-30 (水) 15:29:32