왜 / etc / shadow 파일을 직접 편집하지 않아야합니까? 대답에서 Michael D Parker는

UNIX 및 Linux 스택 교환에 대한 또 다른 대답에서 Michael D Parker는 누군가가 “안전”하다고 말한 것에 대한 응답으로 다음같이 썼습니다 .

일반적으로 / etc / shadow 파일을 직접 편집해서는 안됩니다.

그래서:

왜해야 절대 편집하지 /etc/shadow직접 파일을?



답변

이 편집 할 수없는 몇 가지 이유가 있습니다 /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow또는 /etc/sudoers직접, 오히려 사용은 vipw, vigr또는 visudo:

  • 구문 오류가 발생하면 더 이상 로그인하거나 루트가되지 않을 수 있습니다. viXXX 도구를 사용하면 파일을 수정하기 전에 도구가 상태 점검을 수행하므로이 위험이 줄어 듭니다.
  • 파일을 동시에 편집하면 마지막으로 저장 한 사람이 이전 편집에서 변경 한 내용보다 우선합니다. 이 파일과 파일을 편집 관리자 모두 사용자가 호출하기 때문에 수정되는 포함 passwd, chsh또는 chfn자신의 계정에 대한 변경 뭔가에. 적절한 도구를 사용하면 동시 수정이 불가능합니다. 이는 여러 사용자가있는 시스템에서 주로 문제가되며, 유일한 사용자 인 경우에는 더 적습니다.
  • 일부 시스템 (대부분 또는 * BSD)에서 vipw여러 파일 (예 : /etc/passwd/etc/master.passwd)을 업데이트합니다 . Linux에는 적용되지 않습니다.
  • vipw자동으로 백업 ( passwd-,, shadow-…)을 생성하며 , 실수로 줄을 삭제 한 경우 유용합니다. 다음 편집 전에 인식해야 버전 관리와 백업을 대체 할 수 없지만 실수를 빨리 인식하면 매우 유용 할 수 있습니다. visudo하지 않습니다.

파일을 직접 편집 있습니다 . 실질적인 이점없이 추가 위험을 감수 할 수 있습니다.


답변

이것을 보는 기본적으로 두 가지 방법이 있습니다.

  1. 처방 된 도구를 사용하지 않고 특정 파일을 편집하지 마십시오. 현재 수행중인 작업을 모르거나 해당 도구가 더 잘 알고 있으며 항상 사용 가능하기 때문에 괜찮습니다.

  2. 보다 현실적으로, 지금 생각하고있는 동안에는 그것을 깨뜨릴 수 있으므로 백업 사본으로 미리 계획하고 시스템의 기본 초기 login프로세스에 대한 기본 지식에 대한 기본 지식 이 가치 가 있기 때문에 백업 사본으로 미리 계획하고 차이점을 비교할 수 있습니다. 나중에 다른 방법으로 중단하면 도구가 도움이되지 않습니다.

나는 당신이 아마 내가 추천하는 것을 말할 수 있다고 생각합니다. 주제가 잠시라도 관심을 가지면 그 호기심을 활용하고 새로운 기술을 습득 할 수 있습니다. 특히 이것과 같은 것- shadow파일은 상당히 기본적인 형식이며 실수로 파일 을 깨뜨린 후에 배운 것을 거의 알지 못합니다 -그리고 그 파일을 편집 한 결과는 아닙니다.

패키지 관리 데이터베이스와 다른 실수는 백업을 저장하고 시스템의 모든 사용자가 만들어진없이 덮어 패키지 관리자 주도 후 오히려 내 문제가 발생 박살 났을 . 복구에 대한 무지한 벙글 링 시도는 다른 관련 파일에만 손상을 입히고 오래지 않아서 (원했던 것보다 덜 최근의) 백업 에서 대부분 /etc의 텍스트 파일 을 복원해야했습니다 .

내가 그렇게하고 그것을 작동 가능한 상태로 가지고 있음을 확인한 후에, 나는 의도적으로, 세 심하게 다시 모든 것을하기로 결정했습니다. 그리고 한 번 더. 이것은 모든 몇 달 전, 그러나 오늘 나는이의 원인 진단 할 수 있다고 확신 남아있는 login문제를 / w 한번 이상 어떤 기본 편집기로 내 시스템과 주소 그것을 하나의 로그 파일의 (및 제공, 아마도, 한 눈에 또는 man 5 problem_file) 는 영향을받는 루트 fs에 대한 기본 액세스 만 제공했습니다. 저렴한 가격은 얻지 못했습니다. 하루가 많이 걸렸습니다. 관련 구성 파일은 디렉토리 전체에 퍼져 있으며 Linux PAM과 같은 일부/var/run/no_login 파일도 다른 마운트에 분산 되어 있지만 그만한 가치가 있습니다. 그리고 약간의 예측으로 더 저렴 했을 있습니다.

이 이야기의 교훈은 아마 있다는 하지 같은 미션 크리티컬 CONFIGS의 형식이하는 좋은 일 shadow, passwd, groups, shells우리는 또는 방법으로 우리의 작업을 수정하지 않을 수도 있습니다 특별한 편집 도구를 사용해야한다는 것을 우리에게 매우 불투명해야하며, 단순한 변화에 영향을 미치는 것으로 이해하지 못하는 이유가 있습니다. 적어도 그들이 생각하는 것과 정확히 다르게 행동 할 가치가 있다고 생각합니다.

아마 편집과 우리가 한 번에 익숙한만큼 우리가 할 수 우리의 처분에 도구를 두 번 검사 있다는 것을 인쇄 상 또는 간단한 구문 오류를 그 안에 만들고 나중에 그들에게 절약의 위험을 실행하는 것이 파일을했다, 그러나, 좋은 일 우리의 비난 된 편집을 적용하기 전에 우리가 이미 이해하고있는 방식과 이유로


답변

카운터 포인트-현재 비밀번호를 모르거나 새 비밀번호를 할당하지 않고 한 서버에서 다른 서버로 사용자 로그인 세트를 복사해야하는 경우 / etc / shadow를 직접 편집하여 해시 된 비밀번호 필드를 삽입해야합니다. vipw는 그 필드를 건드리지 않습니다. 단지 “*”입니다.

업데이트 : 또는이 경우 chpasswd -e “해시 된 비밀번호”를 사용하지만 컴퓨터에서만 직접 수행 할 수 있습니다. 머신 (예 : 가상 머신)에 아직 배치되지 않은 파일 세트로 작업하는 경우 직접 편집하는 것이 유일한 솔루션 일 수 있습니다.

즉, 일반적으로 / etc / shadow를 직접 편집하지 않고 원하는 작업을 수행 할 수있는 도구가 있습니다. 그 도구가 무엇인지 알아야합니다.


답변

이러한 파일을 편집해야하는 또 다른 이유는 다른 시스템에서 부팅 할 파일 시스템 이미지에서 파일을 편집하고 부팅 후 해당 시스템을 디버깅해야하기 때문입니다. 예를 들어 MAAS epheremal 파일 시스템은 실패한 커미셔닝 또는 복구 모드에서 사용됩니다.

당신이 그것을 의미하지 않는 한 절대 말하지 마라.