Setgid 이상한 행동

Setgid 이상한 행동

다음 파일이 있습니다.

----rw---- 1 wojtek users    4 Oct 26 15:56 data.txt
-rwx--s--x 1 wojtek users 8864 Oct 26 16:00 fopen_setgid

내가 달릴 때fopen_setgid

  • 그러면 daro모든 것이 예상대로 작동합니다. 프로그램은 users그룹 권한( daro그룹 아님)으로 실행되므로 오류가 없습니다.
  • 그러면 wojtek오류가 발생 Permission denied하지만 이유를 모르겠습니다. 이 경우처럼 프로그램이 파일을 성공적으로 열 수 있도록 허용하는 그룹 users이 아니라 그룹 권한으로 프로그램을 실행해야 하는 것 아닌가요 ?wojtekdaro

fopen_setgid열어보는 일만 남았 네요data.txt

  • 사용자는 daro다음 1개의 그룹에만 속합니다.daro

  • 사용자 그룹은 1개뿐입니다 wojtek.wojtek

  • 이 그룹 users에는 회원이 없습니다.

내 OS는 Debian 9(확장)입니다

답변1

참고 자료를 찾지 못했지만 방금 테스트했습니다. 문제는 setgid프로세스의 UID, GID 및 파일 및 파일 권한과 관련이 없습니다.

파일을 만들었어요

echo test > test.txt

권한이 변경됨

chmod 064 test.txt

더 이상 액세스할 수 없습니다.

$ cat test.txt
cat: test.txt: Permission denied

내 그룹에는 rw액세스 권한이 있지만.

$ ls -l test.txt
----rw-r-- 1 myuser myuser 5 Nov  5 16:11 test.txt
$ id
uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),129(sambashare)

그런 다음 파일 소유자를 다음으로 변경하여 root파일을 성공적으로 열 수 있었습니다.

$ sudo chown root test.txt 
$ ls -l test.txt
----rw-r-- 1 root myuser 5 Nov  5 16:11 test.txt
$ cat test.txt            
test

분명히 사용자와 그룹이 모두 일치하는 경우 소유자 액세스 비트가 그룹 액세스 비트보다 우선합니다. (우분투 19.04에서 테스트)

u+rw따라서 해결 방법은 파일의 권한을 추가하거나 파일 소유자를 wojtek또는 이외의 다른 소유자로 변경하는 것입니다 daro.

관련 정보