メインコンテンツに移動
戯れ言の水溜まりΦ

メインナビゲーション

  • ホーム
ユーザーアカウントメニュー
  • ログイン

パンくず

  1. ホーム
  2. Windows/Linuxのトラブル追跡実績ノウハウ エンジニア必携 メモ
  3. 3 ログ、設定の調べ方
  4. 3-4-2 指定したユーザーとして、コマンドを実行 ログ、設定の調べ方
  5. 3-4-2-1 sudo ログ、設定の調べ方

3-4-2-1-a sudo の注意点

By estis , 20 2月, 2017
  • コメントを投稿するにはログインまたは登録をしてください

vi などエディタコマンドを許可していると、他のコマンドも許可したユーザー権限で実行される危険がある。

一般ユーザーでは、/root/ の中が見えない。

$ ls /root/
ls: cannot open directory /root/: 許可がありません

このユーザーは、/bin/vi だけ、sudo できる。

$ sudo -l
[sudo] password for sum: 
このホスト上でユーザー sum に一致したデフォルト項目:
    !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME
    LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

ユーザー sum は次のコマンドをこのホスト上で実行できます:
    (ALL) /bin/vi

なので当然、sudo でも実行できない。

$ sudo ls /root/
ユーザー sum は'/bin/ls /root/' を root として localhost.localdomain 上で実行することは許可されていません。すみません。

しかし、

$ sudo vi

と、viを起動し、

:!ls /root/

を実行すると、

GHOST  GHOST.c	Git  anaconda-ks.cfg  awk  dstat.log  install.log  install.log.syslog  nltk_data  setuptools-5.2.zip  sh  tmp  tmp00  tmp02  work  wpscan

Press ENTER or type command to continue

のように、実行できてしまう。

これを回避するには、vi を許可せず、sudoedit を許可する。

$ sudoedit FILENAME

または、

$ sudo -e FILENAME

と実行できる。

man sudo から関連部分

       -e          -e (edit) オプションを指定するのは、ユーザーがコマンドの実行ではなく、一つ以上のファイルの編集を望んでいるということである。 sudoers ファイルの参照では、コマンドとして文字列 "sudoedit" が使用される。 sudoers ファイルによってユーザに
                   権限があることが認められると、次のようなことが順番に行われる。

                   1.  編集対象のファイルのコピーをテンポラリファイルとして作成する。テンポラリファイルのオーナーは sudo を起動したユーザである。

                   2.  環境変数 SUDO_EDITOR, VISUAL, EDITOR のいづれかで指定されたエディタを起動して、テンポラリファイルを編集する。 SUDO_EDITOR, VISUAL, EDITOR のいづれも設定されていないときは、 sudoers ファイルの editor 変数にリストされた最初のプログ
                       ラムが使用される。

                   3.  編集作業がすむと、テンポラリファイルをオリジナルのファイルに書き戻して、テンポラリファイルを消去する。

                   指定されたファイルが存在しない場合は作成する。ここで注意すべきは、 sudo によって実行されるコマンドの大部分と違って、 -e でエディタが実行されるときは、sudo を起動したユーザの環境が、変更を受けずにそのまま使われるということである。何ら
                   かの理由で sudo が編集した内容でファイルを更新できないときは、ユーザに警告を発し、編集した内容をテンポラリファイルに保持することになる。

Comments

ブックナビゲーション

  • 1-1 トラブルシューティングのプロセス・何をトラブルとするのか
  • 1-2 情報の検索
  • 2 システムの基本情報の確認
  • 3 ログ、設定の調べ方
    • 3-1-1 フォルダー オプション ログ、設定の調べ方 Windows
    • 3-1-2 Windowsのフォルダー構成 ログ、設定の調べ方 Windows
    • 3-1-3 イベントビューアー ログ、設定の調べ方 Windows
    • 3-2-1 レジストリ・環境変数・設定ファイル ログ、設定の調べ方 Windows
    • 3-2-2 レジストリ構成 ログ、設定の調べ方 Windows
    • 3-2-3 レジストリエディター ログ、設定の調べ方 Windows
    • 3-2-4 レジストリ設定のバックアップ、リストア ログ、設定の調べ方 Windows
    • 3-2-5 機能に応じたレジストリキーの値 ログ、設定の調べ方 Windows
    • 3-2-6 環境変数 ログ、設定の調べ方 Windows
    • 3-2-7 環境変数の確認、設定 ログ、設定の調べ方 Windows
    • 3-3-01 Linux のディレクトリ構成 ログ、設定の調べ方 Linux
    • 3-3-02 Linux の主なログファイル ログ、設定の調べ方 Linux
    • 3-3-03 Linux の主な設定ファイル ログ、設定の調べ方 Linux
    • 3-3-04 dmesg ログ、設定の調べ方 Linux
    • 3-3-05 ログファイルや設定ファイルを探す ログ、設定の調べ方 Linux
    • 3-3-06 grep コマンドでの検索 ログ、設定の調べ方 Linux
    • 3-3-07 grep の正規表現 ログ、設定の調べ方 Linux
    • 3-3-08 grep と他のコマンドを組み合わせて調査する ログ、設定の調べ方 Linux
    • 3-3-09 圧縮されたファイル内を検索する ログ、設定の調べ方
    • 3-3-10 grep よりも高速なコマンド ログ、設定の調べ方
    • 3-3-11 デバッグレベルを変更して詳細なログを取得 ログ、設定の調べ方
    • 3-3-12 巨大なログの調査 ログ、設定の調べ方
    • 3-3-13 リアルタイムにログを監視 ログ、設定の調べ方
    • 3-4-1 設定ファイルの閲覧・編集 ログ、設定の調べ方
    • 3-4-2 指定したユーザーとして、コマンドを実行 ログ、設定の調べ方
      • 3-4-2-1 sudo ログ、設定の調べ方
        • 3-4-2-1-a sudo の注意点
      • 3-4-2-2 visudo ログ、設定の調べ方
      • 3-4-2-3 /etc/sudoers ログ、設定の調べ方
RSSフィード
Powered by 戯れ言の水溜まりΦ