
私は、1 つのディレクトリを読み取り専用で参照できる共有ユーザー アカウントが 1 つあるように samba を設定しようとしています。私は次のものを持っています:
security = share を security = user に変更しました
guest account = nobody をコメントアウトしました
smbpasswd で samba ユーザとパスワードを追加しました
これは samba の dir エントリです:
[テスト] コメント = これは機能していますか? 公開 = いいえ パス = /thedir/home/ 拒否ファイル = /.*/ 閲覧可能 = はい ゲストOK = いいえ ユーザー名 = ユーザー名 読み取り専用 = はい
これらすべての試みにもかかわらず、Windows エクスプローラーでディレクトリを開こうとすると、同じグレー表示された「servername\Guest」ボックスが表示されます。アクティブ ディレクトリに頼らずに、セットアップしようとしている共有 UN と PW でこのプロンプトを機能させる方法はありますか?
前もって感謝します。
答え1
留意すべき点は、Windows は巧妙にサーバーごとに 1 つのユーザー名のみで認証するため、そのサーバー上に他の共有がある場合は、サーバー上のすべての共有に対して同じユーザー名とパスワードを設定する必要があるということです。
答え2
提案:
1.) 「guest ok」ステートメントをコメントアウト/削除してみてください。
2.) 拒否ファイルのステートメントを削除/調整してみてください (私自身、それに関して問題を抱えていたため、他に理由はありません)。
実際、私の smb.conf の 1 つから、実際に機能する行を以下に示します (そのマシンには複数のユーザーがいて、全員が同僚です)。
[ユーザー名]
コメント = ユーザー名 ホーム 共有
パス = /home/username
書き込み可能 = はい
無効なユーザー = なし
有効なユーザー = ユーザー名、同僚 1、同僚 2、同僚 3、同僚 4
拒否ファイル = /.ra/。ラム/.wmv/.avi/.mpg/.mpeg/.mp3/.oog/.wav/.mid/.aac/.mov/*.wma/
閲覧可能 = はい
それは役に立つでしょうか?
答え3
Windows がサーバーに認証する方法が原因で、この方法では動作させることができません。サーバーに接続すると、その資格情報はそのサーバー上のすべての共有に使用されます。これを変更する唯一の方法は、サーバーから完全に切断することです (Windows から net use /delete を使用するか、再起動します)。
具体的に何をしようとしているのですか? 基本的には、クライアントがサーバー上の他の場所でゲストとして正常に認証されないようにする必要があります。
通常は、各ユーザーが独自のアカウントを取得し、グループを使用して個々の共有へのアクセスを制御します。
答え4
samba パスワード ファイルが設定されていなかったことが判明しました。さらに、この問題は、ディレクトリをネットワーク ドライブとしてマッピングすることで XP で解決されました。Vista では、資格情報を rundll32.exe keymgr.dll、KRShowKeyMgr で追加する必要がありました。