권한이없는 사용자로 파일을 작성하고 권한 모드를로 변경하면 400
해당 사용자는 읽기 전용으로 올바르게 볼 수 있습니다.
$ touch somefile
$ chmod 400 somefile
$ [ -w somefile ] && echo rw || echo ro
ro
모든 것이 잘됩니다.
그러나 뿌리는 다음과 같습니다.
# [ -w somefile ] && echo rw || echo ro
rw
이런 젠장? 물론 루트는 읽기 전용 파일에 쓸 수는 있지만 습관을 들이지 않아야합니다. 모범 사례는 쓰기 권한 비트를 테스트 할 수 있어야한다고 지시하는 경향이 있습니다. 그런 이유로 그런 식으로.
왜 이런 일이 발생 하는지 , 쓰기 비트가 설정되지 않은 파일을 테스트 할 때 잘못된 반환 코드를 얻는 방법 을 이해하고 싶 습니까?
/etc/dhcp/dhcpd.conf
루트가 소유 한 을 조작하기위한 것 입니다. 공급 업체 제공을 사용하고 dhcpd
있습니다. 재앙이야? 파일은 RCS에 체크, 나는의 사용을 자동화하고있어 rcsdiff
, ci
그리고 co
우리가 가지고 있기 때문에 사업자 의 필요에가 ... 작동하는지. (권한 비트 검사 -w
등으로 자세히는 test(1)
) 그 기초 작업, 실패의 첫 번째 줄 거라고 ci -u
잎이 파일은 읽기 전용. 나는 그것을 버리고 똑바로 가고 rcsdiff -q
확인하고 $?
있습니다. 비참한 dhcpd
? 이 소유 한 것 dhcpd
입니다.
bash
및 test
그 무엇을 믿고 저를지도 [ -w
입니다.
4.1.2(1)-release
)과 RHEL7 (4.2.46(2)-release
) 을 모두 사용 하고 있습니다.