FreeBSD – rootのパスワード設定・ユーザ作成

前回、FreeBSDのインストールについてぐだぐだ書きました。

んで、これ以降の操作をsshで行えるようにします。

まずはrootのパスワードを設定がまだだったので、コンソールからrootでログイン、passwdコマンドを使用してrootのパスワードを設定します。

test# passwd[ret]
Changing local password for root
New Password: パスワード[ret]
Retype New Password: パスワード[ret]
test#

これで、次回からrootでのログインには、パスワードの入力が求められるようになります。

ちなみにrootのパスワードを忘れたらどうするかと言うと、「toor」アカウントを使用します。(toorはrootの逆綴りと覚えてください。)

toorアカウントはコンソールから出ないとログイン出来ないエマージェンシー用のアカウントです。toorでログイン後、suコマンドでrootになった後にpasswdコマンドでパスワードを再設定すると言う寸法です。

次に、sshdの設定です。

インストールした時のネットワーク設定でsshdを選択していた場合は、その後の再起動でsshdに必要な情報が生成されて、sshdも起動しているはずなのですが、選択していなかった場合はsysinstallを起動して設定を行うかvi等のエディタを使用して設定ファイルを直接修正します。

sysinstallは下記のコマンドをコンソール上で入力します。

test# /usr/sbin/sysinstall

sysinstallが起動したら「Configure」→「Networking」と進んでsshdにチェックを入れてください。

設定ファイルを修正する場合は「/etc/rc.conf」をエディタで開いて下記の行を追加してください。

sshd_enable=”YES”

sysinstallは上記のように手動でrc.confに上記の一文を追加したのと同じ操作を行っているだけです。

Windows上のエディタしか知らない人にはviはちとつらいかもしれませんが、viはFreeBSDのみならずLinuxのディストリビューションとかにも普通に入っていますから、簡単な操作だけでも覚えておいたほうがいいと思います。sysinstallでも大抵の操作は行えますがOSの設定が対象となりますから、インストールしたアプリケーションの設定は行う事ができません。

ちなみにMac OS Xにもviはちゃんと入っていますよ。あれのベースはFreeBSDということになっているので当たり前といえば当たり前なのですが。(おいらはあんまり好きじゃないのですけれどね>OS X)

設定が終わったら、sshdを起動します。コンソールから

/etc/rc.d/sshd start

と入力してください。

初回の起動ではRSA鍵暗号等が作成されていないので、自動で生成してから起動するために少しばかりメッセージが出ますが

Starting sshd.

のようにメッセージが出ればsshdが起動しています。psコマンドを利用してプロセスを確認してもいいでしょう。

test# ps ax | grep sshd

して

XXX ?? Is 0:00.00 /usr/sbin/sshd

のように出力されているのを確認します。(XXXの部分はプロセスIDなので変化します)

sshdの設定ファイルは/etc/ssh/にありますので、初期設定のままでも大丈夫だと思いますが必要に応じて設定を変えてください。

次に一般のユーザアカウントを作成します。FreeBSDの初期状態の設定ではssh経由でrootのログインはできません。設定で可能にすることもできますが、セキュリティ上好ましくないので一般ユーザでログインしてsuでrootになる方法をとります。本来ならsudoを使用してsuも使えないようにすることがベストなのでしょうが、個人サーバを運用する程度ならそこまで拘らなくても良いでしょう。

一般ユーザのアカウントを作成するにはadduserコマンドを使用します。(ちなみにsysinstallでも作成することが可能です。)

