CentOS 6.5 설치에서 갑자기 새 파일이나 재생성된 파일에 대한 파일 권한을 처리하는 데 문제가 발생하기 시작했습니다. 터치를 사용하여 파일을 만들 때 일반적인 644 또는 -rw-r--r-- 대신 -rs------x가 새 파일에 할당된 권한으로 표시됩니다. 저는 루트로 로그인하여 개인 /home/myusername 디렉토리에 이 파일을 생성하려고 합니다.
'strace touch filename 2>&1 | grep filename' 명령을 사용하여 strace on touch를 실행하면 다음이 표시됩니다.
open("filename", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 04501) = 3 04501은 일반적으로 umask 설정을 적용하기 전 파일에 대한 기본 권한인 666을 표시하는 곳입니다(내 것은 0022).
이 상자에 대해 AVG를 실행하고 rkhunter를 실행하고 며칠 동안 검색했지만 아이디어가 없습니다.
도와주셔서 감사합니다.
답변1
매우 나쁜 소식인 것 같습니다. GNU coreutils에는 touch
다음 코드가 포함되어 있습니다.
int default_permissions =
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
fd = fd_reopen (STDIN_FILENO, file,
O_WRONLY | O_CREAT | O_NONBLOCK | O_NOCTTY,
default_permissions);
이는 항상 정확히 동일한 권한을 가진 파일을 생성하고 default_permissions
항상 값 0666
(소스 코드에서 기호 상수로 표시됨)을 갖는다는 것을 보여줍니다.
귀하의 사본이 touch
변조된 것 같습니다. 특히 의심스러운 점은 이제 set-user-id 비트가 설정된 권한을 사용한다는 점입니다.