- ベストアンサー
SAMBAのユーザ
こんばんは~。 RedHatLinux9.0を駆使し、会社でサーバ構築をやっています。 とりあえず、社員全員分のユーザ(LINUXユーザ)を作り終え、SAMBAでも導入しようかなとSAMBAの情報をいろいろ調べてみると、またSAMBAユーザとパスワードを設定しなければいけないことがわかりました。(;; なにぶん社員が多いものでかなり億劫です。 どうにか回避策はありませんでしょうか。 こんなツールがあるよ~とかでいいので。 よろしく御教授願います。m(_ _)m ■SAMBA条件 ユーザごとに認証する。 パスワード入力は暗号化されたもので認証する。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No3です。昔ソラリスでアカウント一括で作ったときのあんちょこ載せておきますので参考にしてください。 ユーザーアカウントの一括登録 ターゲットにするファイル(とその作成方法): /etc/passwd (エクセルで作って置き換え) /etc/shadow (シェルスクリプトで登録)→これをexpectにやらせる /etc/group (手入力) 適当なディレクトリに3つのファイルを置く。 /export/home/userpasswdlist.txt /export/home/passwd.sh /export/home/passwd.expect それぞれ 「ユーザー名:パスワード となっているリストファイル」 「リストを読み込んでexpectスクリプトに渡すシェルスクリプト」 「パスワード設定を自動化するexpectスクリプト」 である。内容は 「userpasswdlist.txt」 ユーザー名1:パスワード1 ユーザー名2:パスワード2 ユーザー名3:パスワード3 ...etc 「passwd.sh」(chmodで実行可能に。このスクリプトを実行することでパスワード設定が始まる。) #!/bin/sh IFS=: set -f while read line ; do set $line /export/home/passwd.expect $1 $2 done < /export/home/userpasswdlist.txt 「passwd.expect」(chmodで実行可能に。「passwd.sh」から呼ばれる。) #!/usr/local/bin/expect set user [lindex $argv 0] set password [lindex $argv 1] spawn passwd $user expect "*password:" send "$password\n" expect "*password:" send "$password\n" expect eof 「passwd.sh」を実行すると、指定したパスワードが暗号化されて「shadow」ファイルに登録され、アカウントが利用可能になる。 いちいち手でパスワードを打つのが面倒なら、こういう風にやるという方法もありますよ。
その他の回答 (4)
- 78tch
- ベストアンサー率31% (50/157)
No3です。 > この作業が嫌なんです。 > 名前タイプして、パスワード2回タイプしての繰り返し… いやいや、だから、それをしなくてすむようにするのがexpectですよっ・・・てスクリプト使えないんですか・・・。(対話的なコマンドに自動で応えるっていうのはそういう意味ですよ~!) 「この作業」がいやだからスクリプトを勉強するんですよ、というのは置いておいて、 # mksmbpasswd.sh < /etc/passwd > /etc/samba/smbpasswd したら一発なはずですよ。この文の意味は分かりますか?ユーザーを作るとこの「/etc/passwd」ファイルにユーザー情報が書き込まれますが、それをそっくりそのままSAMBAのユーザー情報ファイルであるところの「/etc/samba/smbpasswd」に内容コピーしてやる、ということですよ? また私個人的にはRH社の9に対するサポートが終わっても、もともとRH社のサポートって使ったことないから気にしてないんですけど・・・場合によってはいまだに7.3使ったりすることもありますしね。(公開サーバーを運営しているわけではないので。)
- 78tch
- ベストアンサー率31% (50/157)
あとPerlがつかえるなら crypt も。
補足
Perlは使えません。 スクリプト言語はひとつも習得していません(^^;
- 78tch
- ベストアンサー率31% (50/157)
# mksmbpasswd.sh < /etc/passwd > /etc/samba/smbpasswd かもしくは # mksmbpasswd.sh < /etc/shadow > /etc/samba/smbpasswd ですかね。 smbpasswdの書式とpasswdやshadowの書式を見比べてください。 UNIX上のユーザー作成にも、対話的なコマンドに指定した答えを返してくれるexpectが便利かと。
補足
回答ありがとうございます。 これも結局SAMBAのパスワードファイルができるだけで また、ユーザごとにパスワードを入れてやらなければいけませんよね? この作業が嫌なんです。 名前タイプして、パスワード2回タイプしての繰り返し… やはりこれしかないんでしょうか?
- Code_Blue_Ocean
- ベストアンサー率33% (5/15)
はじめまして。 Googleで「SAMBA」、「passwd」、「ユーザ」、「同期」をキーワードにして調べてみたら passwdファイルと同期させる方法が書いてあるページを見つけました。 以上、ご参考までに。 では。
補足
このページ見ました。 (1)は条件に適さない…平文のため (2)はもうSAMBAパスワードが入っていることを前提条件としている。←これが億劫 (3)一番可能性があるが詳しい説明がない。 ありがとうございました。
お礼
あっ、ありがとうございます(^^) こういうのを待っていたんです。 expect……勉強不足です。 これを気にシェルスクリプト勉強しようと思います。 対話的なものを自動にできるなんてすばらしいですね。 ほんとに助かりました。 でも、社員の1/4ぐらいタイプしてしまった(笑