리눅스 시스템 프로그래밍-미리보기
커널과 C 라이브러리로 풀어가는(개정2판) 로버트 러브 저/김영근 역 | 한빛미디어 | 2015년 01월 35,000원
커널과 C 라이브러리로 풀어가는(개정2판)
로버트 러브 저/김영근 역 | 한빛미디어 | 2015년 01월
35,000원
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
스템에서 거의 모든 작업을 실행할 수 있다. 예를 들면 오로지 root 사용자만이 프로세스의<br />
uid를 바꿀 수 있다. 따라서 login 프로그램은 루트로 동작한다.<br />
실제 uid 이외에, 프로세스마다 유효 uid, 저장된 uid, 파일<strong>시스템</strong> uid가 있다. 실제 uid는 항<br />
상 프로세스를 시작한 사용자를 나타내지만, 유효 uid는 다른 사용자 권한으로 프로세스를 실<br />
행하도록 만드는 다양한 규칙에 따라 바뀔 수도 있다. 저장된 uid는 원래 유효한 uid를 저장하<br />
며 이 값은 사용자가 전환하기를 원할지도 모르는 유효 uid 값을 결정하기 위해 쓰인다. 파일<br />
<strong>시스템</strong> uid는 일반적으로 유효 uid와 같으며 파일<strong>시스템</strong> 접근을 검증하는 데 쓰인다.<br />
모든 사용자는 하나 이상의 그룹에 속해 있다. 주 그룹이나 로그인 그룹은 /etc/passwd에 지<br />
정하며 추가 그룹은 /etc/group에 지정한다. 따라서 프로세스마다 대응하는 gid(그룹 ID)<br />
이외에 실제 gid, 유효 gid, 저장된 gid, 파일<strong>시스템</strong> gid가 있다. 일반적으로 프로세스는 사용<br />
자 로그인 그룹과 관련이 있으며 추가 그룹과는 관련이 없다.<br />
보안 확인은 특정 범주를 만족하는 경우에만 프로세스가 해당 연산을 실행하도록 허용한다. 역<br />
사적으로 유닉스는 흑백논리에 따라 이런 결정을 실행했다. 예를 들어 uid가 0인 프로세스는<br />
접근이 가능하지만, 다른 프로세스는 접근이 불가능하다. 최근 <strong>리눅스</strong>는 이런 보안 <strong>시스템</strong>을<br />
좀 더 일반적인 보안 <strong>시스템</strong>으로 대체했다. 신규 보안 <strong>시스템</strong>에서는 참/거짓을 따지는 단순한<br />
검사를 넘어 좀 더 세밀한 접근 설정이 가능하다.<br />
1.4.4 권한<br />
<strong>리눅스</strong>의 표준 파일 접근 권한과 보안 메커니즘은 전통적인 유닉스와 동일하다.<br />
파일마다 소유자, 소유자 그룹, 그리고 세 가지 접근 권한 비트가 있다. 이 비트는 소유자, 소유<br />
자 그룹, 그 외 모든 사용자가 파일을 읽고, 쓰고, 실행하는 능력을 기술한다. 세 그룹별로 세 비<br />
트가 할당되어 총 아홉 비트로 표현한다. 소유자와 접근 권한 정보는 파일 inode에 저장된다.<br />
일반 파일의 접근 권한은 읽기, 쓰기, 실행 권한으로 명시하므로 확실히 이해하기 쉽다. 일반<br />
파일과 특수 파일 둘 다 동일하게 읽기와 쓰기 권한을 적용할 수 있지만, 특수 파일에서의 읽기<br />
와 쓰기는 의미가 달라질 수도 있으며 실행 권한은 특수 파일에서 무시된다. 디렉터리에서 읽<br />
기 권한은 디렉터리 목록 내용을 열거하며 쓰기 권한은 디렉터리 내부에 새로운 링크를 추가<br />
(파일 생성)하며 실행 권한은 경로 이름을 사용해서 디렉터리 내부로 들어가도록 허용한다.<br />
1장 핵심 개념 소개<br />
53