410 likes | 657 Views
4. 시스템 관리 기본. naldo. 목 차. 1. 시스템 유지 - Maintaining 2. 시스템 부팅 – Booting 3. 시스템 셧다운 - Shutting down 4 . proc 파일시스템 5 . 사용자 계정 관리 – Managing User Accounts. 시스템 유지. Root 계정. root 계정은 파일 퍼미션과 보안 메커니즘의 적용이 안 된다 . 즉 , 모든 파일에 접근 및 수정 가능
E N D
4. 시스템 관리 기본 naldo
목차 1. 시스템 유지 - Maintaining 2. 시스템 부팅 – Booting 3. 시스템 셧다운- Shutting down 4. proc파일시스템 5. 사용자 계정 관리 – Managing User Accounts
Root 계정 • root 계정은 파일 퍼미션과보안 메커니즘의 적용이 안 된다. 즉, 모든 파일에 접근 및 수정 가능 • 루트계정에서는 제한이 없기 때문에 작은 오타나 궁금증이 거대한 재난으로 다가올 수 있다 • Ex) rm –rf / : 시스템의 모든 파일을 삭제합니다 init 1 : 런레벨을1로 바꾼다 네트워크가 끊깁니다
시스템에 관리자가 여러 명인 경우, 누가 언제 root 접근했는지 알 필요가 있다 • 일반적으로 바로 root로 로그인하지 않는다.
su&sudo • su (substitute user): 해당 ID로 전환하기 위한 명령어. 아무것도 입력하지 않으면 root 계정으로 로그인 됩니다. exit 명령어로 빠져 나올 수 있다. su(–)[username] • sudo (superuser do): root권한으로 명령 하나를 실행한다. • su는 root 패스워드가 필요하고 /etc/sudoer에서 사용을 허락한 사용자는 패스워드와 관계없이 쓸 수 있다. • sudo –s : 자신의 비밀번호로 root계정을 이용 가능
Start-up • BIOS(Basic Input/Output System) • POST(Power-On Self Test) 하드웨어 검색 및 점검 (시리얼장치, 패러럴장치, PS/2 마우스장치, 사운드장치, IDE장치, 플로피드라이브, SCSI장치, 이더넷 카드 등 • 런타임– 부트 장치 검색 (플로피 디스크, CD-ROM, 하드 디스크 파티션, 네트워크 상의 장치, USB 플래시 메모리 스틱)
Stage 1 BootLoader • MBR(Master Boot Record) • RAM에 로딩된 후 제어권을 받는다.
Stage 2 BootLoader • 커널 이미지 호출 • LILO (Linux Loader) • GRUB(GRand Unified Bootloader) • GRUB이란 리눅스를 포함하여 머신에 설치한 어떤 운영체제든 부팅할 수 있도록 해주는 다목적 부트 관리자
Kernel • 하드웨어 수준에서 다뤄지는 데이터와 어플리케이션 사이를 이어주는 다리역할 • Swapper • 장치드라이버 초기화
dmesg명령 이용: 부팅 후 부팅 메시지 확인 • /var/log/dmesg파일에 존재
Linux version 2.6.32-316-ec2 (buildd@crested) (gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) ) #31-Ubuntu SMP Wed May 18 14:10:36 UTC 2011 (Ubuntu 2.6.32-316.31-ec2 2.6.32.38+drm33.16) • 커널 버전, 커널이 언제 어디에서 어떤 컴파일러로 컴파일 되었는지 보여줌
Kernel command line: console=xvc0 root=/dev/sda1 ro • 어느 장치로 부팅되었는지 알 수 있다.
Calibrating delay using timer specific routine.. 5334.89 BogoMIPS (lpj=26674459) • 프로세스의 속도를 근사한 값. 몇몇 장치 드라이버에서 사용할 최적의 지연 루프 성능을 알아내기 위해 사용 • PCI 버스에 대한 정보 • 네트워킹, 마우스 포트, 시리얼 드라이버 설정 • 기타 하드웨어의 인식 결과
init, inittab • 장치 드라이버가 초기화 되면 커널은 /etc에 있는 init프로그램을 실행시킨다 • Init: 다목적 프로그램. 새로운 프로세스를 생성하거나 프로그램이 종료되었을 때 다시 시작. • inittab파일은 init의 동작 제어를 위한 파일이다. /etc에 존재한다.
실행 레벨 • 현재의 시스템 상태를 명시하는 숫자 혹은 문자 • Init : run-level을 바꿔줌
단일 사용자 모드 • 보통 ‘다중’ 사용자 모드로 이용. • 처음부터 부팅 직후 Superuser로 로그인 • 로그인이 필요치 않음 • 설치 중 어떤 문제가 발생해서 점검을 할 때 사용한다.
Inittab • Id:run-levels:action:process
Rc files • 리눅스의 시동 명령은 오래된 유닉스 규범에 따라 rc라는 파일명으로 저장된다 • 시스템을 실질적으로 시작하는 데 필요한 작업을 수행합니다.
디스크 읽기/쓰기를 메모리에 버퍼 • 따라서 전원이 나가면 버퍼가 디스크에 쓰이지 않기에 자료 상실 • 커널에서 약 5초마다 더티버퍼를 디스크에 씀 • 그러나 정상적인 종료가 가장 안전
셧다운 명령어 • 루트권한 필요 shutdown [옵션] [시간] [메시지] • 옵션: -h(종료), -r(리부팅), -c(취소), -k(경고)
/sbin/shutdown –r +10 • 10분뒤에 시스템이 재부팅함. • /sbin/shutdown –r +10 “rebooting” • 뒤에 경고 메시지를 붙일 수 있다. • /sbin/shutdown -c • 취소하기
halt 명령어와의 차이 • shutdown과 비슷하게 시스템을 종료 • halt = 강제 종료 • shutdown = 안전한 종료
사용자는 보통 사용자와 가상 사용자로구분 • 시스템 데몬에서 이용하는 것이 가상 유저. • 시스템 관리를 하려면 이러한 유저들을 추가, 수정, 삭제 등의 작업을 할 수 있어야 한다. • 유저정보, 그룹정보, 사용자의 추가, 삭제, 수정, 정지 등의 방법
passwd파일 • 시스템의 모든 계정은 /etc/passwd파일에 자신의 항목을 가짐 • 이 파일에는 각 행마다 한 사용자씩 특성이 명시
username:password:uid:gid:gecos:homedir:shell • Username : 아이디 • Password : 패스워드 • Uid : 사용자 아이디(user id) – 정수값 • Gid : 그룹 아이디 • Gecos : 이름, 사무실 주소, 전화번호 등등 • Homedir : 홈디렉토리 경로 • Shell : 사용자가 로그인 할 때 실행되는 프로그램명. 보통 /bin/bash, /bin/tcsh와 같은 쉘의 절대 경로를 포함
섀도우 패스워드 • 암호화된 패스워드를 일반 사용자에게 노출하는 것은 보안상 위험 • /etc/passwd의 패스워드 항목에 x나 *만 표시 • /etc/shadow에 암호화된 패스워드 저장
그룹 파일 • 사용자 그룹은 사용자 계정을 논리적으로 조직화하기 편리한 방법으로 그룹 내부의 사용자들이 파일을 공유할 수 있게 해준다 • 이러한 그룹들은 /etc/group에 저장되어 있다. groupname:password:gid:members • 그룹 추가: /etc/group 수정 or gpasswd이용
계정 만들기 • 사용자 계정을 만들려면 몇 가지 과정을 거쳐야 한다. • /etc/passwd에 항목을 추가하고, 사용자의 홈 디렉토리를 만들고, 사용자의 기본 설정 파일을 홈 디렉토리에복사해야함. • adduser명령어를 통해 한번에 가능 adduser[username]
계정 삭제와 비활성화 • /etc/passwd에서 해당 항목 삭제. /etc/group에서 해당 유저 제거. 사용자의 홈 디렉토리 제거. • userdel명령 이용. userdel[옵션] [username] 옵션: –r(홈 디렉토리도 같이 제거)
보통 기타 파일(수동으로 지워야하는 파일)은 중요하지 않기에 나둬도 상관 없다. • 지우는 경우, 해당 사용자와 관련된 파일을 찾아야 하는데, 찾는 방법은 find 명령을 사용하면 쉽게 찾을 수 있다. find [디렉토리] [옵션] [옵션 값] –ls 옵션: –user[username], –uid[num] • 계정 비활성화: passwd파일의 암호란 앞에 *추가 usermod–(L/U) [username]
사용자 계정 수정 • 사용자 계정이나 그룹의 속성을 수정하려면 간단히 /etc/passwd, /etc/group 을 수정. • usermod혹은 groupmod명령 이용. • 사용자 ID 수정은 /etc/passwd파일에서 해당 부분 수정 후, chown명령 이용. chown–R[username] [homedir] • chown: 새로운 사용자 ID를 위해 사용자가 소유하던 파일의 소유권을 변경하는 명령
sudo명령 권한 • su, 혹은 sudo명령을 통해 root와 같은 권한으로 명령을 실행 할 수 있다. 그러나 일반 사용자에게 이런 명령을 사용하게 하는 것은 앞서 지적했던 여러 가지 문제가 발생할 수 있다. • 따라서 wheel 그룹을 생성하여, 여기에 속한 사람들만 sudo명령을 사용할 수 있게 한다. • 이를 이용할 수 있는 유저들이 /etc/sudoers에 기록되어 있다. • visudo - /etc/sudoers를 편집할 수 있는 명령어