문제
다음과 같이 파일의 원래 권한은 유지한 채로 모든 사용자들에게 쓰기 가능한 권한을 추가 부여할 때, 결과가 다른 명령어는?
① chmod 666 file ② chmod a+w file ③ chmod ugo+w file ④ chmod go=w file
정답
4번
해설
정답: 4. 원래 권한 rw-r--r--(644)을 유지한 채 모든 사용자에게 쓰기를 추가하면 결과는 rw-rw-rw-(666)이 되어야 한다. 그런데 'chmod go=w file'은 그룹·기타의 권한을 '쓰기만'으로 덮어써서 rw--w--w-(622)가 되므로 다른 결과를 낸다.
오답 풀이
- 1번: 'chmod 666 file'은 권한을 rw-rw-rw-로 만들어 모든 사용자에게 읽기·쓰기를 부여한다(결과 666).
- 2번: 'chmod a+w file'은 모든 사용자(a)에 쓰기를 추가해 644→666이 된다.
- 3번: 'chmod ugo+w file'은 user·group·other 모두에 쓰기를 추가해 644→666이 된다.
- 4번: 'chmod go=w file'은 group·other를 '쓰기만'으로 설정(읽기 제거)해 rw--w--w-(622)가 되므로 결과가 다른 명령(정답)이다.
보충 개념 chmod의 '+'는 권한 추가, '-'는 제거, '='는 지정 값으로 덮어쓰기(기존 권한 무시)이다. a+w는 추가라 읽기를 유지하지만, go=w는 그룹·기타의 기존 읽기를 지우고 쓰기만 남긴다.