2007년 8월 28일 화요일

Zone Configuration, Booting, Configuring IP (#Solaris)

ZONE CONFIGURATION

The following commands are basic guidelines to configure a simple zone.

1. Make a directory to accommodate a zone, changing its level to 700 is required since the global zone
should not be seen from child zone
2. Use "zonecfg" commands to create a zone
3. Network settings and File system settings are required (fs,net)
4. verify, commit, exit is required to save zone settings.
5. The information of the zone is saved under "/etc/zones" in the form of .xml files


[jemin][$PWD] # mkdir /export/sample_server
[jemin][$PWD] # chmod 700 /export/sample_server
[jemin][$PWD] # zonecfg -z sample_server
sample_server: 그런 영역은 구성되지 않음
새 영역 구성을 시작하려면 'create'을(를) 사용하십시오.
zonecfg:sample_server> create
zonecfg:sample_server> set zonepath=/export/sample_server
zonecfg:sample_server> add net
zonecfg:sample_server:net> set physical=e1000g0
zonecfg:sample_server:net> set address=192.168.40.1
zonecfg:sample_server:net> end
zonecfg:sample_server> add fs
zonecfg:sample_server:fs> set dir=/goodies -This is a directory in child zone
zonecfg:sample_server:fs> set special=/usr/local -This is a directory in global zone that will be mounted as "/goodies" in child zone. Working with this directory has direct effect on the mounted directory in child zone
zonecfg:sample_server:fs> add options [rw,nodevices]
zonecfg:sample_server:fs> set type=lofs
zonecfg:sample_server:fs> end
zonecfg:sample_server> verify
zonecfg:sample_server> commit
zonecfg:sample_server> exit
[jemin][$PWD] #

ZONE INSTALLATION

[jemin][$PWD] # zoneadm -z sample_server install


ZONE BOOTING

Booting zones require two terminals

1. On the first terminal,
[jemin][$PWD] # zlogin -C sample_server

2. On the second terminal
[jemin][$PWD] # zoneadm -z sample_server boot

3. If the booting process is successful, installing process of the zone shows up which looks similar to installing process of the solraris OS. Choosing appropriate options will successfully load zones to be active.


CONFIGURING IP of the ZONE

There is no limit in allocating IP to the zone. However, allocating IP to a zone is only possible from the global zone. This process can be implemented using "ifconfig" command

[jemin][$PWD] # ifconfig e1000g0:1 "IP address/netmask" up

2007년 8월 11일 토요일

Solaris - Gnome screen endless repitition (Eating up CPU)

I am a user of Open Solaris Nevada b64a, running it on LG Xnote R-500 series with Nvidia 8400 series on board.
Recently I have happened to come across an annoying error related to Gconfd(Gnome 2.16)

After entering the username and password, the login screen keeps on appearing. Other modes(such as failsafe modes, CDE login) works fine. However the JDS login did not work out, printing out an error message saying that it is unable to share any resources.

#sh NVIDIA....
#nvidia-xconfig ( this showed an "Segmentation fault" error, transitioning it to core dumping)

I managed to get it fixed by removing the NVIDIA pakage manually(pkgrm), then installing it again. This does not seems to be the proper way to troubleshoot however it works out fine.
I would be grateful to hear any better explanation of this phenonmenon.

2007년 8월 5일 일요일

Admin을 위한 일반 명령어 (펌)

Admin을 위한 일반 명령어

현재 시스템의 Architecture를 확인
# arch -k : Display The kernel architecture
Inode 삭제 명령어
# clrl /dev/dsk/c0t1d0s7 231 : 231 inode를 삭제

Text파일에서 특정 문자 추출해내는 명령
# cut -d":" -f1 /etc/passwd > /tmp/user : passwd file에서 유저부분만 추출해서 /tmp/user 파일로 저장
# ypcat passwd cut -d":" -f1 > /tmp/user

Disk 사용량 계산
# du -s . : 현재 및 SUB-dir까지의 전체 Disk사용량 (du:disk use)
-k . : killo byte 단위로 확인
Text file의 비교와 Directory간의 상이한 내용의 비교
# diff /a /mnt : /a, /mnt directory 를 비교
# diff /a /b : /a, /b Text file 의 비교
EEPROM의 내용을 명령행 에서 변경
# /usr/sbin/eeprom : 상태확인
# /usr/sbin/eeprom boot-device=disk3 : 값 변경
File type을 확인 할때
# file /etc/passwd /etc/passwd: 아스키 텍스트
# file core core : ELF 32-비트 MSB 코어 파일 SPARC 버전 1, 원인수행 'sleep'
: core file 이 왜 생성됬는지 보고 하고 있다.

File or Directory 을 지울때
# rm file_name ; 단일 파일을 지운다.
# rm -r /dir_name ; 디렉토리까지 전부 삭제한다.
# rm -i file_name ; "-i"옵션은 파일을 지우기 전에 한번 더 확인한다.
# rm 'file name' ; 중간에 공백이 있는 파일 지울때.
File 검색을 위한 명령어
# find ~ -name '*%' -print -exec rm {} \;
: home 디렉토리 '%'로 끝나는 화일 탐색하여 보여주면서 삭제
Option 분류(검색기능이 상당히 많다. man page로 확인)
-atime n ; accessed n days ago
-ctime n ; change n days ago
-mtime n ; midified n days ago
-perm ; 해당 되는 퍼미션 파일 검색

Key input 제대로 안될 때 Remote에서 Key mode를 바꾼다.
# kbd_mode -a

Process를 강제 종료 시킬때
# kill pid : 통상 process 종료 시킬때
# kill -9 pid : 강제 종료 시킬때
# kill -HUP pid : process를 hangup
# kill -SEGV pid : process를 강제로 segmentation fault 시킬때
Process관련 명령어
/usr/proc/bin Directory에 다수가 있다.
proc tools -
proc, pflags, pcred, pmap, pldd, psig, pstack, pfiles, pwdx, pstop, prun, pwait,
ptree, ptime
File list를 표시한다.
# ls -al : 모든 file들을 long형태로 자세히 listing
# ls -ald : directory를 확인 할 때
# ls -li : inode number를 보고자 할 때
NIS 의 기동 여부 확인
# nisls -l : 만일 서버가 다운되었다면 아래와 같은 메시지가 뿌려진다.
"NIS+ server unreachable"
특정 Disk partition 의 자세한 정보 획득
# prtvtoc /dev/rdsk/c0t0d0s0 : volume Table 의 내용 볼 때
위는 c0t0d0s0 slice에 대한 자세한 Information을 보여준다.
시스템의 상세 Configuration을 확인하는 명령어
# prtconf : System Configuration을 보여준다.
# sysdef : Current system definition을 출력
# /usr/platform/`uname -i`/sbin/prtdiag : H/W 정보 (sol 2.6)
; Display system diagnostic information
; SUN 장비에만 적용되고 Axil등에서는 안됨.
CPU를 Enable 또는 Disable
psrinfo , psradm
# psrinfo [-v] : CPU 정보확인
# psradm -f 2 3 : 2,3번 CPU를 off_line
# psradm -n 2 3 : 2,3번 CPU를 on_line
: 대형 서버 등에서 CPU 수를 제한하여 성능 test할 때 유용하다.
/etc/shadow 파일의 update
# pwconv : /etc/shadow file 생성 및 modify
실행된 명령어들 Display
lastcomm 설정방법
# touch /var/adm/pacct ; 꼭 이렇게 하지 않아도 되며, 보안유지가 필요한 곳이라면,
다른 DIR에 다른file_name으로 숨겨도 된다.
그러나 볼때는 반드시 /var/adm/pacct 로 copy하여 놓은후 사용
해야 함.
# /usr/lib/acct/accton /var/adm/pacct
# lastcomm
Sytem Reconfiguration BOOT
# reboot -- -r :
rlogin 접속
# rlogin -l hong basic : hong으로 basic시스템에 콘솔 접속
Key-in을 위한 I/O setting
# stty -a : setting된 key 들을 보여준다
# stty erase ?임의의키? : erase 단축기능을 임의의 키로 바꿀 때.
현 유저소유의 비어있는 파일을 생성 시킨다.
# touch cream
# ls -al cream
-rw-r--r-- 1 storming staff 0 10월 21일 17:02 cream
process,가상메모리,디스크,cpu Monitoring 통계치를 보여준다
# vmstat 1 100 : 1은 interval이고, 100은 count이다.

현재 접속 사용자에게 메시지를 뿌린다.
wall : write to all users --> /usr/sbin/wall [-a] [-g] [filename]
- 기능 : Broadcast Message from ...
- option : -a broadcast message to the console
and pseudo-terminals.
-g grpname broadcast to a specified group only.
# wall -a text_file : text_file의 내용이 터미널 에 뿌려진다.
접속 사용자 확인 명령어
# who -a : 접속상태 의 자세한 정보
# who -r : 현재 RUN Level 확인
프레임 버퍼의 상태 변경
# /usr/platform/'uname -i'/sbin/cg14config

시스템 log file 들
/var/adm/utmp , utmpx
/var/adm/wtmp , wtmpx
/var/log/syslog
/var/adm/pacct
설명 : last 등의 명령어로 위의 파일들의 내용을 볼수 있는데, 유저의 사용상황은
위의 파일에 계속 쌓이게 된다.
그런이유로 위 파일이 비대해지면, zero파일로 많들어 줄 필요가 있다.
#cp /dev/null utmp 이런 식으로 ...
C2 보안 레벨 이용 명령
- /etc/security/bsmconv , bsmunconv
위의파일 이용하여 특정 호스트 및 유저의 활동상황을 감시할수 있다.

2007년 7월 29일 일요일

SPARC, AMD based servers and storages 및 Consolidation-

http://kr.sun.com/servers/midrange/v490 - Sunfire V490(mid-range level server)
http://kr.sun.com/servers/midrange/v890/ - Sunfire V890(mid-range level server)

http://kr.sun.com/products/hardware/servers/midrange/sunfire4900/ (mid-range)
http://kr.sun.com/products/hardware/servers/midrange/sunfire6900/ (mid-range)

http://kr.sun.com/products/hardware/servers/highend/sunfire_e25k/ (enterprise level)
http://www.sun.com/storagetek/disk_systems/midrange/6920/ (mid-range storage)
http://kr.sun.com/storage/workgroup/3000/3500/3510/ (entry level storage)
http://kr.sun.com/products/hardware/servers/entry/x4200/ (entry level)

http://kr.sun.com/servers/entry/x2100/ (entry level)

위의 링크를 참조하면 Sun의 장비에 대한 다양한 정보를 얻을 수 있습니다. 각각 entry level 서버에서 부터 high end 서버까지, 그리고 mid-range, entry level급 스토리지에 대한 정보를 얻을 수 있습니다. 자세한 정보는 제품의 특징 및 성능을 객관적인 지표로 나타내 주지만, 왜 Sun Microsystems 장비를 사용하는 것이 고객의 입장에서 이익이 되는지 쉽게 다가오지않을 것입니다. 그렇기 때문에 Sun 장비를 사용하는 것이 장점을 가지는 지에 대해서 몇가지 각도에서 고찰을 해보고자 합니다.

1. Network 환경의 개선 - 서버 및 스토리지의 통합적 전략 구현 (IT 인프라 관리의 goal)

네트워크 환경의 개선을 위한 기본적 쟁점은 서버 및 스토리지의 통합을 지향하는 것에서 부터 출발합니다. 보편적으로 기업에서 IT 인프라를 확장하기 위해서는 IT장비를 추가적으로 구매하는 것으로 해결하게 됩니다. 이러한 방식으로 기업의 IT 인프라가 확장될 경우 다양한 스펙을 갖춘 제품이 공존하게 된다는 점이 문제점으로 직결됩니다. 예를 들어 소프트 웨어적 측면에서linux, window, solaris based 제품 및 하드웨어적 측면에서는 IBM based, HP based, Sun based 장비들이 혼재하게 되는데, 각 장비의 호환성에 대한 문제, 각 OS의 호환성의 문제 등이 발생하게 됩니다. 통계적인 수치로 보았을 때, 기업의 IT 관리 비용의 75%가 이렇게 복잡하게 구성이 되어있는 IT 시스템의 유지 보수 비용으로 들어가며 실질적인 새로운 투자는 25%에 지나지 않습니다. 혼재되어 있는 IT시스템은 관리 자체가 쉽지 않으며, 새로운 시스템의 도입에 투자되어야 할 비용이 leak되는 결과를 낳게 됩니다. 결국 이러한 leak 비용은 적기에 business를 확장해야 하는 기업의 입장에서 걸림돌로 작용하게 되며, 시원한 solution이 없는 답답한 상황을 초래하기 마련입니다.

이러한 측면에서 보았을 때, IT 시스템을 통합한다는 것은 관리의 비용적, 인적 측면에서 유리할 뿐만 아니라 향후 upgrade 또한 용이하게 해준다는 측면에서 관심을 기울일만한 부분이 아닐 수 없습니다. 이러한 통합적인 전략을 구현하기 위해서 IT 시스템은 고성능, 시스템 이용률 제고, 저비용/고효율 구조, 안정성, 가용성, 관리의 용이성 등의 특성을 가져야할 필요성이 있습니다. 이러한 특징들을 살펴보며 Sun Microsystems의 system들이 가져다 줄 수 있는 이점들에 대해서 언급해보고자 합니다.

1. 고성능

IT 시스템의 갖춰야할 필수적인 요구사항으로서 고성능은 가장 먼저 언급되어야 할 부분입니다. 위의 그림에서 볼 수 있듯 Network 상에서 user, data, 요구되는 device 및 네트워크에 사용되는 bandwidth는 꾸준한 증가세를 보이고 있음을 알 수 있습니다. 이렇게 늘어나는 정보들을 신속하게 처리하기 위해서 IT 시스템들의 성능 향상은 필수적입니다. 시스템의 성능향상은 전반적인 사항들이 고려되어야 하지만, 대체적으로는 cpu에 영향을 받습니다. 이러한 CPU의 성능을 고려하는 척도는 보통 두 가지가 있는데, CPU 의 속도를 빠르게 가져가는 방향과, CMT기반의 high throuh put을 목적으로 한 프로세스 처리능력을 향상시키는 방향이 있습니다. 많은 Sunfire 시스템들이 코어프로세서로 채택하고 있는 UltraSPARC-IV+ Processor는 위에 언급한 두 번째 방향으로 특화된CPU입니다. 많은 I/O stream을 handling하고, 동시다발적으로 프로세스를 처리하기 위해서는 Thread-level parallelism (TLP) 개념을 채택하는 것이 유리하며, 이는 일반 PC가 아닌 서버급 장비의 CPU로서 더욱 안정성을 높일 수 있다는 장점이 있습니다. 향후 출시될 T1 및 Niagara 프로세서의 Spec을 살펴보면 Sun Microsystems의 향후 CPU 채택의 방향을 알 수 있겠습니다.

위의 그림을 살펴보면 향후 Sun의 프로세서들의 특징을 살펴볼 수 있는데, Single thread performance 와 Network Facing 보다는 Data facing 및 Throughput performance multi threaded 쪽으로 더 치중하고 있다는 것을 살펴볼 수 있습니다. 이러한 Sun의 CPU와 장비들의 결합을 통해 server 및 storage부분의 고성능을 보장하게 됩니다.

cf)

