문제
다음과 같이 파일의 원래 권한은 유지한 채로 모든 사용자들에게 쓰기 가능한 권한을 추가부여할 때, 결과가 다른 명령어는 무엇인가?
① chmod 666 file ② chmod a+w file ③ chmod ugo+w file ④ chmod go=w file
정답
4번
해설
정답: 4. 원래 권한은 rw-r--r--(644)이다. ④ chmod go=w는 그룹·기타에 쓰기만 남기고 읽기 권한을 제거(rw--w--w-, 622)하므로 "원래 권한 유지 + 쓰기 추가"와 결과가 다르다.
오답 풀이
- 1번: chmod 666은 rw-rw-rw-로, 644에 그룹·기타 쓰기를 더한 결과와 같다.
- 2번: chmod a+w는 모든 대상에 쓰기 추가(644→666)로 동일한 결과이다.
- 3번: chmod ugo+w도 user·group·other 모두 쓰기 추가(644→666)로 동일하다.
- 4번: chmod go=w는 기존 읽기를 지우고 쓰기만 설정(622)하므로 결과가 다르다(정답).
보충 개념 '+w'는 기존 권한에 쓰기를 더하는 상대 지정, '=w'는 해당 대상 권한을 쓰기만으로 절대 설정한다. 644 + 모두 쓰기 = 666, go=w = 6(rw)·2(-w-)·2(-w-) = 622.