誤って「rm -rf /home」を実行しました。

誤って「rm -rf /home」を実行しました。

실수로 실행한 명령은 사용자 디렉터리가 아닌 루트 홈 디렉터리를 재귀적으로 삭제하는 것이었습니다. sudo나 루트 권한이 없다는 것은 아닙니다.

이는 일반적인 의미의 데이터 복구 문제가 아닙니다. 어떤 이유에서인지 루트 디렉터리의 하위 디렉터리 대부분은 /home그대로인 것 같습니다. 특히 내 사용자 홈 디렉터리는 /home/user여전히 존재하며 대부분의/(모두?) 하위 디렉터리가 있습니다. 거기에는 살아남은 것으로 보이는 모든 작업 파일이 포함된 .ssh디렉터리가 있습니다 . code그러나 내 .bashrc파일이 없습니다.

rm -rf /home

내 첫 번째 질문은 왜 이러한 디렉토리가 명령에 영향을 미치지 않습니까?

이 글을 쓰는 주된 목적은 내가 알고 있는 것을 이해하는 것입니다.했다제거하고 설치가 다시 제대로 작동하도록 했습니다.

우분투에서는 l=ls별칭을 더 이상 사용할 수 없으므로 이러한 별칭이 포함된 일부 파일을 삭제한 것 같습니다.

일부 프로그램도 누락되었습니다.

탭 완성도 작동하지 않습니다. 어떻게 다시 돌려받을 수 있는지 아이디어가 있나요?

ベストアンサー1

글쎄요, 한 번에 여러 가지 질문을 해서는 안 됩니다. 귀하의 /home/user디렉토리가 삭제되지 않은 이유에 대해 답변 드리겠습니다 .

UNIX 계열 시스템의 파일 권한을 이해해야 합니다. 이는 3개의 트리플로 구성됩니다: rwxrwxrwx, 첫 번째 트리플은 소유자의 권한, 두 번째 트리플은 소유자 그룹의 권한, 마지막 트리플은 다른 모든 사람의 라이센스입니다.

들어가서 /home/실행하면 ls -la다음과 같은 내용이 표시됩니다.

drwxr-xr-x  6 root root  4096 Feb 15  2022 .
drwxr-xr-x 19 root root  4096 Jan 19 20:56 ..
drwxr-xr-x 88 user user  4096 Feb  1 21:22 user

그것을 분석해 봅시다. 이 .디렉토리는 우리가 있는 ( ) 디렉토리 이며 사용자와 그룹이 소유하고 있음 /home/을 알 수 있습니다 . 이것은 귀하의 사용자가 아니며 해당 사용자를 실행하거나 "될" 수 있지만 일반적으로 해당 디렉터리를 변경하려는 명령을 실행하면 세 번째 삼중항인 "기타"가 됩니다. 다른 것에는 권한이 있습니다 . 즉, 해당 디렉터리의 내용(파일 및 하위 디렉터리 목록)을 읽고 실행할 수 있습니다(해당 디렉터리로 변경하고 해당 디렉터리가 현재 디렉터리인 동안 명령을 실행).rootrootsusudor-x

파일이나 하위 디렉터리를 삭제하면 실제로 파일이 변경되는 것이 아니라 파일이 있는 디렉터리가 변경됩니다. 일부 시스템에서는 쓰기 소유권은 없지만 파일이 있는 디렉터리에 대한 쓰기 권한이 있는 파일을 삭제하려고 하면 경고가 표시되지만 기술적으로는 그렇게 할 수 있습니다.

그것에 대해 생각해 봅시다:

/         root  root drwxr-xr-x
/test/    user  user drwxrwxr--
/test/t   root  root -rwx------
/tst      user  user -rw-rw-rw-

슈퍼유저(루트)가 되지 않으면 파일을 읽거나 쓸 수 없습니다. /test/t그러나 쓰기 권한이 있기 때문에 파일을 삭제할 수 있습니다 /test/.

しかし、文書は/tstその逆と言われています。問題なくファイルに書き込んだり、内容を読んだり、ファイルを切り取ったりするなどの作業ができます/。しかし、。

それではあなたの話に戻りましょう/home/。自分には書き込み権限がなく、/home何でもできることを覚えておいてください。以内に /home/user/ただし、削除することはできません。したがって、その中のすべてのファイルは削除されますが、ディレクトリ自体はまだ存在します。

おすすめ記事