SPARCS 10 채승우 시스템 관리 기본
Maintaining the System 시스템 유지하기 시스템 관리 작업 - root 계정에서 ! root 계정은 파일 퍼미션과 보안 메커니즘의 적용 X. 즉 모든 파일에 접근 및 수정 가능 모든 사용자에게 모든 권한을 준다면 그야말 로 시스템 관리가 힘들어 진다. 우분투 같은 일부 배포판에서는 root 계정을 사용할 수 없게 되어있다. 대신 sudo 를 사용하여 root 권한 으로 명령을 실행할 수 있다.
일반적으로 바로 root 로 로그인하지 않는다. 개인 사용자로 로그인 한 뒤, su 명령어를 이용 하여 root 로 로그인. 이유 : su 명령을 이용하면 로그인 시 로그가 남 게되어 누가 언제 root 권한을 이용했는지 알 수 있다. su (–) [username] - [username] 생략 시 root 로 로그인 - – 추가 시 해당 user 의 설정 파일도 같이 실행
Booting the System 시스템 부팅하기 리눅스 부팅 과정 1. 부트로더 (GRUB, LILO) 2. 커널 부팅 3. init 실행 4. runlevel 에 맞는 프로세스 실행 5. 사용자 로그인
부트 플로피 이용 - 커널 이미지가 압축되어 들어있다 - 부팅 시 압축이 풀리면서 메모리에 적재 GRUB 이용 - GRand Unified Bootloader - 대부분의 리눅스 배포판의 부트로더
- grub.conf 예시
System Startup and Initialization 시스템 시동과 초기화 Kernel Boot Messages init, inittab, and rc Files rc Files
- Kernel Boot Messages dmesg 명령 이용 : 부팅 후 부팅 메시지 확인 Linux version (Debian lenny1) (gcc version (prerelease) (Debian )) #1 SMP Wed May 12 21:56:10 UTC 2010 커널 버전, 커널이 언제 어디에서 어떤 컴파일 러로 컴파일 되었는지 보여줌
Kernel command line: root=/dev/sda1 ro quiet 어느 장치로 부팅되었는지 알 수 있다. Calibrating delay using timer specific routine BogoMIPS (lpj= ) 프로세스의 속도를 대강 잰 값. 몇몇 장치 드라 이버에서 사용할 최적의 지연 루프 성능을 알 아내기 위해 사용
… PCI: PCI BIOS revision 3.00 entry at 0xf0031, last bus=4 PCI: Using configuration type 1 for base access … PCI: MCFG configuration 0: base e segment 0 buses 0 – 255 … PCI 버스에 대한 정보 수집과 점검
다음 네트워킹, 마우스 포트, 시리얼 드라이버 를 설정 serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A 이후 리얼타임 클록, 플로피 드라이브 등 기타 하드웨어의 인식 결과가 나온다.( 만일 시스템 에 존재 한다면 )
Adding k swap on /dev/sda3. Priority:-1 extents:1 across: k 위의 줄에서는 커널이 발견한 스왑 영역의 양 을 보여준다. 그 외 전형적인 부트 과정에는 병렬 포트 발견 / 설정, 네트워크 카드 인식 / 설정, USB 서브시스 템 설정 등이 포함된다.
- init, inittab, and rc 파일 부팅되면서 장치 드라이버가 초기화되면, 커 널은 /etc (/bin 혹은 /sbin 일 수 도 있다.) 에 있는 init 프로그램 실행. init: 다목적 프로그램. 새로운 프로세스를 생성하 거나 프로그램이 종료되었을 때 다시 시작. 예시 : init 은 getty 프로세서를 실행시킨 뒤, 사용자를 기 다린다. 사용자가 오면 getty 는 login 을 실행한 뒤 꺼 진다. 이후 login 이 완료되고 꺼지면 init 에서 다시 getty 프로세서를 실행한다.
inittab 파일은 init 의 동작 제어를 위한 파일이 다. /etc 에 존재한다. 실행 레벨 (run level) 은 현재의 시스템 상태를 명시하는 숫자이다. 0: 종료, 1: 단일 사용자, 2~5: 다중사용자, 6: 재부팅 시스템의 실행 레벨이 3 으로 변경되면 /etc/inittab 에서 실행 레벨 3 으로 되어있는 명 령들을 실행한다.
실행레벨 1: 최소한의 설정 스크립트를 실행 실행레벨 2: 실행레벨 1 + 네트워크 설정을 실행 실행레벨 3: 실행레벨 1,2 + 전화 접속 로그인을 허용 … 이런 식으로 실행레벨이 정의되어있다. 레드햇과 수세 배포판에서는 실행레벨 5 에서 X 윈도우 시스템 그래픽 인터페이스 시작 데비안 : 실행레벨 2~5 이용
- rc 파일
rc 파일에는 리눅스의 시동 명령의 집합 앞서 스샷에서 봤듯이 실행 레벨에 따라 구분 되어 저장된다. K00xxxx: 기존의 서비스를 죽이는 스크립트 S00xxxx: 새로운 서비스를 시작하는 스크립트 00 에는 숫자가 들어가며, 이 숫자가 작을수록 먼저 실행된다.
Single-User Mode 단일 사용자 모드 보통 ‘ 다중 ’ 사용자 모드로 이용. 그러나 설치 중 문제가 발생하거나, 손상된 파 일시스템을 점검하거나 할 때 ‘ 단일 ’ 사용자 모 드 이용 아주 기본적인 설정만 되어있는 상태이며, 파 일시스템은 언마운트 되어 있다. 단일 사용자 모드에서 기본적으로 슈퍼유저 (root) 가 된다.
Shutting Down the System 시스템 셧다운하기 디스크 읽기 / 쓰기를 메모리에 버퍼. 따라서 전원이 나가면 버퍼가 디스크에 쓰이지 않 기에 자료 상실. 커널에서 약 5 초마다 더티버퍼를 디스크에 씀. 그러나 정상적인 종료가 가장 안전하다. shutdown [ 옵션 ] [ 시간 ] [ 메시지 ] 옵션 : -h( 종료 ), -r( 리부팅 ), -c( 취소 ), -k( 경고 )
The /proc Filesystem /proc 파일시스템
Managing User Accounts 사용자 계정 관리 사용자는 보통 사용자와 가상 사용자로 구분 시스템 데몬에서 이용하는 것이 가상 유저. 시스템 관리를 하려면 이러한 유저들을 추가, 수정, 삭제 등의 작업을 할 수 있어야 한다. 유저정보, 그룹정보, 사용자의 추가, 삭제, 수 정, 정지 등의 방법
- passwd 파일 모든 계정은 /etc/passwd 파일에 기록되어있다. 형식 : username:password:uid:gid:gecos:homedir:shell 예시 : root:ZxPsI9ZjiVd9y:0:0:The root of all evil:/root:/bin/bash aclark:BjDf5hBysDsii:104:50:Anna Clark:/home/aclark:/bin/bash
- passwd 파일 예시 1
- passwd 파일 예시 2
- 섀도우 패스워드 암호화된 패스워드를 일반 사용자에게 노출하 는 것은 보안상 위험 /etc/passwd 의 패스워드 항목에 x 나 * 만 표시 /etc/shadow 에 암호화된 패스워드 저장 pwconv 와 같은 프로그램을 이용하여 구현할 수 있다. ( 보통의 배포판에서는 이미 사용 ) 데비안의 경우 : shadowconfig on
- PAM 과 기타 인증 방식 각자 원하는 보안에 대한 레벨이 다르다. 커버로스 등 다른 인증 방식들도 존재. 그러나 다른 인증방법을 사용하기 위해서는 사용자 인증에 관련된 모든 프로그램을 새로 컴파일 해야 한다. PAM(Pluggable Authentication Methods): 교체 가능 인증 방식
- 그룹 파일 –l 옵션을 통해 디렉토리의 파일을 살펴보면 아래 그림과 같이 파일 정보가 같이 보인다. 여기서 녹색으로 동그라미 친 부분이 그룹에 관한 정보이다. 이러한 그룹들은 /etc/group 에 저장되어 있다. groupname:password:gid:members 그룹 추가 : /etc/group 수정 or gpasswd 이용
- 그룹 파일 예시 1
- 그룹 파일 예시 2
- 계정 만들기 Way 1 /etc/passwd 에 항목 추가. 사용자 홈 디렉토리 생성. 사용자 기본 설정 파일 복사 등등 Way 2 adduser 명령 사용 ( 리눅스종류에 따라 useradd 일 수도 있음 )
- 계정 삭제와 비활성화 /etc/passwd 에서 해당 항목 삭제. /etc/group 에 서 해당 유저 제거. 사용자의 홈 디렉토리 제거. or userdel 명령 이용. userdel [ 옵션 ] [username] 옵션 : –r( 홈 디렉토리도 같이 제거 ) 사용자가 생성, 소유한 기타 파일 제거
보통 기타 파일 ( 수동으로 지워야하는 파일 ) 은 중요하지 않기에 나둬도 상관 없다. 지우는 경우, 해당 사용자와 관련된 파일을 찾 아야 하는데, 찾는 방법은 find 명령을 사용하 면 쉽게 찾을 수 있다. find [ 디렉토리 ] [ 옵션 ] [ 옵션 값 ] –ls 옵션 : –user [username], –uid [num] 계정 정지 : passwd 파일의 암호란 앞에 * 추가
- 사용자 계정 수정 사용자 계정이나 그룹의 속성을 수정하려면 간단히 /etc/passwd, /etc/group 을 수정. usermod 혹은 groupmod 명령 이용. 사용자 ID 수정은 /etc/passwd 파일에서 해당 부분 수정 후, chown 명령 이용. chown –R [username] [homedir] chown: 새로운 사용자 ID 를 위해 사용자가 소 유하던 파일의 소유권을 변경하는 명령
- sudo 명령 권한 su, 혹은 sudo 명령을 통해 root 와 같은 권한으 로 명령을 실행 할 수 있다. 그러나 일반 사용자에게 이런 명령을 사용하 게 하는 것은 앞서 지적했던 여러 가지 문제가 발생할 수 있다. 따라서 wheel 그룹을 생성하여, 여기에 속한 사람들만 sudo 명령을 사용할 수 있게 한다. 이를 이용할 수 있는 유저들이 /etc/sudoers 에 기록되어 있다.
감사합니다.