/ etc / shadow에 대한 암호화 된 비밀번호를 어떻게 만들어야합니까? / etc / shadow 파일에 직접 복사

Subversion 저장소 액세스를 위해 Linux 상자에 새 계정을 설정하고 새 사용자에게 비밀번호를 보낼 수 있습니다. 그러나이 새로운 사용자가 자신이 좋아하는 암호를 / etc / shadow 파일에 직접 복사 / 붙여 넣기 할 수있는 형식으로 암호화하는 명령 줄 유틸리티가 있다고 생각합니다.

암호화 된 암호를 생성하기 위해이 새 사용자가 콘솔 (예 : Bash)에서 실행해야하는 전체 명령은 무엇입니까?

업데이트 : 사용자는 머신에 로그인 할 수 없으며 해당 계정은 svn + ssh : // 액세스에만 사용됩니다. 따라서 사용자는 스스로 변경할 수 없습니다.



답변

사용자는 자신의 컴퓨터에서 다음과 같은 것을 실행할 수 있습니다.

echo "password"|openssl passwd -1 -stdin

그런 다음 출력을 보냅니다.


답변

섀도우의 비밀번호 형식은 다를 수 있습니다. 당신은 그것을 MD5 또는 좋은 오래된 DES3으로 설정할 수 있습니다 … 당신은 사용자에게 암호를 보내고 첫 번째 로그인에서 암호를 변경하도록 강요하고 있습니다 ( # chage -d 0 username)


답변

비밀번호를 암호화하여 사용자에게 보내지 말고 다음과 같이 입력하십시오.

passwd

추가 작업없이 비밀번호를 변경할 수 있다는 추가 이점으로 원하는 모든 작업을 수행합니다.

편집 :에 따르면 , 아마도 여러분이 데비안 / 우분투 얻을 수 makepassword라는 명령이있다.


답변

/ etc / passwd 및 / etc / shadow 는 일반적인 명령 줄 도구 (예 : grep, awk, sed, tr 등)로 토큰 화하기가 매우 쉽습니다.

흥미로운 점은 / etc / shadow의 실제 비밀번호 해시 필드이며, 접두어는 비밀번호의 암호화 방법을 알려줍니다. 남자 (5) 그림자에서 :

The password field must be filled. The encrypted password consists of 13 to 24 characters from the 64 characters alphabet a thru z, A
thru Z, 0 thru 9, \. and /. Optionally it can start with a "$" character. This means the encrypted password was generated using another
(not DES) algorithm. For example if it starts with "$1$" it means the MD5-based algorithm was used.

암호화 방법은 설치된 OS의 수명에 따라 다릅니다. / etc / shadow의 두 번째 필드에 특별한주의를 기울여야합니다.

시스템이 사용하고있는 해시, DES, MD5 등을 쉽게 감지 할 수 있도록 모든 노력을 기울여야합니다.


답변

왜 SU를 사용자에게 보내고 passwd를 실행하지 않습니까?


답변

명령 행을 통해이 비밀번호를 생성하는 방법이 있습니까? 예, 데비안 패키지 makepasswd를 사용하면 (MD5 만 해당) :

echo "mypasswd" | makepasswd --crypt-md5
$1$r2elYKyB$vUr/Ph.brKTldM2h2k8J5.

그러나 이것은 / etc / shadow 내부에서 복사하여 붙여 넣기를 통해 작동하지 않습니다. 일부 Linux 배포판에서 스크립트를 통해 비밀번호를 변경하려면 다음을 사용할 수 있습니다.

echo oracle:mypasswd | chpasswd

또는

echo -n mypasswd | passwd --stdin oracle