탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1에서 서비스 및 결함 관리 Oracle Solaris 11.1 Information Library (한국어) |
실행 제어 스크립트를 사용하여 레거시 서비스를 중지하거나 시작하는 방법
부트 중 system/filesystem/local:default 서비스가 실패할 경우 sulogin 프롬프트를 강제로 표시하는 방법
다음 작업에서는 SMF 서비스를 구성하는 방법을 보여줍니다. 특히 서비스 또는 서비스 인스턴스에 대한 서비스 등록 정보 및 다른 구성 정보를 수정하는 방법을 보여줍니다.
다음 작업 맵에서는 SMF 서비스를 구성하는 데 필요한 절차에 대해 설명합니다.
|
이 절차에서는 서비스를 시작할 수 있는 사용자를 식별하는 등록 정보를 수정하는 방법을 보여줍니다.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
먼저 해당 서비스를 식별하기 위해 FMRI를 제공합니다. 다음으로 서비스를 시작하는 UID를 지정합니다.
# svccfg -s FMRI svc:/service: setprop start/user = astring: newlogin
# svcadm refresh FMRI
이 절차에서는 setprop 하위 명령에 필요한 것보다 적은 정보를 입력하여 여러 서비스 등록 정보를 수정하는 방법을 보여 줍니다. 이 예에서는 여러 개의 DNS 서비스 등록 정보가 변경됩니다.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
editprop 하위 명령이 지정된 서비스의 등록 정보 및 등록 정보 그룹을 임시 파일에 수집하면 VISUAL 또는 EDITOR 환경 변수에 이름이 지정된 프로그램이 호출되어 이를 편집합니다. 자세한 내용은 svccfg(1M) 매뉴얼 페이지를 참조하십시오
# svccfg -s network/dns/client editprop ## ## The value used to construct the "nameserver" directive in resolv.conf(4). ## setprop config/nameserver = net_address: (192.168.1.10 192.168.1.11) ## ## The value used to construct the "search" directive in resolv.conf(4). ## # setprop config/search = astring: "example.com sales.example.com"
이 시점에서는 파일을 저장하지 않습니다.
파일을 저장하고 편집기를 종료할 때 변경 내용을 적용하도록 파일 맨 아래에 있는 refresh 라인의 주석을 해제합니다.
## Uncomment to apply these changes to all instances of this service. refresh
다음 절차에서는 inetd 서비스로 관리되지 않는 서비스의 구성을 변경하는 방법을 보여줍니다.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
많은 서비스에는 시작 또는 기타 구성 정보를 정의하는 데 사용되는 하나 이상의 구성 파일이 있습니다. 이러한 파일은 서비스가 실행 중인 동안 변경할 수 있습니다. 파일의 내용은 서비스가 시작될 때만 확인됩니다.
# svcadm restart FMRI
예 2-15 새 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 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# 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 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
이 명령은 FMRI로 식별된 서비스에 대한 모든 등록 정보를 표시합니다.
# inetadm -l FMRI
inetd 제어 서비스에 대한 각 등록 정보는 등록 정보 이름 및 지정된 값으로 정의됩니다. 지정된 값 없이 등록 정보 이름을 제공하면 등록 정보가 기본값으로 재설정됩니다. 서비스 등록 정보에 대한 특정 정보는 해당 서비스와 연관된 매뉴얼 페이지에서 다룹니다.
# inetadm -m FMRI property-name=value
다시 등록 정보를 나열하여 올바르게 변경되었는지 확인합니다.
# inetadm -l FMRI
변경으로 원하는 효과를 얻었는지 등록 정보 변경 사항을 확인합니다.
예 2-16 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
예 2-17 등록 정보에서 사용자 정의 제거
이 예에서는 서비스에서 사용자 정의를 삭제할 때 발생하는 효과를 보여 줍니다. 먼저 부트 프로세스 중 /var/tmp가 정리되도록 rmtmpfiles 서비스의 clean_vartmp 등록 정보를 설정하기 위한 사용자 정의를 적용합니다. 권한을 가진 사용자 자격으로 다음 명령을 입력합니다.
# svccfg -s svc:/system/rmtmpfiles setprop options/clean_vartmp = true # svcadm refresh svc:/system/rmtmpfiles
그런 다음 등록 정보가 변경되었는지 확인합니다.
$ svcprop -p options/clean_vartmp svc:/system/rmtmpfiles true
사용자 정의를 확인하려면 다음 명령을 입력합니다.
$ svccfg -s svc:/system/rmtmpfiles listcust options/clean_vartmp boolean admin true $ svcprop -p options/clean_vartmp -l all svc:/system/rmtmpfiles options/clean_vartmp boolean manifest false options/clean_vartmp boolean admin true
사용자 정의를 제거하려면 권한을 가진 사용자로 다음 명령을 입력합니다.
# svccfg -s svc:/system/rmtmpfiles delcust options/clean_vartmp Deleting customizations for property: options/clean_vartmp
이제 사용자 정의를 확인하는 명령을 실행하면 다음과 같은 내용이 표시됩니다.
$ svccfg -s svc:/system/rmtmpfiles listcust $ svcprop -p options/clean_vartmp -l all svc:/system/rmtmpfiles options/clean_vartmp boolean manifest false
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
이 명령은 FMRI로 식별된 서비스에 대한 모든 등록 정보를 표시합니다. grep 명령을 추가하면 출력이 서비스에 대한 exec 등록 정보로 제한됩니다.
# inetadm -l FMRI|grep exec
exec 등록 정보와 함께 command-syntax 세트는 서비스가 시작될 때 실행되는 명령 문자열을 정의합니다.
# inetadm -m FMRI exec="command-syntax"
다시 등록 정보를 나열하여 올바르게 변경되었는지 확인합니다.
# inetadm -l FMRI
다음 절차에서는 inetd.conf 항목을 SMF 서비스 매니페스트로 변환합니다. 이 절차는 inetd에 종속되는 타사 응용 프로그램이 시스템에 추가될 때마다 실행해야 합니다. 또한 /etc/inetd.conf의 항목에 대해 구성 변경 작업을 수행해야 하는 경우 이 절차를 실행하십시오.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
inetconv 명령은 선택된 파일의 각 항목을 서비스 매니페스트로 변환합니다.
# inetconv -i filename
예 2-18 /etc/inet/inetd.conf 항목을 SMF 서비스 매니페스트로 변환
# inetconv -i /etc/inet/inetd.conf