皆さんはコマンドuseraddを使用したでしょう およびpasswd 非常に一般的であるか、少なくとも最近の進化では、GUIを使用してUNIXベースのシステムでユーザーアカウントを作成していました。ただし、Linuxシステム管理者であるため、いくつかのコマンドだけに依存するのではなく、物事に関する深い知識を持っている必要があります。したがって、この記事では、useraddコマンドとpasswdコマンドを使用せずにアカウントを作成してパスワードを設定する方法を説明します。
ステップ1:Linuxユーザーアカウントを作成する
ファイルを開きます: / etc / passwd 以下のエントリを追加します:
ramya:x:1600:1600:Ramya:/home/ramya:/bin/bash
上記のエントリから、コロンで区切られた7つのフィールドが表示されます。 各フィールドは–
を参照します1: ramya - Login Name 2: x - Password placeholder 3: 1600 - Unique User Id 4: 1600 - Group Id 5: Ramya - Real Name 6: /home/ramya - Home Directory Location 7: /bin/bash - Shell Type
2番目のフィールド「x」は、ログイン時に、ユーザーramyaのパスワードを / etc / shadowで確認する必要があることを意味します。 ファイル。フィールド2、4、6は、以下のように他のものに依存します:
ステップ2:パスワードを作成する
フィールド2は、ファイル / etc / shadowによって異なります。 ここで、パスワードは、以下に示すように、ユーザー名を参照して暗号化された形式で保存されます。ここでは、 passwd を使用せずに、暗号化されたパスワードを少し複雑な方法で設定する方法を紹介します。 コマンド。
ramya:$5$salt233$YZX1FTq8qgsnZF.rmDETGh141vWx72j8OPppSwkJ180:::::::
上記のエントリでは、ユーザー名 ramya Pythonステートメントを使用して生成された暗号化されたパスワードが追加されます。
メソッド1:
暗号化されたパスワードを生成するには(たとえば、 mylogin897) ソルトを使用したsha256アルゴリズムを使用$ 5 $ salt233 以下に示すように:
$python -c 'import crypt; print crypt.crypt("mylogin897","$5$salt233")'; $5$salt233$YZX1FTq8qgsnZF.rmDETGh141vWx72j8OPppSwkJ180
Sha512アルゴリズムでハッシュを生成するには、salt:$ 6$salt233を使用します。
Method2:
Pythonバージョン3.3以降には、 mksaltが含まれています 暗号化で、使用がはるかに簡単で安全になります:
python3 -c 'import crypt; print(crypt.crypt("test", crypt.mksalt(crypt.METHOD_SHA512)))
上記のコードを実行するたびに、新しいランダムソルトに対してハッシュが生成されます。関数crypt.mksaltでハッシュアルゴリズムを指定しない場合、利用可能な最強のものが使用されます。以下の表は、暗号化モジュールがサポートするハッシュアルゴリズムと、昇順で最も強力なものを示しています。
ハッシュのID(最初の$の後の番号)は、使用されているメソッドに関連しており、method1で確認できます。
1-> MD5-> SHA-256
6-> SHA-512
注:暗号化では、ソルトは追加として使用されるランダムデータですパスワードまたはパスフレーズをハッシュする一方向性関数への入力。ソルトの主な機能は、辞書攻撃とパスワードハッシュのリスト、および計算されたレインボーテーブル攻撃から防御することです。
また読む:x509SHA256ハッシュ自己署名証明書を生成する方法OpenSSLの使用
ステップ3:グループIDを作成する
フィールド4(グループID)は、以下に示すように / etc / groupにエントリを作成することで設定されます。 ファイル:
ramya:x:1600
ステップ4:ホームディレクトリを作成する
フィールド6(ホームディレクトリ)は、 / home /の下にディレクトリを作成することで設定されます。 コマンドchownを使用して権限を適切に設定します:
mkdir /home/ramya
chown ramya:ramya /home/ramya
上記のディレクトリにはdrwxが必要です 所有者およびその他の書き込み不可の場合。
chmod 700 /home/ramya
$ls -ld /home/ramya drwx------ 74 ramya ramya 2048 Nov 23 09:39 /home/ramya
これで、アカウント ramyaにログインする準備が整いました。 パスワードmylogin897 。正常にログインすると、bashシェルに移動します。 / home / ramyaディレクトリの下