UltraSPARC-IV+ 특징
• 2 UltraSPARC III Cores
• 2 MB Level-2 Cache
• On-Chip tags and data
• 32MB Level-3 Cache
• On-Chip tags, off-chip data
• Optimized System Interface
• 10-15% 이상의 성능 향상
• Optimized Memory Interface
• US-III, US-IV 대비 두 배의 메모리 용량
메모리 오퍼레이션 성능 향상
• US-IV 대비1.5 - 2배의 performance 업그레이드
• 완벽한 바이너리 호환을 통한 투자보호


2. 시스템 이용률 제고 및 저비용/고효율 구조

시스템의 이용률과 TCO(Total Cost of Ownership)간에는 밀접한 연관 관계가 존재합니다. 시스템의 이용률을 높힐수록 필요한 장비를 줄일 수 있으며, 이는 기업의 비용과 직접적인 관계를 형성하게 됩니다. 그러면 이러한 기업의 부담을 줄이고, 관리의 효율성을 높히기 위한 방안으로 시스템의 이용률을 제고하는 것은 어떠한 기준으로 이루어져야 하는지에 대한 고찰이 필요하게 됩니다.

시스템의 이용률 제고는 효율적인 IT infrastructure를 구성하는 것에서 부터 출발을 하게 됩니다. 효율적인 infrastructure를 구성하기 위해서는 "위험성, 비용, 자원사용" 등의 세 가지 요소를 고려해야할 필요가 있습니다.
위험 요소는 최대한 줄여야 하고, 최소한의 비용을 들여야 하며, 가능한 한 적은 자원을 사용해야 한다는 것이 관심사가 됩니다. 그러나 통합을 염두에 두고 시스템을 추가하는 경우가 아닌이상, 각 장비들의 spec은 천차만별로 혼재하는 경우가 발생하게 되며, 이에 따른 관리비용이 필연적으로 상승할 수 밖에 없습니다. 또한 애플리케이션 운영측면에서 살펴보면 서버를 효과적으로 관리하지 못할 경우 핵심 애플리케이션의 가용성이 떨어지게 됩니다. 즉 관리 비용은 증가하면서 동시에 응용 프로그램의 가용성이 떨어지는 결과를 발생시키게 됩니다. 또한 각 서버별로 업데이트 및 보안 관리가 어려워 전사적인 차원에서 볼 때 TCO가 상승하며, 효율적인 관리가 어렵게 됩니다. 결국 이러한 비효율적인 IT infrastructure는 고비용/저효율로 이어지게 되며 IT system이 애물단지로 전락하게 되는 효과를 발생시킵니다.

