第十四章手動新規使用者

4977 ワード

一般的に、手動でユーザーを追加することはあまりお勧めしませんが、なぜでしょうか.利用者の作成はGID/UID等の権限にかかわるため、
ファイル/ディレクトリの権限にも関係しています.useraddを使用すると、UID/GIDホームディレクトリおよびホームディレクトリに関する権限構成を自動的に構成できますが、手動で追加すると、忘れてしまう可能性があり、結果的にいくつかのトラブルが発生します.
しかし、システム全体を理解するには、手動で修正したほうがいいです.少なくとも、私たちのアカウントの問題は完全に自分の意思に基づいて修正することができます.システムのデフォルト値に移る必要はありません.しかし、手動でアカウントを構成するときは、自分が何をしているのか、特に権限に関する構成について本当に理解しなければならないことを友达に警告しなければなりません.よし!これから遊びに来ましょうね~^^;
いくつかの検査ツール
アカウント関連プロファイルを手動で修正する以上、グループやアカウントをチェックするコマンドは知らないわけにはいかないでしょう~特にそのパスワード変換の
pwconvとpwuconvの2つの游び物~とても重要です!以下、これらの命令を少し紹介しましょう.
pwck
pwckというコマンドは、/etc/passwdというアカウントプロファイル内の情報や、実際のホームディレクトリに存在するかどうかなどの情報をチェックしたり、/etc/passwd/etc/shadowに対する情報が一致しているかどうかを比較したりすることができます.また、/etc/passwd内のデータフィールドが間違っている場合は、使用者にリビジョンを提示します.一般的に、私はこのものを利用して私の入力が正しいかどうかをチェックするだけです.

[root@www ~]# pwck
user adm: directory /var/adm does not exist
user uucp: directory /var/spool/uucp does not exist
user gopher: directory /var/gopher does not exist

ほら!上はただ私に教えて、これらのアカウントは家のディレクトリがなくて、あれらのアカウントの大部分はすべてシステムのアカウントなため、确かに家のディレクトリを必要としないで、だから、あれは《正常な间违い!》ほほほ!相手にしない.対応するグループチェックはgrpckというコマンドを使うことができます!
pwconv
この命令の主な目的は『
/etc/passwd内のアカウントとパスワードを/etc/shadowに移動!』初期のUnixシステムには/etc/shadowはありませんでしたので、ユーザーのログインパスワードの初期は/etc/passwdの2番目の欄で、その後システムの安全のために/etc/shadow内にパスワードデータを移動しました.pwconvを使用すると、次のことができます.
/etc/passwdおよび/etc/shadowと比較し、/etc/passwd内に存在するアカウントに対応する/etc/shadowパスワードがない場合、
pwconvは/etc/login.defsに行って関連するパスワードデータを取り、そのアカウントの/etc/shadowデータを作成します.
/etc/passwdに暗号化されたパスワードデータが格納されている場合、pwconvはそのパスワードバーを/etc/shadow内に移動し、元の/etc/passwd内の対応するパスワードバーをxにします!
一般的に、useraddを使用してユーザーを追加する場合、pwconvを使用しても何の動作もありません./etc/passwdと/etc/shadowには上記の2つの問題はありませんから.^^.しかし、手動でアカウントを構成すれば、このpwconvは重要ですよ!
pwunconv
pwconvに対して、
pwunconvは、「/etc/shadow内のパスワードバーデータを/etc/passwdに書き込み、/etc/shadowファイルを削除する」というコマンドです.彼はあなたの/etc/shadowを削除しますから!バックアップを忘れてpwconvを使わないと、粉がひどいですね.
chpasswd
chpasswdは面白い命令だ彼は
「暗号化されていない前のパスワードを読み込み、暗号化された後、暗号化されたパスワードを/etc/shadowに書き込む」というコマンドは、アカウントを大量に作成する場合によく使われますよ!彼はStandard inputからデータを読み込むことができ、各データのフォーマットは『username:password』です.例えば、私のシステムにはdmtsaiというユーザーアカウントがあります.私は彼のパスワード(update)をアップグレードしたいです.もし彼のパスワードがabcdefgであれば、私はこのようにすることができます.

