/ etc / shadowの暗号化されたパスワードを作成するにはどうすればよいですか?


9

LinuxボックスでSubversionリポジトリにアクセスするための新しいアカウントを設定しています。新しいユーザーにパスワードを送信できます。ただし、この新しいユーザーが好きなパスワードを/ etc / shadowファイルに直接コピー/貼り付けできる形式に暗号化するコマンドラインユーティリティがあったと思います。

このような暗号化されたパスワードを作成するために、この新しいユーザーがコンソール(Bashなど)で実行する必要がある完全なコマンドは何ですか?

更新:ユーザーはマシンへのログインを許可されず、アカウントはsvn + ssh://アクセスにのみ使用されます。したがって、ユーザーが自分で変更することはできません。


ユーザーは明らかに手動でこれを行うつもりはないので、bashスクリプトについて尋ねています。
Tim Post

回答:


15

ユーザーは自分のコンピューターで次のように実行できます。

echo "password"|openssl passwd -1 -stdin

出力を送信します。


+1はまさにあなたが探していることを行います。
Antoine Benkemoun、2009年

なぜそのコマンドを呼び出すたびに異なる値が表示されるのですか?
Egon Willighagen 2009年

2
出力の形式は$ id $ salt $ encryptedです。IDとソルトが異なると、暗号化された文字列も異なります。idは使用されるアルゴリズムです:0-DES、1-> MD5、2a-> Blowfish、5-> SHA-256、6-> SHA512
Gonzalo

OK、特定のID(常に同じ)とソルト(呼び出しごとに変更される)をトリガーする方法を理解する必要があります...理にかなっています。
Egon Willighagen、2009年

2

シャドウのパスワードの形式はさまざまです。MD5または古き良きDES3に設​​定することもできます...または、ユーザーにパスワードを送信し、最初のログイン(# chage -d 0 username)でパスワードを変更するように強制することもできます。


1

パスワードを暗号化して送信する代わりに、次のようにタイプするように伝えないでください。

passwd

それは彼らがあなたのための余分な仕事なしに彼らのパスワードを変更できるという追加の利点であなたが望むすべてを行います。

EDITは:によると、この、makepasswordと呼ばれるコマンドでは、Debian / Ubuntuのために得ることができることをおそらくあります。


これは、ユーザーが既にログインしている必要があるためです。OPは、ユーザーが初めてログインする前に、パスワードを安全設定するソリューションを求めています。
ダニエル・プライデン2009年

1
パスワードをランダムに生成し、ログイン時にパスワードを変更させるのは、パスワードを生成させて手動で追加するのと同じくらい安全です。
ブレンダンロング、

ユーザーは実際にはログインせず(shell:/ bin / false)、SVN読み取り/書き込みアクセスのみを許可します...
Egon Willighagen

2
shell:/ usr / bin / passwd:D
Brendan Long

1
つまり、最後のコメントは冗談ですが、どうやら動作します:markmail.org/message/ekuxvnhdagywy4i5
Brendan Long

0

/ 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の2番目のフィールドに特別な注意を払うことが重要です。

DESやMD5など、システムが使用しているハッシュを検出するのは非常に簡単なので、あらゆる努力を払う必要があります。



0

コマンドラインからこのパスワードを生成する方法はありますか?はい、debianパッケージ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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.