Linux와 커맨드 라인 기초

touch는 새 파일을 666에서, mkdir는 새 디렉터리를 777에서 umask의 비트를 제거한 권한으로 만든다. umask가 027인 셸(shell)에서 새 파일과 새 디렉터리를 만들었을 때, 각각의 권한의 조합으로 올바른 것은?

  1. A파일 637, 디렉터리 750
  2. B파일 640, 디렉터리 750
  3. C파일 750, 디렉터리 750
정답과 해설 보기

정답: B. 파일 640, 디렉터리 750

umask는 새로 만드는 파일이나 디렉터리에서 '제거할' 권한 비트를 나타냅니다. 027은 그룹에서 쓰기(2)를, 기타에서 읽기·쓰기·실행(7)을 제거하므로, 파일은 666에서 rw-r-----(640), 디렉터리는 777에서 rwxr-x---(750)가 됩니다. 이것은 8진수의 뺄셈이 아니라 비트마다 제거하는 계산입니다(666 AND NOT 027). 자주 쓰이는 umask 022에서는 같은 계산으로 파일이 644, 디렉터리가 755가 됩니다.

이 분야 연습하기 분야로 돌아가기

Linux와 커맨드 라인 기초의 다른 문제

  1. 디렉터리 d의 권한이 rwx--x--x(711)이고, 그 안의 파일 f.txt의 권한이 rw-r--r--(644)이다. 소유자도 슈퍼유저도 아닌 사용자가 'ls d'와 'cat d/f.txt'를 실행했을 때의 결과로 올바른 것은?
  2. Linux의 sudo 명령에 대한 설명으로 올바른 것은?
  3. 많은 Linux에서 'ls -l /usr/bin/passwd'를 실행하면 '-rwsr-xr-x 1 root root ...'로 표시된다. 소유자의 실행 위치에 있는 's'의 의미로 올바른 것은?
  4. 위의 명령을 순서대로 실행했을 때, 마지막 cat으로 표시되는 내용으로 올바른 것은?
  5. 위와 같이 a.txt는 있고 nofile은 없는 디렉터리에서 마지막 명령을 실행했다. 결과로 올바른 것은?