[root@www ~]# echo "dmtsai:abcdefg" | chpasswd -m

不思議でしょう!これでアップグレードできますね!
デフォルトでは、chpasswdはDES暗号化方式を使用して暗号化されており、CentOS 5.xのデフォルトMD 5暗号化方式を使用するには、chpasswd-mを使用することができます.このコマンドはもう使いやすいですが、CentOS 5.xでは『passwd--stdin』のオプションが提供されています.正直、このchpasswdは使わなくてもいいです.しかし、他のバージョンではpasswdというコマンドが提供されるとは限らないので、このコマンドの用途を理解しなければなりません.
純粋なデジタルアカウントの手動作成などの特殊なアカウント
UID/GIDとアカウントの関係を理解した後、基本的には、純数字のアカウントを使用することをお勧めしない理由を理解する必要があります.多くの場合、その数字が『アカウント』なのか『UID』なのかわからないことが多いので、これはよくありません~そのため、初期のバージョンでは、数字を使ってアカウントを作成することはできませんでした.例えばRed Hat 9の環境では、『useradd 1234』を使って『useradd:invalid user name'1234』と表示されますが、分かりましたか?
でも、時々、長官の命令は難しいですね@@時々この方面のアカウントを作成しなければなりませんが、どうすればいいですか?ほほほ!もちろん手動でこのようなアカウントを作成することができます!しかし、システムの安全のために、鳥兄は純数字のアカウントを使うことをお勧めしません!したがって、次の例では、normaluserというアカウントを手動で作成し、このアカウントはnormalgroupというグループに属します.OK!では、手順全体はどうすればいいのでしょうか.前述の説明から、アカウントとグループは/etc/group,/etc/shadow,/etc/passwd,/etc/gshadowに関連していることがわかります.そのため、全体の動作は次のようになります.
まず必要なグループ(vi/etc/group)を作成します.
/etc/groupを/etc/gshadowと同期化(grpconv);
アカウントの各属性(vi/etc/passwd)を作成します.
/etc/passwdを/etc/shadowと同期化(pwconv);
このアカウントを作成するパスワード(passwd accountname);
ユーザーホームディレクトリ(cp-a/etc/skel/home/accountname)を作成します.
ユーザーホームディレクトリのプロパティ(chown-R accountname.group/home/accountname)を変更します.
簡単でしょう.游びに来ましょう~

1.      normalgroup ,   520    GID      !      gshadow
[root@www ~]# vi /etc/group
#             !
normalgroup:x:520:
[root@www ~]# grpconv
[root@www ~]# grep 'normalgroup' /etc/group /etc/gshadow
/etc/group:normalgroup:x:520:
/etc/gshadow:normalgroup:x::
#      /etc/group, /etc/gshadow          !     !

2.    normaluser     ,   UID 700      !
[root@www ~]# vi /etc/passwd
#             !
normaluser:x:700:520::/home/normaluser:/bin/bash

3.      ,          
[root@www ~]# pwconv
[root@www ~]# grep 'normaluser' /etc/passwd /etc/shadow
/etc/passwd:normaluser:x:700:520::/home/normaluser:/bin/bash
/etc/shadow:normaluser:x:14307:0:99999:7:::
#    /etc/passwd, /etc/shadow     normaluser     !       ~
[root@www ~]# passwd normaluser
Changing password for user normaluser.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

4.        ,      !
[root@www ~]# cp -a /etc/skel /home/normaluser
[root@www ~]# chown -R normaluser:normalgroup /home/normaluser
[root@www ~]# chmod 700 /home/normaluser

変換元:http://vbird.dic.ksu.edu.tw/linux_basic/0410accountmanager_7.php