저는 Centos를 사용하고 있으며 디렉토리 중 하나에 대해 ll 명령을 수행했습니다. 디렉토리 내의 파일 소유자는 사용자 이름 대신 숫자입니다. 왜 그런지 설명해 주시겠어요?
소유자가 루트가 아닌 아래에 표시되면 소유자가 600으로 표시됩니다. 그리고 600이라는 사용자는 없습니다. 왜 그럴까요?
-rw-rw-r-x. 1 600 root 1696 Jun 27 2016 abc.txt
-rw-rw-r-x. 1 600 root 1696 Jun 27 2016 xyz.txt
-rw-rw-r-x. 1 600 root 1692 Jun 27 2016 hagts.txt
답변1
나의 첫 번째 가정은 당신이나 누군가가 루트로서 다음과 같은 방법으로 디렉토리나 파일에 대한 권한을 변경하려고 시도했다는 것입니다.
# chmod 600 *
하지만 다음과 같이 잘못 입력되었습니다.
# chown 600 *
그러면 소유자가 으로 변경됩니다 600
. 이는 시스템에 해당 사용자가 없더라도 유효한 작업입니다. 파일은 UID 600(할당되지 않을 수 있음)이 소유합니다.
다시 변경하려면 다음을 사용하세요.
# chown dave *
루트로( dave
사용자 이름으로 대체)
대신 특정 파일 및 디렉터리 이름을 선택할 수도 있습니다.*
모든 파일과 디렉터리에 영향을 미치고 싶지 않은 경우 . 또한 쉘 기록을 살펴보고 수행한 단계를 다시 추적하여 수행한 작업을 확인해야 합니다.실제로소유권을 변경했습니다(귀하인 경우).
또 다른 가능성은 파일과 해당 소유권이 UID 600이 있는 다른 시스템에서 전송되었다는 것입니다.~이다유효한 사용자입니다. 파일이 네트워크 공유에 있고 현재 컴퓨터의 사용자가 파일을 생성한 컴퓨터와 어떤 방식으로든 동기화되지 않은 경우 이런 일이 쉽게 발생할 수 있습니다.
chown
여전히 루트로 소유권을 변경할 수 있습니다 .