후속 조치에서이 문제사용자 변경에 대해서는 UID
소유권을 변경하는 것이 좋습니다.모든 파일시스템에서 (이 답변)
find / -uid 1000 -exec chown 5000 '{}' \+
1000
오래된 것은 어디에 있고 UID
, 5000
새로운 것은 어디에 있습니까? 방금 /home/seb
(외부적으로) 가지고 있는 모든 파일을 나열했는데 UID=1000
대부분이 해당 /proc
디렉토리에 있다는 것을 알았습니다.
find / -uid 1000 \! -wholename '/home/seb/*'
응구하다또는필요한권장되는 변경사항을 구현하시겠습니까 UID
? 이 파일의 목적은 잘 모르지만 /proc
새 사용자로 로그인할 때 필요에 따라 생성된다고 가정합니다.
/dev
참고: 에 속하는 일부 파일도 있지만 UID=1000
이는 사용자가 연 터미널일 뿐입니다(예 /dev/pts/23
: )
답변1
나는 당신이 말하는 파일이 그 (단지 디지털 디렉토리) /proc
에 속한다고 가정합니까? 이는 디렉토리와 연관된 프로그램을 실행하는 사용자의 UID로 설정된 UID를 갖는 프로세스 계정 디렉토리입니다. pid가 "12345"인 프로그램을 시작하면 해당 프로그램은 사용자의 소유가 됩니다.UID=1000
/proc/12345
/proc/12345
/proc
proc의 어떤 것이 실제 파일 시스템이 아니고 의사 파일 시스템이기 때문에 작동할지 의심됩니다 .
마찬가지로 /dev
TTY는 현재 이를 사용하고 있는 사용자가 소유합니다.
답변2
UID
번호가 매겨진 디렉터리는 변경 사항이 아니라 프로세스에 대한 열린 핸들을 나타냅니다. UID=1000
소유한 모든 프로세스를 종료(사용) ps
하거나 해당 프로세스의 모든 핸들을 닫을(사용 ) 수 있습니다 lsof
.
답변3
파일의 소유권을 변경하는 것은 불가능하거나 필요하지 않습니다 /proc
. 이러한 파일은 디스크에 저장되지 않으며 사용자가 읽을 때 커널에 의해 동적으로 생성됩니다. 루트에 속하지 않는 유일한 파일은 실행 중인 프로세스에 대한 정보를 제공하는 파일입니다. 이 파일은 프로세스를 실행 중인 사용자에게 속합니다.
디스크 파일의 소유권을 변경하기 전이나 후에 이전 uid에서 실행 중인 모든 프로세스를 종료합니다. (실행 중인 프로세스의 uid를 변경할 수 없습니다.)
이 사용자에게 속한 터미널( /dev/tty*
또는 )이 있는 경우 /dev/pts/*
해당 uid를 변경해야 합니다. 사용자 프로세스를 종료한 후에는 프로세스가 많이 남지 않을 가능성이 높습니다.