고정 비트를 사용한 루트 사용자 작업 제약

고정 비트를 사용한 루트 사용자 작업 제약

AWS에 매우 예상치 못한 동작을 보이는 ubuntu 20.04.x ​​인스턴스가 있습니다.

다음 위치에 파일이 있습니다 /tmp.

root@ip-10-0-1-145:/tmp# ls -l api_requests_2023-08-23.log
-rw-r--r-- 1 www-data www-data 47450 Aug 23 19:04 api_requests_2023-08-23.log

root나는 그것을 자르려고 노력했다.FAILED!!!

root@ip-10-0-1-145:/tmp# truncate -s 0 api_requests_2023-08-23.log
truncate: cannot open 'api_requests_2023-08-23.log' for writing: Permission denied

나는 실패가 어디서 발생했는지 확인하기 위해 strace를 시도했고 그 결과 다음과 같은 결과를 얻었습니다.

root@ip-10-0-1-145:/tmp# strace -e trace=file truncate -s 0 api_requests_2023-08-23.log
execve("/usr/bin/truncate", ["truncate", "-s", "0", "api_requests_2023-08-23.log"], 0x7ffcaa0ab958 /* 16 vars */) = 0
...
openat(AT_FDCWD, "api_requests_2023-08-23.log", O_WRONLY|O_CREAT|O_NONBLOCK, 0666) = -1 EACCES (Permission denied)
...
truncate: cannot open 'api_requests_2023-08-23.log' for writing: Permission denied
...
+++ exited with 1 +++

temp에 평소와 같이 고정 비트가 설정되어 있다고 가정하면 다음과 같습니다.

root@ip-10-0-1-145:/tmp# ls -ld
drwxrwxrwt 4 root root 12288 Sep 12 09:11 .

소유자를 사용하여 파일을 자르려고했습니다.

root@ip-10-0-1-145:/tmp# sudo -u www-data truncate -s 0 api_requests_2023-08-23.log
root@ip-10-0-1-145:/tmp# ls -lh api_requests_2023-08-23.log
-rw-r--r-- 1 www-data www-data 0 Sep 12 09:13 api_requests_2023-08-23.log

주인이 일한 것처럼 truncate!!! (따라서 이는 파일 시스템 문제로 인해 발생하지 않습니다. 파일 시스템은 로컬, 온디스크, ext4이며 기본값으로 마운트됩니다.)

dirs의 끈적한 비트에 대한 이 동작은 다음과 같습니다.한정된**'only owner or root'모든 작업에 대해 ** 로 표시됩니다 .

root쓰기 위해 파일을 여는 것이 어떻게 제한되었나요 (잘라내 >api_requests_2023-08-23.log기도 실패함)?

관련 정보