/dev/null 파일의 권한이 변경되거나 손상되는 것을 방지하는 방법은 무엇입니까?

/dev/null 파일의 권한이 변경되거나 손상되는 것을 방지하는 방법은 무엇입니까?

이 명령을 사용하여 gpg 비밀번호가 유효한지 확인합니다.

gpg -o /dev/null --local-user $KEY_ID -as <(echo 1234)

내가 게시한 gpg 비밀번호를 확인하는 해킹된 명령은 다음과 같습니다.여기. /dev/null 파일 권한이 666에서 644로 변경된 것을 볼 수 있습니다. 때때로 파일이 손상되고 일부 스크립트가 /dev/null에 쓸 수 없습니다.

다음 명령을 사용하여 /dev/null을 다시 생성하여 이 문제를 해결할 수 있었습니다.

rm -f /dev/null; mknod -m 666 /dev/null c 1 3

첫 번째 질문은 /dev/null을 수동으로 다시 생성할 필요가 없도록 명령을 실행할 때 /dev/null 권한이 변경되거나 파일이 손상되는 것을 어떻게 방지할 수 있느냐는 것입니다.

두 번째 질문(첫 번째 질문에 대한 해결책이 없는 경우): /dev/null 파일이 손상되지 않았는지 bash에서 확인하는 방법은 무엇입니까? 나는 이 방법을 사용하여 최후의 수단으로 /dev/null을 다시 만들고 싶습니다.

어떤 아이디어가 있나요?

답변1

man gpg-o매개변수 효과 보기 :

-o 파일은 다음에 출력을 씁니다.문서. 표준 출력에 쓰려면 -를 파일 이름으로 사용합니다.

따라서 실행하는 명령은 다음을 생성합니다.일반 문서/dev/null기본 권한으로 이름을 지정하세요.

즉, 이 명령을 실행한 후에는 재정의됩니다.c권한 에서 는 crw-rw-rw문자 특수 장치로서의 원래 정의로 인해 원래 목적에 완전히 쓸모 없게 된다는 것을 의미합니다.

원하는 작업을 원활하게 달성하려면 man에 지정된 대로 파일 이름에 반드시 하이픈(-)을 사용해야 합니다.

그런 다음 다른 *ux 명령과 마찬가지로 자유롭게 표준 출력을 /dev/null로 리디렉션할 수 있습니다. (>/dev/널)

관련 정보