test# adduser[ret]
Username: test[ret]
[作成するユーザアカウント。今回は"test"というユーザを作成します]
Full name: test user[ret]
[作成するアカウントのフルネーム。"test user"としました。]
Uid (Leave empty for default): [ret]
[アカウントのユーザID。何も入力しないと一意性のあるUIDが自動付与されます。]
Login group [test]: [ret]
[アカウントが所属するグループです。デフォルトはユーザアカウントと同じです。変更しない場合はリターンキーを押します。]
Login group is test. Invite test into other groups? []: wheel[ret]
[作成するアカウントが他のグループにも所属する場合は、そのグループを入力してください。rootにsuできるようにする場合は、そのアカウントが"wheel"グループに所属している必要があります。]
Login class [default]: [ret]
[ログインクラスは環境変数を設定する際に使用する項目だそうです。通常はリターンキーのみでOKです(※1)]
Shell (sh csh tcsh nologin) [sh]: csh[ret]
[ユーザが使用するshellを指定します。デフォルトはshですがおいらはいつもcshにしています。]
Home directory [/home/test]: [ret]
[ユーザのホームディレクトリを指定します。デフォルトは"/home/アカウント名"になります。]
Home directory permissions (Leave empty for default): [ret]
[ホームディレクトリのパーミッション変更。通常はリターンキーのみでOKです。(※2)]
Use password-based authentication? [yes]: [ret]
[パスワード認証を行うかどうか。デフォルトはyesですので、そのままリターンキーでOKです。]
Use an empty password? (yes/no) [no]: [ret]
[空のパスワードを許可するかどうか。デフォルトはnoなので、そのままリターンキーでOKです。]
Use a random password? (yes/no) [no]: [ret]
[ランダムなパスワードを生成するかどうか。そのままリターンキーを押して任意のパスワードを設定します。]
Enter password: パスワード[ret]
[パスワードを入力してリターンキーを押します。入力したパスワードの文字列は表示されません。]
Enter password again: パスワード[ret]
[パスワードの再入力(確認)です。"Enter Password"と同様にパスワードを入力してリターンキーを押します。]
Lock out the account after creation? [no]: [ret]
[アカウント生成後にそのアカウントをロックするかどうか。yesにするとパスワードの前に"*LOCKED*"という文字列が付加されてそのアカウントが使えなくなります。]
Username : test
Password : *****
Full Name : test user
Uid : 1002
Class :
Groups : test
Home : /home/test
Home Mode :
Shell : /bin/csh
Locked : no
OK? (yes/no): yes
[生成するアカウントの情報が表示されますので、OKならyesと入力してリターンキーを押します。]
adduser: INFO: Successfully added (test) to the user database.
Add another user? (yes/no): no
[引き続きアカウントを作成するかどうか。作成するならyes、作成しないならnoを入力してリターンキーを押します。]
Goodbye!
test#

  • ※1 ログインクラスは/etc/login.confに環境変数を記述しておいて、adduser使用時にそのタグをセットすると、環境設定ファイルにその記述が無くても環境変数に内容がセットされるというもののようです。

    japanese:\
    :charset=eucJP:\
    :lang=ja_JP.eucJP

    のようにlogin.confに記述した上で、

    test# cap_mkdb /etc/login.conf

    とすることで、データベースを生成します。
    adduserのLogin classでjapaneseを指定すると、環境変数のcharset及びlangにlogin.confで指定した 情報が反映されるという事らしいです。

  • ※2 動作としては文字通りなのですけれど、いまいちよくわからなかったのでプログラムを追ってみたところ、-Mオプションと同等のようなので、パーミッションのmodeを設定すればいいようです。

上記の操作で”test”という一般ユーザが作成されました。other groupsでwheelを指定していますのでsuを使用してrootになることが出来ます。試しにtestでログインしてsuを使ってみます。

%su
Password: rootのパスワード[ret]
Nov 4 13:00:00 test su: test to root on /dev/ttyv0

正しくrootになれたでしょうか。これで、PuTTY等を使用してサーバにログインする事が可能になりました。PuTTYの設定等は解説サイト等を参照してください。

FreeBSDのユーザ管理についてはFreeBSDハンドブック13-5に詳しいのでご一読ください。

[adrotate group=”1″]

コメント

タイトルとURLをコピーしました