sed가 cifs 마운트 공유의 파일에 대한 권한을 변경하는 이유는 무엇입니까?

sed가 cifs 마운트 공유의 파일에 대한 권한을 변경하는 이유는 무엇입니까?

공유를 마운트하기 위해 다음 fstab 항목을 사용하는 Arch Linux 시스템이 있습니다.

//192.168.3.1/Documents        /mnt/  cifs    credentials=/home/tal/.smbcredentials,rw,x-systemd.automount,iocharset=utf8,file_mode=0600,dir_mode=0700,uid=tal 0 0

폴더를 공유하는 서버는 Windows 서버이고, 공유 폴더가 위치한 파티션은 NTFS입니다.

위의 fstab 항목을 사용하면 부팅 시 공유가 제대로 마운트됩니다. 예상한 대로 모든 파일은 /mnt/"tal"에 속하는 것으로 나타나며 0600 권한을 갖습니다. /mnt 아래에 새로 생성된 파일도 tal(root 또는 tal에 의해 생성되었는지 여부)의 소유이며 예상대로 0600 권한을 갖습니다.

문제는 /mnt 아래에 파일이 있는 경우입니다.

-rw------- tal root 1000 test.txt

나는 이것을 실행하고 있습니다 :

sed -i -e '1,2d' test.txt

처음 2줄을 삭제하면 다음 2줄이 삭제되지만 파일 권한은 다음과 같이 변경됩니다.

-r-------- tal root 1000 test.txt

sed가 파일 권한을 변경하는 이유는 무엇입니까? test.txt의 inode를 보면 sed의 -i옵션이 파일을 수정하는 대신 새 콘텐츠로 파일을 다시 생성한다는 것을 알 수 있지만 이는 중요하지 않습니다. 새로 생성된 모든 파일은 /mnt0600 권한을 받아야 합니다.

테스트로 vim을 이용해서 같은 파일을 수정하고 inode를 확인해봤습니다. Vim은 또한 파일을 수정하는 대신 해당 위치에서 파일을 다시 생성하지만 vim이 이 작업을 수행하면 권한은 여전히 ​​0600입니다.

답변1

관련성이 있는지 확실하지 않음: "mac 클라이언트 또는 posix 애플리케이션이 있는 경우" 사용자 멤버십에서 "기본 그룹"을 지정할 수 있는 옵션이 AD 사용자에게 있었던 것으로 기억합니다.

관련 정보