이러한 문제점들을 해결하기 위해서는 중앙에서 관리할 수 있는 일원화된 시스템이 구성되어야 하며, 이를 위해 가장 큰 영향을 미치는 것은 OS가 되게 됩니다.

http://kr.sun.com/products/software/os_platforms/os_platforms.html (Sun OS - Solaris)

Sun Microsystems의 Solaris는 이러한 일원화된 관리를 용이하게 해주는 여러가지 기능들을 지원하고 있으며, Sun hardware 와의 compatibility 측면에서도 안정성을 자랑하게 됩니다. Low end 부터 high end 까지 그리고 이러한 제품들을 총괄하는 mangement까지 Sun의 제품들은 일원화된 통합 솔루션을 지향하고 있습니다.

3.
안정성, 가용성, 관리의 용이성

이러한 일원화된, fully compatible한 통합된 IT infrastructure는 그 가용성, 안정성 그리고 관리의 용이성 측면에서 일괄된 장점을 가지게 됩니다. 이러한 통합된 관리체계는 비용적 측면에서 TOC를 줄이고, ROI(Retrun on Investment)를 높여주는 효과를 가지게 되며, 향후 업그레이드 및 유지보수 비용을 절감하고, 새로운 투자에 여력을 남겨두는 효과를 가져오게 됩니다. Sun Microsystems가 궁극적으로 지향하는 목표는 one point contact을 활용한 통합 솔루션을 지향하는 것입니다. 이러한 솔루션을 바탕으로, 고객의 만족을 이끌어내는 IT 환경을 보다 저렴하게, 용이하게 제공해주는 역할을 지향합니다.

