문제
파일의 허가권이 다음과 같다. 사용자는 읽기, 쓰기, 실행 권한을 부여하고, 그룹과 다른 사용자는 읽기 및 실행 권한만 설정하려고 할 때 명령으로 알맞은 것은?
① chmod 664 lin.sh ② chmod 644 lin.sh ③ chmod a+x,g-w lin.sh ④ chmod u+rwx,go+rx lin.sh
정답
3번
해설
정답: 3. 현재 권한은 -rw-rw-r-- (664)이고 목표는 소유자 rwx, 그룹·기타 r-x 즉 755이다. 심볼릭 모드 "a+x"로 모두에게 실행 권한을 더하고 "g-w"로 그룹의 쓰기 권한을 제거하면 rwxr-xr-x(755)가 된다.
오답 풀이
- 1번: chmod 664 는 현재 권한과 동일한 rw-rw-r-- 로, 실행 권한이 전혀 없어 목표(755)와 다르다.
- 2번: chmod 644 는 rw-r--r-- 로 그룹 쓰기까지 제거되고 실행 권한도 없어 목표(755)와 다르다.
- 3번: a+x(모두 실행 추가) → rwxrwxr-x, g-w(그룹 쓰기 제거) → rwxr-xr-x(755)가 되므로 옳다.
- 4번: u+rwx,go+rx 는 그룹의 기존 쓰기 권한(w)을 제거하지 않아 결과가 rwxrwxr-x(775)가 되어 목표 755와 다르다.
보충 개념 8진수 모드 755 = rwxr-xr-x 가 정답과 같다. 심볼릭 모드에서 "+"는 추가, "-"는 제거이며, 기존 권한을 남긴 채 누적되므로 불필요한 비트는 따로 빼 줘야 한다.