"

"

지금까지 본 적도 없고 검색으로도 찾을 수 없는 상황이 생겼습니다. 소유자나 그룹 소유자가 보거나 편집할 수 없는 PHP 파일이 있습니다. 이상하게도 아파치는~할 수 있다파일을 읽고 처리하므로 내가 알 수 있는 한 손상되지 않았습니다. 또한 sudo루트(즉, 루트)를 사용하여 보고 편집할 수 있습니다 .

내가 발견한 것은 <?php첫 번째 줄에 있는 모든 파일(PHP 파일에서 매우 일반적임)이 이러한 동작을 보인다는 것입니다. 방금 홈 디렉토리에서 이것을 테스트했습니다.

$ vi henry.txt

거기에 텍스트를 넣고 저장했어요. 괜찮아요. 파일을 볼 수 있습니다.

$ cat henry.txt
Test

파일을 다시 편집( vi henry.txt)하여 <?php첫 번째 줄에 넣고 Test두 번째 줄까지 밀어내립니다. 그런 다음 저장하고 종료합니다. 지금:

$ cat henry.txt
cat: henry.txt: Operation not permitted

하지만:

$ sudo cat henry.txt
<?php
Test

파일을 다시 편집하고( sudo vi henry.txt직접 편집할 수 없기 때문에) <?php줄을 제거합니다. 저장 및 종료. 지금:

$ cat henry.txt
Test

사실 <?php액세스를 차단하기 위해 전체 권한도 필요하지 않습니다. 거기에 넣으면 <?됩니다.

나는 이것이 왜 그럴 수 있는지 완전히 상실했습니다. 어떤 아이디어라도 크게 감사하겠습니다. 중요한 경우 이는 Red Hat Enterprise Linux 8입니다. SELinux를 비활성화하려고 시도했지만 아무런 차이가 없었습니다.

편집: 파일 소유권(나) 및 권한을 보여주는 추가 콘솔 출력입니다. 동작은 내 홈 디렉토리와 /tmp에서 동일합니다.

[hartley_h@webnix07 ~]$ cd /tmp
[hartley_h@webnix07 tmp]$ echo "Test" > henry.txt
[hartley_h@webnix07 tmp]$ ls -l henry.txt
-rw-r-----. 1 hartley_h domain users 5 Oct 29 15:44 henry.txt
[hartley_h@webnix07 tmp]$ cat henry.txt
Test
[hartley_h@webnix07 tmp]$ echo "<?php" > henry.txt
[hartley_h@webnix07 tmp]$ ls -l henry.txt
-rw-r-----. 1 hartley_h domain users 6 Oct 29 15:45 henry.txt
[hartley_h@webnix07 tmp]$ cat henry.txt
cat: henry.txt: Operation not permitted

관련 정보