お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2008-02-05 09:53:17

ryos
メンバ
登録日: 2007-09-17

sambaでのユーザー認証

たぶんSamba固有の問題で、Ubuntuのとこで聞くことではないかもしれませんが、Ubuntuサーバ構築ガイドと言う書籍を見ながら作業をしており、ぜひ、こちらでご助言を頂ければ、幸いです。
先日、とあるサーバーを、PHP+Sambaで構築しました。これは、PHPのスクリプトでウエブ上から多数のファイルをアップロードしてもらい、それをSambaでまとめて受け取ると言うものです。
そこで、Sambaで公開したフォルダにパスワードをつけたいのです。ここで、ユーザー名とパスワードは1組だけで、許可された複数の利用者が、それを使って認証を受け、フォルダをコピーします。ただし、接続するときには、Windows上でこの1組ユーザー名などではなく、各自のユーザー名でログオンしている状態で接続します。
前任者が構築したシステムで、その時には、このような機能が実現していました。そこで、Sambaの設定を、以下のようにしてみたのですが、うまく認証してくれません。確認すべき点をご助言頂ければ、幸いです。よろしくお願いします。
smb.confの関係ありそうな部分を抜粋します。なお、以下の設定では、teacherユーザーに対して、smbpasswdでパスワードを設定しています。

[global]
        dos charset = EUCJP-MS
        unix charset = CP932
        display charset = CP932
        workgroup = DALAB
        server string = %h server (Samba, Ubuntu)
        interfaces = eth2
        bind interfaces only = Yes
        security = SHARE
        obey pam restrictions = Yes
        passdb backend = tdbsam
        guest account = www-data
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *passwd:*password\supdated\ssuccessfully* .
        unix password sync = Yes
        syslog = 0
        syslog only = Yes
        log file = /var/log/samba/log.%m
        max log size = 1000
        dns proxy = No
        panic action = /usr/share/samba/panic-action %d
        invalid users = root

[share] ⇒ これは、自由にアクセスできるところで、機能しています。
        path = /home/archi/share
        read only = No
        force create mode = 0777
        force directory mode = 0777
        guest ok = Yes

[file] ⇒ これが、制限をかけたいところで、teacherユーザーが対象です。
        comment = Upload File Box
        path = /var/www/upload3/file
        valid users = teacher, dalab
        force user = www-data
        force group = www-data
        read only = No
        force create mode = 0777
        force directory mode = 0777
        guest ok = Yes

オフライン

 

#2 2008-02-05 10:44:51

mizuno
管理者
From: Kyoto
登録日: 2007-02-28

Re: sambaでのユーザー認証

うまく認証しないというのはどういう状況ですか? 正しいユーザでもログインできないのでしょうか。それとも誰でもログイン出来てしまうのでしょうか。現象を詳しく書いておけば、詳しい人がアドバイスをしてくれるかもしれません。

私はあまり詳しくありませんが、気になったのは以下の点です。
security が share では、ユーザ名は送信されないと記憶しています。特定のユーザで認証するならば user 認証ではないのでしょうか?
Ubuntu でサーバを動かしているなら、unix charset と display charset は utf-8 になるのが自然な気がします。対して dos charset は cp932 では?

オフライン

 

#3 2008-02-05 10:58:52

ryos
メンバ
登録日: 2007-09-17

Re: sambaでのユーザー認証

ご指摘ありがとうございます。接続がうまくできないと言うのは、マシンによって異なるのですが、2つの状況になります。1:制限をかけたフォルダにアクセスすると、アクセスする権利がないとして、拒否されてしまうのです。パスワードを聞いても来ないです。2:パスワードを聞いてくるが、ユーザー名がguestになっている。対応するパスワードがないので、接続できない。
漢字コードについては、以前の記事でご相談し、PHPのコード変換のところで、試行錯誤して、この形で一応満足いく状態になったものです。まずは、ご指摘のsecurityなどを変更してみることにします。ご助言、ありがとうございます。

オフライン

 

#4 2008-02-05 11:08:26

ryos
メンバ
登録日: 2007-09-17

Re: sambaでのユーザー認証

ご助言に従って、Securityをuserにすると、自由にアクセスして良いフォルダまで、パスワードを要求され、ユーザー認証がうまくできず、どちらもアクセスできなくなってしまいました。
ただ、以前の動作していた環境でのsmb.confを見ると、確かにuserになっていたので、それが正解だと思います。あとは、ユーザー認証がうまくできないことが問題ですね。

オフライン

 

#5 2008-02-05 11:50:26

mizuno
管理者
From: Kyoto
登録日: 2007-02-28

Re: sambaでのユーザー認証

私も guest ok を指定していればパスワードは要求されないと思っていたのですが、調べてみると share 共有以外でゲスト共有を行う場合は、ゲストへのマッピングが必要になるようです。(認証に成功するまでリソース名が送信されないので、そのリソースがゲストアクセス可能か判断できないため)

http://www.samba.gr.jp/project/translation/2.2/htmldocs/smb.conf.5.html
ここを通して読んでみるといいかもしれません。

さしあたり security を user にして、global に map to guest = Bad User を指定してみてはどうでしょうか。私の手元の環境ではそれで問題なく動作しているように見えます。

オフライン

 

#6 2008-02-05 14:41:13

ryos
メンバ
登録日: 2007-09-17

Re: sambaでのユーザー認証

mizuno による投稿:

さしあたり security を user にして、global に map to guest = Bad User を指定してみてはどうでしょうか。私の手元の環境ではそれで問題なく動作しているように見えます。

まさにご指摘の通りでした。上記のように設定し、問題はsmbpasswdにおいて、-aで設定したつもりだったのですが、-Uで実行するとユーザー認証ができるようでした。
今回は2件続けて、このフォーラムの皆さんに助けていただき、サーバーを構築することができました。本当に助かりました。ありがとうございます。

オフライン

 

Board footer

Powered by FluxBB