제품군

SPARC Processor-Based Entry-Level Servers Essentials(V490,V890)
Sun’s x86 Opetron Server Essentials(V40,V20)
SPARC Mid-Range and High-End Server Essentials(E4900~E25k)
Sun Fire X4100, Sun Fire X4200, and Sun Fire X2100 Server Essentials
Entry-Level StorEdge Products Essentials(스토리지텍 3000 series)
Mid-Range StorEdge Products Essentials(스토리지텍 6920)

2007년 7월 22일 일요일

Solaris 활용하기 (유저 생성 및 관리)

유저 관리

Basic Concept


Solaris 및 Unix 기반의 OS는 유저와 관련된 계정을 하나의 디렉토리 안에서 관리를 하도록 하고 있으며 보통 root이하 export 디렉토리 밑으로 지정을 하게 됩니다. 이후의 유저의 생성, 수정, 삭제 작업은 이하의 디렉토리에 관련됩니다. 유저의 관리에 필요한 작업은
#useradd
#usermod
#userdel
이상의 세 가지로 분류될 수 있습니다.

유저 생성(useradd)

이하는 유저의 생성과 관련된 커맨드와 옵션입니다.

#useradd -u [UID number]
-d [지정 디렉토리]
-s [쉘 포맷 ]
-P "role"
-c "유저에 대한 커맨트"
-m [디렉토리 생성]
-g [유저의 primary group]
-G [유저의 secondary group]

+ 계정명

