あるユーザの権限でFirefoxを起動するスクリプト
rootユーザから、あるユーザの権限でFirefoxを起動するには、sudo
コマンドでユーザ名を指定して、firefox
コマンドを実行すればよい、
と思ったら、少し工夫が必要だった。
そもそも、なぜこんなことをする必要があるかというと、
何人かのユーザのFirefoxの初期設定を行いたいから。
初期設定を行うには、ユーザのホームディレクトリ内にあるFirefoxの
個人設定ファイルを利用すればよいが、
作成したばかりのユーザでは、この個人設定ファイルが存在しない。
Firefoxの個人設定を作成するには、
そのユーザで一度でもFirefoxを起動すればよい。
これをスクリプトで処理するために、rootユーザにて、
あるユーザの権限でFirefoxを起動したい、ということ。
で、sudo
の「-u
」オプションで、ユーザ指定して、firefox
コマンドを実行したが、
問題点が2つでた。
まず、ユーザにディスプレイの利用が許可されていないこと、
そして、ユーザのホームディレクトリが特定できないこと、だ。
ディスプレイ利用の許可は、以前調べたxhost
で解決できる。
問題は、ホームディレクトリ。調べてみると、簡単であった。
sudo
コマンドには「-H
」オプションというのがあり、
これが正に、ユーザのホームディレクトリを/etc/passwd
から
読み込んでくれるというオプション。
したがって、スクリプトは、次のようになる。
#!/bin/sh
FF_USER=xxxx
xhost +local:user >/dev/null
sudo -H -u $FF_USER /usr/bin/firefox
参考:
Manpage of sudo - JM Project内
関連ページ:
xhostでローカルユーザにディスプレイ使用を許可 (2009-01-14)
« 日本語ファイル名のエンコードを変換するconvmv | トップページ | 動画から音声を抜き出すツール - えこでこツール »
「Linux」カテゴリの記事
- [Linux] ログイン画面のOS名表示など(2013.08.12)
- CentOSからWin7の共有フォルダへアクセス(2011.11.27)
- namazuのインストール手順(2011.09.02)
- mknmzで、エラー 'sh: line 1: no: command not found'(2011.08.30)
- PostgreSQL 8.1から7.3へデータ移行(2011.08.24)
この記事へのコメントは終了しました。
« 日本語ファイル名のエンコードを変換するconvmv | トップページ | 動画から音声を抜き出すツール - えこでこツール »
コメント