본문 바로가기

개발 관련 기타/Linux

(3)
Linux) DAC의 한계 [Limitations of Discretionary Access Control] DAC의 문제점 1. Confused Deputy Problem 예제. 파일 → 바이너리 컴파일 main.c (m) a.out (a) log.txt (l) Vendor (V) Read, write User (U) Read, write Read, write ACL matrix for files 위와 같이 file DAC가 설정되어 있다고 가정. - 컴파일 시 컴파일러 Vendor는 디버깅을 위해 log.txt를 남기기를 원한다. - 따라서, User는 log.txt에 대한 read, write 권한이 없다. Compiler (c) main.c (m) a.out (a) log.txt (l) Vendor (V) Read, write User (U) call Read, write Read, write Compi..
Linux) Capabilities 리눅스 Capability 도입 배경 - root로 실행 시 process의 privilege가 너무 막강함 => privilege를 세분화할 필요성 - root가 탈취 되도 안전하다 => capabilities를 통해 권한을 낮춰놓았으니 Capability 모델 - Root 권한을 세분화 해서 하나의 capability로 나타냄 - 예) = CAP_CHOWN = CAP_DAC_OVERRIDE - 파일시스템과 결합되어 사용됨 => executable 파일에 capabilties를 attach 함 - 파일과 프로세스는 Inherited Set, Permitted Set, Effective Set, Bounding Set 을 가짐 = Effective Set: 유효한 권한 (필요 시 permitted set..
Linux) C에서 mkdir -p 처럼 디렉토리 만드는 방법 $ mkdir -p (path) - mkdir -p 를 사용하면 mkdir를 하되 중간 지점에 있는 디렉토리들을 생성해줍니다. - 예를 들어) mkdir -p /etc/abc/def 라고 입력을 한다면 /etc/abc라는 디렉토리가 없더라도 -p 옵션을 통해 필요한 최종 path의 directory (/etc/abc/def) 를 만드는데 필요한 디렉토리를 만들어 줍니다. -p 옵션이란? -p, --parents no error if existing, make parent directories as needed (출저:linux.die.net/man/1/mkdir) 하지만, 소스코드에서 mkdir -p 커맨드를 사용하는 것처럼 디렉토리를 생성하려면 어떻게 하면 될까요? 아래는 dirname 함수와 stat..