이상의 옵션을 적용해서 예제를 만들어 보겠습니다.
#mkdir /export/home - /export 이하에 유저들을 총괄할 home 디렉토리를 만듭니다.
ex) #useradd -u 20000 -d /export/home/jemin -s /usr/bin/bash -P "Primary Administrator"
-c "jemin" -m jemin
이상의 커맨드는 uid가 20000 (필수 옵션)
유저의 홈디렉토리는 /export/home/jemin (필수 옵션)
유저가 접속할 때 사용하는 기본 쉘은 bash shell
유저에게 부여된 role은 Primary Administrator
유저에 대한 comment는 jemin
-m옵션은 생성하라는 의미의 옵션입니다.(필수 옵션)
이후에 계정의 이름은 jemin
인 유저를 만드는 옵션입니다.
#passwd jemin - 유저에 대한 패스워드 생성


유저 수정(usermod)

유저의 정보에 대한 수정은 관련된 명령어를 통해서 할 수 있습니다. usermod와 관련된 명령어와 옵션을 확인하면 아래와 같습니다.

#usermod -o [allow a UID to be duplicated]
-m [-d옵션과 더불어 유저의 home 디렉토리를 새 위치에 locate시킵니다.]
-l [유저의 login name을 수정하는 옵션]
-f [-f옵션 뒤에 기간을 설정하게 되면, 유저가 일정 기간을 접속하지 않을 경우
계정이 lock되게 됩니다.]
-e [유저의 계정의 한계 기간을 설정합니다. 이 기간을 초과할 경우 계정이 lock
됩니다.]
-g,G [유저가 속한 group에 대한 정보를 수정하는 옵션입니다.]
-A [유저에게 권한을 부여합니다.]
-P [유저에게 profile을 부여합니다.]
-R [유저에게 role을 부여합니다.]

ex) #usermod -m -d /export/home/jeminpark -l jeminpark jemin [-f, -e, -A, -P, -R, -g, -G]
위의 명령어에서 볼 수 있는 두가지 변화는,
첫째로 -m옵션과 -d옵션을 사용하여 새로운 디렉토리를 지정한 점,
그리고 유저의 이름을 jemin에서 jeminpark로 변경을 했다는 점을 들 수 있습니다.

유저 삭제(userdel)

유저 삭제 커맨드는 -r옵션이 있는 것과 없는 것으로 구분할 수 있습니다.
#userdel jemin
#userdel -r jemin
이 때의 -r 옵션의 유무에 따라 계정의 홈 디렉토리를 삭제하는지 여부를 결정합니다.
-r 옵션이 있는 경우 : 계정 및 홈디렉토리 전부 삭제
없는 경우 : 계정만 삭제



2007년 7월 10일 화요일

Solaris 활용하기 (RBAC)

참조 : http://docs.sun.com/app/docs/doc/819-3321/6n5i4b773?a=view


RBAC(Role Based Access Control)

RBAC는 Role Based Access Control의 약자로서 Solaris 의 보안체계 중
하나입니다. RBAC는 특정 application이나 task에 접근하는 user에게
접근권한을 부여 또는 금지하는 기능을 갖춘 체계를 의미합니다. 기존의
UNIX 계열의 all-or-nothing 체제의 관리시스템과는 다르게 권한을 각각
독립적으로 부여해서 훨씬 유연하게 관리를 할 수 있다는 장점이
있습니다. UNIX의 유저 관리 체계와 Solaris의 RBAC 모델의 차이점을
알아보고 RBAC에 대한 간략한 concept을 소개하고자 합니다.

1. UNIX

유닉스 체제하에서 root user(super user)는 시스템을 통제/관리할
수 있는 전권을 가집니다. Root유저는 시스템에 관련된 모든 활동(파일 관리,
프로세스 관리, 디바이스 관리 etc)이 가능합니다. 모든 활동이 가능하기
때문에 root user가 아닌 타 user가 root 권한을 어떠한 경로를 통해서
획득했을 때, 획득한 유저는 시스템을 임의로 바꿀 수 있게 됩니다.
또한 이러한 관리자의 역할을 유연하게 가져갈 수 있는 컨셉이 부족합니다.

2. RBAC

UNIX와는 다르게 Solaris의 RBAC 체제는 위에서 언급한 UNIX 체제를 보완하기
위해 root user외에 특정 역할을 수행할 수 있는 role의 개념을 도입했습니다.
Solaris 의 관리 모델은 특정 역할을 만들고 이러한 권한이 분산된 체계를
통해 유연하고 안전하게 관리할 수 있다는 장점을 가집니다.

RBAC 체계의 이해를 위해서는 Profiles, Role, User에 대한 정의를 내릴 필요가
있습니다.



  • Profile : RBAC 체계의 profile은 super user의 권한들을 세분화해서 정리한 것을 의미합니다. 예를 들어 네트워크에 대한 관리자의 권한 자체를 profile이라고 볼 수 있겠습니다.

  • Role : Role은 위에서 언급한 profile들을 알맞게 묶어서 하나의 가상 역할을 정의한 것을 의미합니다. 예를 들어 "Network Administrator"라고 정의된 Role은 Super user의 네트워크에 대한 profile들을 수행할수 있도록 승인된 역할이라고 보면 되겠습니다.

  • User : Solaris의 RBAC 시스템은 이렇게 정의된 Role을 User에게 부여함으로서 특화된 권한을 지니는 유저가 발생할 수 있도록 합니다. 예를 들어 Network Administrator의 역할을 User A에게 부여했다고 가정했을 경우 user A 는 일반 유저이지만 네트워크에 대해서는 관리자로서의 권한이 주어진다고 얘기할 수 있습니다.


위에서 살펴본 것처럼 Solaris의 RBAC은 Super User의 권한을 분산시켜서 시스템을 관리해 나가는 방식을 취하고 있고 보안적인 측면이나 효율성 측면에서 향상된 기능을 제공하고 있음을 살펴볼 수 있었습니다.



