- ベストアンサー
サンバで個人用と誰でもパスなしで入れるフォルダの両方作りたい
smb.confの[global]の security = XXX の行のXXXを userとすればユーザー名とパスワードの入力が必要な個人専用のフォルダが提供でき、 shareとすれば誰でもパスワードの入力をせずに入れる共有フォルダが提供できることは分かりました。 では、個人専用のフォルダも提供したいし、みんなで使う共有フォルダも提供したい場合はどういうふうに設定すればいいのですか。 あと security = shareとすると エクスプローラのアドレス欄に \\cat\share と入力しても \\cat/share と入力しても おなじ共有フォルダを開けるのですが security = userとすると \\cat\share と入力した場合のみ開けて、 \\cat/share と入力した場合はそのフォルダが見つかりません! これって、なぜだか分かる方いますか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ANo.4 です。 下記ページをよく内容読みましたか? http://blog.livedoor.jp/linuxlinux/archives/50067532.html ディレクトリごとにちゃんとユーザ設定すれば セキュリティも大丈夫ですよ。 smb.confでフォルダ定義を増やせばいいだけ。 [test1]のフォルダは、Aさんだけ。 [test2]のフォルダは、Bさんだけ。 [test3]のフォルダは、みんなで共用。 あとはフォルダごとにユーザー設定して そのユーザ個別にパスワード設定をかけてやればいい。 実際に自分では、1台のSambaサーバで 4つのディレクトリを別々のパスワードで運用しています。 まあ2台で運用できてるなら、 それでもいいんではないでしょうか?
その他の回答 (4)
- jo-ya
- ベストアンサー率50% (3/6)
http://blog.livedoor.jp/linuxlinux/archives/50067532.html smb.confの記述でディレクトリを2つ設定して、 それぞれのディレクトリ毎にユーザーの設定をすれば ディレクトリ単位でパスワード認証が可能。 自分が使用するディレクトリに パスワードを設定して他者に知らせなければ 他のユーザーはアクセスできません。 smb.conf のディレクトリ設定部分 ―――――――――――――――― [test] comment = test path = /home/test username = user1 writeable = yes guest ok = no [test2] path = /home/test2 # invalid users = %S username = user2 writeable = yes guest ok = no ――――――――――――――――
お礼
jo-yaさん、ご回答ありがとうございます。 しかし私がやりたいことはユーザーごとに別々のフォルダーを提供するだけでなく、さらに誰でも利用可能な共有フォルダーも同時に提供するということです。 これを実現するために色々な設定を試してみましたが、なかなかうまくいかなかったのであきらめて、今では結局2台のサンバサーバーを構築して、これを実現しています。 すなわち、個人専用フォルダーのみ提供するサンバ機と 共有フォルダーのみ提供するサンバ機を構築したわけです。 securityの設定が各フォルダーごとに行えない以上、 私のやりたいことは恐らく1台のサンバ機では実現できないと判断したわけです。
- umasikajiro
- ベストアンサー率67% (545/803)
不要な行を削除したsmb.confを作って /etc/init.d/smb restart してみました こちらではこれでXPの制限ユーザー(パスワード無し)で \\host名\publicにパスワード無しで書き込み出来てます。 これで駄目なら fedora coreとかでSelinuxが関係していませんでしょうか? それならコマンドラインで # setenforce 0 したらどうなりますか? ##以下smb.conf 全文 [global] unix charset = eucJP-ms dos charset = cp932 display charset = eucJP-ms workgroup = TESZ server string = Samba %v on %h map to guest = Bad User log file = /var/log/samba/%m.log max log size = 50 security = user encrypt passwords = Yes username map = /etc/samba/smbusers socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 [homes] comment = %U's Home Directory read only = No browseable = No public = No guest ok = No [public] comment = Public Space for Everyone path = /var/samba/public public = Yes read only = No ##以上まで こちらでもいろいろ試してみました。 ユーザー切り替えでなくXPhome起動時に最初からパスワード無しの制限ユーザーでログインしたり XPproのPCでも試しました。 また /var/samba/public/ がroot:nobodyだったのを chown root:rootしましたが、やはり変わらずパスワードを要求されません。
お礼
umasikajiroさん、いろいろ試していただいて、本当にありがとうございます。 新たに判明したことをご報告します。 私がメインで使用しているXP機にパスワードなしのユーザーを作成して共有フォルダーにアクセスしてみたところ、なんとパスワードを要求されずに行けました。 昨日、作成したパスワードなしのユーザーは、最近再セットアップしたノートパソコンでやりました。 そこで、私が所有する3台の異なるXP機にそれぞれパスワードなしのユーザーを作成して違いを確認してみました。 1台目はずっと前からメインで使用しているXPプロフェッショナルです。 このパソコンでパスワードなしのユーザーを作成して共有フォルダーへアクセスした場合、パスワード要求はありませんでした。 2台目は最近再セットアップしたXPホームエディション(ノート)です。 このパソコンで同様にパスワードなしのユーザーを作成して共有フォルダーへアクセスした場合、パスワードが要求されました。 3台目は最近セットアップしたばっかりのXPプロフェッショナルです。 このパソコンでも同様にパスワードなしのユーザーを作成して共有フォルダーへアクセスした場合、パスワードが要求されました。 以上より、ずっと前から使用しているXP機はどこかの設定を変更しているため、パスワードなしのユーザーでもサンバにパスワードを要求されないと予想できます。 また、security = shareにした場合は3台ともパスワードなしでOKでした。 security = userで共有フォルダーと個人専用フォルダーを共存させるためにはXP側の設定を何かしら変更する必要があるのかもしれません。 今日はもう寝ますが、明日はXP機のどこかの設定をいろいろ変更してみて試してみたいと思います。 何か判明したら補足したいと思います。 本当はサンバの設定だけで、XP機は初期設定のままで共有フォルダーを利用できるようにしたかったのですが、そろそろ妥協案を考える必要がありそうです・・・
補足
ご報告します。 XP機の設定によりサンバにパスワードを要求されたり、されなかったりするのだと予想し、 パスワードが要求されてしまう、セットアップしたばかりのXP機の様々な設定を、 パスワードが要求されない、以前から使用しているメインパソコンと同じになるように変更しつつ共有フォルダーへのアクセスを繰り返しましたが、 依然として、何の設定によりパスワードを要求されたり、されなかったりするのか判明していません。 セットアップしたばかりの方にはXPのサービスパック2を適用していなかったので、これを適用して試したりもしましたが、ダメでした。 ところで、セットアップしたばかりのXP機ではユーザーのパスワードの有無に関わらず、パスワードが要求されることに気づきました。 さらにWindows98を引っぱり出してきて新規インストールしてみたりもしました(XP機と同じディスクに入れるためにパーティションの切り直しとか懐かしい作業もしましたw)。 Windows98ではワークグループ内にサンバ機を発見することはできましたが、そのサンバ機にアクセスすることは許されませんでした。 Windows98で、サンバ機にアクセスできない原因を調査するのは、またけっこう時間がかかりそうなので、やめておきます。 というわけで、現在の私のサンバ設定は、クライアント機の設定により、パスワードを要求されたり、されなかったりするようになっています。 そこで、大変不本意ではありますが、そろそろ代替案をとることにします。 私が考えた代替案とは、すなわち2機のサンバサーバーを構築することです。 1機のサンバサーバーで個人専用のフォルダーと共有フォルダーの両方を提供するのは難しそうなので、 個人専用のフォルダーのみ提供するサンバ機と、共有フォルダーのみ提供するサンバ機を用意することにします。 これにより、ユーザーは目的に応じて異なるサンバ機にアクセスしないといけませんが、これが今私が考えられる最善策です!
- umasikajiro
- ベストアンサー率67% (545/803)
以下は自信が有りませんので、自己責任でお願いします 詳しい人がいましたら突っ込みお願いします。 (TEST環境:Vine3.2 + Samba3.0.10) [global]セクションに map to guest = Bad User public = No guest ok = No を追加 [public]セクションは#1と同じ 但し/var/samba/publicはdrwxrwxrwx これでXPの場合だと管理者ユーザーと制限ユーザー(パスワード無しも可) の場合はpublicディレクトリはパスワード無しでOKで samba登録ユーザーのディレクトリはパスワード要求となりました。 但しXPにGuestでログインするとネットワーク共有自体が使えませんので駄目ですね これは、samba側のではなくてXP側の制限だと思います で、要するに map to guest = Bad User が肝のようです http://www.a-yu.com/opt/samba02.html
お礼
umasikajiroさん、ご返信ありがとうございます。 できました!! [global]セクションに map to guest = Bad User の行を追加したらできました! これはsecurity = userと併せて使用することにより、 通常のフォルダに入るにはユーザー名とパスワードを要求され、共有フォルダーにはパスなしで入れるようになるのですね! なお、こちらでも調べたのですが public = No guest ok = No の行はどちらもフォルダごとに指定する設定項目なので[global]セクションに記述しても、何もおこらないと思います。 実際に[global]セクションに public = No guest ok = No の2行を記述した場合と、記述しない場合で 何が変わるのか試してみたのですが、 やはり両者とも相違ないっぽいですよ。 よって今回はsmb.confの内容を単純明快にするためにも public = No guest ok = No の2行は記述しないことにしました。 これで私のやりたかったことは実現しました。 サンバのサイトで調べたところsmb.confには気が遠くなるほどたくさんの設定項目があり、私ひとりで解決するには相当な時間を要したことでしょう。 どうもありがとうございました!
補足
報告します! 今、XP機に作成したパスワードなしのユーザーで サンバの共有フォルダーを開こうとしてみました。 そうしたら、ユーザー名とパスワードを要求されてしまいました~。 umasikajiroさんのアドバイスではパスワード無しも可とあるのですが、こちらで確認してみたところパスワード無しユーザーの場合は共有フォルダーを開く場合でもユーザー名とパスワードが要求されてしまいました。 なので今のままでは、XP機のユーザーに何でもいいのでパスワードを設定してもらわないと、共有フォルダーにアクセスしたとき、ユーザー名とパスワードが要求されてしまいますね。 ちなみに、このときどんなユーザー名とパスワードを入力しても共有フォルダーを開けるようですが、やっぱり要求が出てしまうのは悔しいですね! でも、umasikajiroさんの設定ではパスワードなしのユーザーでもOKだったということですので、 私のsmb.confに設定が足りないのかもしれません。 なにか、心当たりはありませんでしょうか。 念のため public = No guest ok = No の2行を追加して試してみましたが、ダメでした・・・
- umasikajiro
- ベストアンサー率67% (545/803)
>個人専用のフォルダも提供したいし、みんなで使う共有フォルダも提供したい場合 security = user にしておいて publicセクションでみんなで使うディレクトリを指定すればよいのでは? [public] comment = Public Space for Everyone path = /var/samba/public public = Yes read only = No とか?
お礼
umasikajiroさん、ご返信ありがとうございます。 さっそくやってみました。 /var/samba/publicはすでにありました。 みんなで使う共有フォルダーとしてRPMが自動的に作ってくれたのかな。 しかし、やはりフォルダを開こうとするとユーザー名とパスワードを要求されます。 既存の私が作ったshareの設定は [share] path = /home/share/smb writeable = yes guest ok = yes の3行だけでしたので、これに public = yes の行を追加して試したりもしました。 comment = Public Space for Everyone の行はおそらくどこかに表示されるメッセージの設定でしょうか。 read only = no の行は記述しなくても同様の設定になると思われます。 あと、どうも目的の共有フォルダまでたどりつけていないような気がします。 なぜかといいますとマイネットワークから順々に ネットワーク全体→ワークグループ→サンバサーバーとたどっていくとサンバサーバーに入ろうとした時点ですでにユーザー名とパスワードを要求されるからです。 だから一気に目的のフォルダパスを指定した場合も、このサンバサーバー自体にパスを聞かれているような気がします。 以上より、なにか他に助言はありませんでしょうか。 私がやりたいことは個人専用のフォルダを開こうとした場合は、ユーザー名とパスワードが要求され、みんなで使う共有フォルダを開こうとした場合はそのまま開けるようにすることです。 よろしくお願いします。
お礼
jo-yaさん、ご返信ありがとうございます。 ご指摘のとおり、昨日はjo-yaさんの回答文のみ読んで、私の欲している情報ではないと判断してしまい、 ご紹介いただいたサイトまでは全然目を通していませんでした。 なので今日、改めてちゃんとこのサイトに目を通してみました。 そして、かなり有用な情報が掲載されていることに気づきました。 サイトを真似てsmb.confを編集してみました。 security = shareでも ディレクトリーごとにユーザーの設定を行えば、個人専用のフォルダーと誰でも利用可能な共有フォルダーを提供できるのですね。 そういえば、この設定は以前試したのでした。 この設定だと個人専用のフォルダーを開こうとした場合、要求されるのはパスワードのみで ユーザー名は「サーバー名\Guest」となって変更できないのでした。 その時は、これが嫌でやめたのですが、 よくよく考えてみるとユーザー名が要求されないのは、防犯性がほんのちょっと低下するだけで 利用者側からしてみれば、パスワードだけ入力すればいいのでかなり使いやすくなるのではと思いました。 さらにサンバのパスワードとXP機のパスワードを同じにするとパスワードすら要求されないことを発見しました。 これにより防犯性がさらに低下しますが、利用者側からしてみれば、さらに使いやすくなるということですね。 防犯性ついてはユーザーに注意を促す文章を作成するとして、この設定に変更しようと思います。 すでに2台のサンバサーバーを構築してしまったので、また設定をやり直すのは少々面倒ですが、 やはり1台で管理できる方がいいので、やってみたいと思います。