새로운 사용자가 삭제 된 사용자의 파일을 상속 한 이유는 무엇입니까?


24

그래서 나는 책에서 숙제로 운동을해야했다. 먼저 다음과 같은 사용자를 만들어야했습니다.

useradd -c "Steven Baxter" -s "/bin/sh" sbaxter

그런 다음 /home/sbaxter디렉토리에 파일을 추가해야했습니다 .

touch /home/sbaxter/ some.txt new.txt files.txt

그런 다음 사용자를 제거하고 sbaxter라는 이름의 새 사용자를 만들어야했습니다 mjane. 내가 뛰었을 때 놀랍게도 find /home/ -user mjane새로운 사용자는 mjane이제 모든 sbaxter의 오래된 파일을 소유했습니다. 어떻게 되었습니까?

답변:


41

악마는 useradd맨 페이지 의 세부 사항에 있습니다 (을 발행하여 볼 수 있습니다 man 8 useradd).

   -u, --uid UID
       The numerical value of the user's ID. This value must be unique,
       unless the -o option is used. The value must be non-negative. The
       default is to use the smallest ID value greater than or equal to
       UID_MIN and greater than every other user.

따라서 기본적으로 비밀번호 파일에서 사용하지 않는 가장 작은 uid (다른 사용자보다 큰 uid)를 사용합니다. sbaxter를 삭제하면 passwd 파일에서 그를 제거한 것처럼, 그의 uid는 "무료"이고 mjane에 할당됩니다 (uid useradd선택은 useradd명령을 사용할 때 두 사용자 모두 동일하므로 ).

디스크의 파일은 uid 만 저장하고 사용자 이름 변환은 저장하지 않습니다 (이 변환은 암호 파일에 정의되어 있음). ls -lnuid 소유권 파일이 무엇인지 확인하여 발급 을 확인할 수 있습니다 .

실제로 계정을 삭제하는 대신 비활성화 하는 것이 좋습니다 . 대부분의 Linux 배포에서 계정 잠금은을 (를) 사용하여 수행 할 수 있습니다.이 usermod -L -e today <username>경우 암호가 잠기고 계정이 오늘 만료되도록 설정됩니다 chage -l.


2
... 이것은 끔찍한 보안 결함처럼 보입니다. 해결 방법이 있습니까?
BlueRaja-대니 Pflughoeft

6
@ BlueRaja-DannyPflughoeft 이것은 보안 결함이 아닙니다. 사용자는 사용자 이름이 아닌 사용자 ID로 식별됩니다. 계정을 삭제할 때 모든 파일 (예 : 사용자의 홈 디렉토리가 아니라이 사용자 ID가 소유 한 모든 파일)을 제거해야합니다. 이것은 계정을 제거하는 일반적인 절차의 일부입니다.
Gilles 'SO- 악마 그만해'

2
@OlivierDulac 백업이라고합니다. 또는 데이터를 유지해야하는 한 계정을 잠그십시오. 그러나 계정을 제거하지 마십시오. 결국, 데이터를 유지 해야하는 경우 계정이 여전히 필요합니다.
Gilles 'SO- 악마 그만해'

1
대부분의 Linux 배포에서 계정 잠금은을 (를) 사용하여 수행 할 수 있습니다.이 usermod -L -e today <username>경우 암호가 잠기고 계정이 오늘 만료되도록 설정됩니다 chage -l.
Drav Sloan

5
오늘날의 표준에 따르면 보안 결함입니다. 예제에서 알 수 있듯이 사람과 파일을 연결할 수 없습니다. 물론 사람은 계정과 밀접한 관련이있을 수 있지만 UID 재활용으로 인해 human <-> account <-> 파일 연결이 손상됩니다. 다시 유닉스는 이런 점에서 결코 큰 보안 성을 갖지 못했습니다 ( root거의 모든 것을 가짜로 만들 수 있음). 이를 위해서는 감사 추적이 필요합니다.
MSalters

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.