2007년 7월 8일 일요일

bzip2 활용하기

bzip2 활용하기


bzip2는 block sorting file compressor입니다.
디렉토리에 아래와 같이 4개의 파일이 존재할 때,

file1, file2, file3, file4

"bzip2 -z file1 file2" 라는 명령어를 치면(압축)

압축파일, file3, file4

의 형태로 디렉토리 내용이 변경됩니다.

압축을 풀때의 option은 "-z"대신에 "-d"를 사용합니다.

"bzip2 -d 압축파일"

Open Solaris 활용하기 (SSH 통신)

Open Solaris 활용하기 (SSH 통신)


NFS를 통한 파일시스템 공유가 아닌 root 권한으로, 공유설정이 되어 있는 파일시스템
외의 내용에 접속하여 복사해오는 방법을 알아봅니다.


1. 서버

1단계
"cd /etc/ssh"
"vi sshd -config"
"Permit Root Login" 이라는 항목을 찾아서 "no"로 되어 있는 것을 "yes"로 변경합니다.

2단계
"cd /etc/default"
"vi login"
"CONSOLE=/dev/~"라고 되어있는 부분을 찾아서 이 라인을 주석처리 합니다.
(CONSOLE 앞에 # 추가)

3단계
"svcadm retart ssh"

2. 클라이언트

"scp -r 서버IP:/공유경로/해당파일 /복사하고자 하는 경로"
위의 커맨드를 실행시키면, nfs에 의해 share하고 있지 않은 경로의 파일을 복사해올 수
있습니다. 이때 root유저의 ID와 비밀번호를 알아야 가져올 수 있습니다.

Open Solaris 서버로 활용하기(NFS)

Open Solraris를 서버로 활용하기 (NFS)


Solaris와 Linux등 UNIX계열의 OS가 가지는 장점은, NFS를 통해 다른 운영체제를 가진
개인유저간의 실질적인 네트워킹이 용이하다는 점입니다.

또한 선택한 사용자만 접근을 허락하고, 공유할 수 있는 범위를 제한하는 등의 보안 상의
장점등을 지닙니다.


서버로 기능하기


1. "Administration-공유폴더" 탭을 열면
"공유 폴더 설정" 창이 나타나며 우측의 메뉴에 "더하기" 메뉴를 통해 원하는
경로만을 공유할 수 있도록 합니다.

여기에 접속하고자 하는 사용자는 서버역할을 하고 있는 PC의 IP 주소를
"dfshares IP"
또는
"mount -F ufs IP:/공유경로"
명령어를 통해 접속할 수 있게 됩니다.

2. 커맨드를 통해 접속하는 방법

참조site : http://docs.sun.com/app/docs/doc/801-6634?q=nfs%2C+solaris

nfs를 가동하는 방법은

"vi /etc/dfs/dfstab"을 통해서 dfstab 파일에 아래와 같은 커맨드를 입력합니다.

"share [-F nfs] [-o specific-options] [-d description] pathname"

esc + ":wq"

dfstab 파일에 위와같은 명령어를 넣게 되면 컴퓨터를 가동하면서 자동적으로
공유하고자 하는 경로가 지정되게 됩니다.

ex) " share -F nfs -o ro=chester,rw=homedog,root=halen /usr/src"
위와 같은 예에서 볼 수 있듯이 /usr/src 이하의 경로를 nfs를 통해서 공유하되,
chester는 read only 로 제한하고 homedog에게는 read/write 권한을 부여, halen에게는
root유저의 권한을 부여하는 것을 알 수 있습니다.

서버를 운영/종료하는 command는 다음과 같습니다.
"/etc/init.d/nfs.server start"
"/etc/init.d/nfs.server stop"

여기에 접속하고자 하는 사용자는 서버역할을 하고 있는 PC의 IP 주소를
"dfshares IP"
또는
"mount -F ufs IP:/공유경로"
명령어를 통해 접속할 수 있게 됩니다.

Open Solaris 설치하기(네트워크)

Open Solaris 설치하기 (네트워크)

그래픽 카드가 활성화 되면 GUI 기반의 Solaris를 사용할 수 있습니다.
로그인 시에, 사용자 이름은 "root", 비밀번호는 설치시에 설정했던 비밀번호를 입력하고
OS를 가동합니다. OS를 가동한 후 네트워크를 설치해서 인터넷을 사용하는 법을 알아보겠습니다. 실제로 사용한 방법은 두 가지입니다. 기본적으로 Solaris에서 제공되는 Network administrator를 이용한 방법과 Netprof라는 별도의 패키지를 활용한 방법을 설명합니다.

1. Network administrator

좌측 하단의 커피모양의 아이콘을 클릭하면, 여러가지 커맨드들이 있는 것을 볼 수 있습니다.
이 때,
"Administration"메뉴로 들어가서 "network" 메뉴로 들어가면 "네트워크 설정" 창을
볼 수 있습니다. (터미널 창에 "network-admin"이라고 입력해도 됩니다.)
"네트워크 설정" 창에 보면 드라이버가 인식되어 있는 것을 확인할 수 있습니다.
터미널 창을 열고(All Application - 시스템 도구 - 터미널),

"cd etc"
"cp nsswitch.dns nsswitch.conf"
의 커맨드를 차례로 입력합니다. 이는 dns에 대한 정보를 configuration 파일에 덮어쓰는
것을 의미합니다.

