ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris の管理: 一般的なタスク Oracle Solaris 11 Information Library (日本語) |
1. Oracle Solaris のコマンドに関する情報の検索
4. Oracle Solarisシステムのブートとシャットダウン
5. Oracle Configuration Manager の操作
実行制御スクリプトを使用して従来のサービスを起動または停止する方法
ブート中に system/filesystem/local:default サービスで障害が発生した場合に sulogin プロンプトを強制的に表示する方法
16. システムコンソール、端末デバイス、および電源サービスの管理 (手順)
19. システムおよびソフトウェアのトラブルシューティング (手順)
次の各作業は、SMF サービスの設定方法を示したものです。特に、サービスプロパティーの変更方法と、サービスまたはサービスインスタンスに関するその他の設定情報を示します。
この手順は、サービスを起動できるユーザーを特定するプロパティーの変更方法を示しています。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
最初に、FMRI を指定して適切なサービスを特定します。次に、サービスを起動する UID を割り当てます。
# svccfg -s FMRI svc:/service: setprop start/user = astring: newlogin
# svcadm refresh FMRI
次の手順は、inetd サービスによって管理されていないサービスの設定を変更する方法を示します。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
多くのサービスは、起動方法などの設定情報を定義するための設定ファイルを 1 つ以上持っています。それらのファイルはサービス実行中でも変更可能です。ファイルの内容がチェックされるのはサービス起動時です。
# svcadm restart FMRI
例 7-12 新しい NTP サーバーを追加する
NTP クライアントをサポートするために新しい NTP サーバーを追加するには、そのサーバー用の新しいエントリを /etc/inet/ntp.conf ファイルに追加します。次に、NTP サービスを再起動します。この例は、ntp.conf ファイルの内容とサービスの再起動方法を示しています。
# cat /etc/inet/ntp.conf . . server ntpserver1.example.com server ntpserver2.example.com # svcadm restart svc:/network/ntp:default
この手順は、デバッグに役立つよう cron 環境変数を変更する方法を示します。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# svcs system/cron STATE STIME FMRI online Dec_04 svc:/system/cron:default
次の例では、環境変数 UMEM_DEBUG および LD_PRELOAD を設定しています。setenv サブコマンドについては、svccfg(1M) のマニュアルページを参照してください。
# svccfg -s system/cron:default setenv UMEM_DEBUG default # svccfg -s system/cron:default setenv LD_PRELOAD libumem.so
# svcadm refresh system/cron # svcadm restart system/cron
# pargs -e `pgrep -f /usr/sbin/cron` 100657: /usr/sbin/cron envp[0]: LOGNAME=root envp[1]: LD_PRELOAD=libumem.so envp[2]: PATH=/usr/sbin:/usr/bin envp[3]: SMF_FMRI=svc:/system/cron:default envp[4]: SMF_METHOD=/lib/svc/method/svc-cron envp[5]: SMF_RESTARTER=svc:/system/svc/restarter:default envp[6]: TZ=GB envp[7]: UMEM_DEBUG=default
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
このコマンドを実行すると、FMRI で指定されたサービスのすべてのプロパティーが表示されます。
# inetadm -l FMRI
inetd 制御サービスの各プロパティーは、プロパティー名とその値によって定義されます。値を指定せずにプロパティー名を指定した場合、そのプロパティーはデフォルト値にリセットされます。特定のサービスのプロパティーの詳細については、そのサービスのマニュアルページを参照してください。
# inetadm -m FMRI property-name=value
プロパティーを再度一覧表示し、適切に変更されていることを確認します。
# inetadm -l FMRI
プロパティーに対する変更が期待どおりに適用されていることを確認します。
例 7-13 telnet の tcp_trace プロパティーを変更する
次の例は、telnet の tcp_trace プロパティーを true に設定する方法を示しています。telnet コマンドの実行後の syslog 出力の結果から、変更が適用されていることがわかります。
# inetadm -l svc:/network/telnet:default SCOPE NAME=VALUE name="telnet" . . default inherit_env=TRUE default tcp_trace=FALSE default tcp_wrappers=FALSE # inetadm -m svc:/network/telnet:default tcp_trace=TRUE # inetadm -l svc:/network/telnet:default SCOPE NAME=VALUE name="telnet" . . default inherit_env=TRUE tcp_trace=TRUE default tcp_wrappers=FALSE # telnet localhost Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. login: root Password: . . . Last login: Mon Jun 21 05:55:45 on console Sun Microsystems Inc. SunOS 5.10 s10_57 May 2004 # ^D Connection to localhost closed by foreign host. # tail -1 /var/adm/messages Jun 21 06:04:57 yellow-19 inetd[100308]: [ID 317013 daemon.notice] telnet[100625] from 127.0.0.1 32802
このコマンドを実行すると、選択したサービスの admin レイヤーでの変更がすべて削除されます。
% /usr/sbin/svccfg -s FMRI delcust
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
このコマンドを実行すると、FMRI で指定されたサービスのすべてのプロパティーが表示されます。grep コマンドを追加することで、サービスの exec プロパティーに出力を制限しています。
# inetadm -l FMRI|grep exec
exec プロパティーに設定される command-syntax は、サービス起動時に実行されるコマンド文字列を定義します。
# inetadm -m FMRI exec="command-syntax"
プロパティーを再度一覧表示し、適切に変更されていることを確認します。
# inetadm -l FMRI
例 7-14 ftp コマンドに接続ロギング (-l) オプションを追加する
この例では、ftp デーモンの起動オプションに -l オプションを追加しています。この変更が適用されたことを確かめるには、ftp ログインセッション完了後に syslog 出力を調べます。
# inetadm -l svc:/network/ftp:default | grep exec exec="/usr/sbin/in.ftpd -a" # inetadm -m svc:/network/ftp:default exec="/usr/sbin/in.ftpd -a -l" # inetadm -l svc:/network/ftp:default SCOPE NAME=VALUE name="ftp" endpoint_type="stream" proto="tcp6" isrpc=FALSE wait=FALSE exec="/usr/sbin/in.ftpd -a -l" . . # ftp localhost Connected to localhost. 220 yellow-19 FTP server ready. Name (localhost:root): mylogin 331 Password required for mylogin. Password: 230 User mylogin logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> quit 221-You have transferred 0 bytes in 0 files. 221-Total traffic for this session was 236 bytes in 0 transfers. 221-Thank you for using the FTP service on yellow-19. 221 Goodbye. # tail -2 /var/adm/messages Jun 21 06:54:33 yellow-19 ftpd[100773]: [ID 124999 daemon.info] FTP LOGIN FROM localhost [127.0.0.1], mylogin Jun 21 06:54:38 yellow-19 ftpd[100773]: [ID 528697 daemon.info] FTP session closed
次の手順では、inetd.conf エントリを SMF サービス目録に変換します。inetd に依存する Sun 以外のアプリケーションをシステムに追加するたびに、この手順を実行する必要があります。また、/etc/inetd.conf 内のエントリに設定変更を行う必要がある場合にも、この手順を実行してください。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
inetconv コマンドは、選択されたファイル内の各エントリをサービス目録に変換します。
# inetconv -i filename
例 7-15 /etc/inet/inetd.conf エントリを SMF サービス目録に変換する
# inetconv -i /etc/inet/inetd.conf