이후,

"vi /etc/profile"
명령어로 profile 파일을 열어서 맨 위에

"TMPDIR=/tmp"
"export TMPDIR"
두 줄을 첨가하고 저장합니다.

이후 "reboot"라는 명령어를 입력하면, PC가 리부팅 되면서 드라이버를 인식하고 연결되어
있는 네트워크를 인식하게 됩니다.

2. Netprof

Netprof 는 기본적으로 제공되는 Network Administrator와 다를 패키지로써 네트워크 로딩
속도 및 네트워크 연결관리에 좀더 안정성을 보이는 tool 입니다.

"DJMnetprof.pkg"파일을 다운 받아서
"/var/tmp" 폴더로 복사합니다. (cp DJMnetpfrof.pkg /var/tmp)
"network-admin"
커맨드를 실행시켜서 기존의 네트워크 드라이버를 비활성화 시킵니다.
"pkgadd -d"

이로써 새로운 네트워크 패키지를 사용할 수 있습니다.
컴퓨터를 재부팅 시켜서 터미널 창을 열고
"netprof"
커맨드를 실행시키면 네트워크에 연결됩니다.

3. 네트워크 소스 확인

"ifconfig -a"
"ping (hostname)"
의 커맨드를 실행시키면, 네트워크 소스를 활용할 수 있는지 확인할 수 있습니다.

4. 인터넷 연결

Open Solaris에 제공되는 기본 브라우저는 Firefox Web Brouser입니다. 브라우저를 열고
"편집 - 환경설정 - 고급 - 네트워크" 탭을 엽니다.
이때,
"연결 - 설정" 탭으로 들어가서

인터넷 벤더가 하나로, 또는 메가패스의 경우에
"프록시 설정 자동 감지"로 변경합니다.

기타 네트워크를 사용하는 경우에는
"프록시 수동 설정"으로 변경하고
알맞는 프록시를 설정합니다.

한국 썬 마이크로시스템즈의 경우에는
"webcache.korea" 포트 "8080"입니다.

환경설정이 다 끝나면 확인 버튼을 누르면 인터넷을 활용할 수 있게 됩니다.

Open Solaris 설치하기 2(그래픽 카드)

Open Solaris 설치하기 2 (그래픽 카드)


1. Solaris를 설치하기 전에 그래픽 드라이버를 다운 받아서 USB에 담아 두시기를 권장합니다.

2. Console mode로 설치가 끝난 후, 그래픽 카드를 활성화시켜서 GUI base로 전환시키는 것이
이번 글의 목표입니다. 그래픽 카드의 드라이버는 그래픽 카드 제조사의 사이트를
참조하셔서 Solraris가 지원되는 해당 그래픽 카드 드라이버를 다운 받을 수 있습니다. 제
노트북은 Nvidia Geforce series를 사용하고 있기 때문에 Nvidia 사이트로 부터 해당되는
드라이버를 다운 받을 수 있었습니다. ATI 계열은 Solraris를 확실하게 지원하는
드라이버가 있는지는 모르겠습니다.

Nvidia : http://www.nvidia.com/object/unix.html

3. 드라이버를 저장한 USB를 PC에 연결한 후,

" df -h"

라는 명령어를 치게 되면 파일 시스템과 설치지점 등에 관한 정보를 확인할 수 있습니다. 맨 하단에서 설치지점을 확인해 보면,

"/media/NO NAME"

이라는 디바이스를 확인할 수 있습니다. 이 디바이스가 연결한 USB를 의미하며,

"cd /media/NO NAME"

이라는 명령어를 커맨드에 실행시키면 USB에 접근할 수 있습니다. USB내의 파일을 확인하기 위해서,

"ls -a"

라는 명령어를 사용합니다. 드라이버가 있는지를 확인하시고 하드로 복사합니다.

ex)"cp NVIDIA-Solaris-x86-100.14.11.run /var/tmp"

copy명령을 실행한 후에 /var/tmp아래 드라이버가 복사된 것을 확인하시고,

"sh NVIDIA-Solaris-x86-100.14.11.run"

커맨드를 실행하여 드라이버를 인스톨합니다.인스톨 과정이 끝나면,

"reboot -- -r"

커맨드를 실행시켜서 재부팅 과정을 거칩니다. 이따 -r 옵션은 재부팅 과정에서 하드웨어에 맞게 드라이버를 configuration하는 것을 의미합니다.

Open Solaris 설치하기 1(프로그램 인스톨)

Open Solaris 설치하기 1 (프로그램 인스톨)


Solaris Ver. : Open Solaris b64a x66
노트북 사양 : LG Xnote R500-SP73K

GeForce Go 8400M GS

오픈 솔라리스 설치를 위한 솔라리스 버전과 제 노트북 사양을 간단하게 적어 보았습니다.
MS Windows와 비교해 보았을 때, 오픈 솔라리스는 최신 그래픽카드를 업데이트 하는
속도가 약간 떨어지기 때문에, console모드로 설치한 후 그래픽 카드를 활성화 시켜야 하는
경우가 발생할 수 있습니다. 위에 보여지는 제 노트북 같은 경우도 자동으로 그래픽 카드를
지원하지 않아서 console모드로 인스톨한 후에 그래픽을 로드하는 방식으로 활성화시켰습니다.
또한 VMware를 사용하지 않고 직접인스톨하는 방식을 기준으로 설명드립니다.

1. 파티션

솔라리스를 설치하기 위해서는 약 6.5G 정도의 하드디스크 용량이 필요합니다. OS가 설치되는
공간만 6.5G이기 때문에 충분한 하드디스크 용량을 확보할 필요가 있습니다.
솔라리스를 설치하는 경우 기존의 windows를 사용하지 못하게 됩니다. 추후 windows를 멀
티 부팅할 수 있지만, 솔라리스를 설치하고 windows를 다시 설치해야하기 때문에 용량을
적절하게 배분하여 솔라리스를 설치하시기를 권장합니다. 저 같은 경우는 120G의 하드의
반 정도를 파티션 설정을 했습니다.

2. BIOS 셋업

최초 부팅시에 F2를 누르시면 BIOS setup 메뉴로 들어가게 됩니다. BIOS setup의
"advanced" 메뉴에서 AHCI Configuration 을 "Disabled"로 변경합니다.

3. CD 인스톨
  • CD를 삽입하고 부팅시키면 최초 인스톨 화면이 나타납니다. 이때 Solaris express(2번째)를 선택하고 인스톨을 계속합니다.
  • 6개의 항목이 나타나게 되는데, Solaris가 그래픽 카드를 자동으로 지원하는 경우는 1번의 "Solaris Interactive (Default)" 모드로 설치하고, 그렇지 않은 경우는 4번의 Solaris Interactive Text (Console session)으로 설치를 합니다. 1번으로 설치가 가능한 경우에는 자동으로 설치가 되지만 4번으로 설치하는 경우, 그래픽 카드 드라이버를 다운 받아서 활성화해주는 과정이 필요합니다. 위의 노트북 사양은 4번의 경우에 해당되어서 별도로 그래픽 드라이버를 다운 받아서 설치하는 과정이 필요했습니다. 이 후의 과정은 4번으로 설치를 할 경우를 설명드립니다.
  • 기본적으로 설치 커맨드를 따라가면 설명 화면이 자세하게 나타나기 때문에, 몇가지 유의해야 할 점만 짚도록 하겠습니다.
  • Standard mode로 설치를 하시길 권장합니다.
  • manual reboot로 설정하시길 권장합니다.
  • 설치할 device를 선택할 때 auto layout이 아닌 manual layout으로 설치하시고, edit모드를 통해 설치할 디바이스 용량을 전체 할당한 용량으로 설정할 것을 권장합니다. Auto layout으로 설치하는 경우, 솔라리스를 설치할 하드 공간을 둘로 나눠서 설치에 필요한 용량만큼의 하드와 서버 운용을 위한 하드로 나뉘게 됩니다. Desktop OS로 Solaris를 사용하는 것이 목적인 만큼 manual layout으로 설정하여 편하게 사용하기를 권장합니다.
  • 인스톨 과정을 모두 마치면 console mode로 인스톨이 되며, 사용자 로그인시에 root(마스터 개념)와 패스워드를 입력하면 사용할 준비를 마치게 됩니다.














2007년 7월 7일 토요일

오픈 솔라리스

정보출처 :
http://www.opensolaris.org/os/
http://www.infoworld.com/article/05/06/13/HNopensolaris_1.html

Sun Microsystems는 2005년, CDDL(Common Development and Distribution License)
하에 오픈 솔라리스를 공개했습니다. 커널과 네트워킹 소프트웨어를 포함한 여러 기술들이
제공되며, 특히 커널은 예측 자가 치료 기술 및 OS 내에서 응용프로그램을 격리시키는 Solraris
Container 기술등이 포함되어 있습니다. 또한 시스템 라이브러리와 커맨드들이 포함되어 있습니다.

사용자들은 소스코드를 다운 받아서, 개인의 코드를 접목시켜 상업용 제품을 개발하고 판매할 수도 있습니다. 오픈 솔라리스는 완전 무료로 배포되는 오픈 소스 제품입니다.

오픈 솔라리스 배포를 통해 Sun Microsystems는 솔라리스의 개발환경을 개선시키는 것을 목표로 삼고 있으며, 오픈 솔라리스를 통해 개발될 다양한 소스코드와 기존의 상업용 솔라리스의 접목을 통해 더 진보된 OS 체제로 발전시키는 것을 최종 목표로 삼고 있다고 볼 수 있겠습니다.

이러한 목표들은 오픈 1년 만에 500만건 이상의 라이센스 등록, 오픈 솔라리스 커뮤니티 회원수
14000명 이상 등의 결과로 이어졌습니다. 특히 오픈 커뮤니티에서 개발된 기술들이 접목된
결과물은 Solraris 10으로 이어졌습니다. 새 버전의 솔라리스는 PostgreSQL 및 데이터의 보안과 보존을 극대화 하는 새로운 파일 시스템인 솔라리스 ZFS 1.0, AMD프로세서 기반의 x86 및 x64 서버 등의 기능이 추가되기도 하였습니다.

Open Solaris Project는 Sun Microsystems Incp. 가 스폰서하는 OS 기술을 발전시키기 위한 내외부의 개발자들이 참여하는 프로젝트입니다. Sun Microsystems Incp. 는 이 공식 프로젝트에 소스 공개, high quality프로그램의 채택 등 파트너로써 여러가지 지원을 하고 있습니다.

Sun 및 파트너들의, 더 나은 OS를 추구하는 다양한 노력들을 만나보시고 새로운 정보들을 접하는 즐거움을 누려보시기 바랍니다.