
Ubuntu Linux 22.04.2
Samba バージョン 4.15.13-Ubuntu
私はUbuntuでSambaのデフォルトインストールを使用しています。
これを追加しましたsmb.conf は、
[www]
参照可能 = はい
印刷可能 = いいえ
コメント = Web ルート ディレクトリ
作成モード = 0644
ディレクトリ モード = 0775
パス = /var/www/html
書き込み可能 = はい
有効なユーザー = @www-data
また、設定では次の行が有効になっています:
unix パスワード同期 = はい
この後、推奨どおりに Samba を再起動しました。
systemctl status smbd
エラーは表示されません。Sambaはアクティブ(実行中)
以前、私は自分自身を www-data グループに追加しました。
今、Linux の資格情報を使用して Windows からネットワーク共有 (\\<HOST>\www) に接続しようとしました。しかし、できません。接続が拒否されました。
/var/www/html は www-data が所有しています
ls -la /var/www/html
drwxrwxr-x 3 www-data www-data 4096 Apr 24 20:44 .
drwxr-xr-x 3 root root 4096 Apr 21 10:37 ..
何が間違っているのでしょうか? Samba でデフォルトではない設定が欠けているのでしょうか?
Windows からホストにアクセスでき、ファイアウォールは有効になっていません。
答え1
わかりました。何らかの方法で smbpasswd を使用して、ユーザーを samba 独自のデータベースに追加する必要があることに気付きました。
sudo smbpasswd -a <user>
しかし、なぜLinuxの認証情報と同期しないのでしょうか?unix パスワード同期 = はい
理解できません。
答え2
これは、Samba が *Nix を同期する必要があるためであり、その逆ではないため、Samba が有効なユーザーを変更するには smbpasswd を使用する必要があります。内部的には、Samba は *Nix のパスワードも変更する必要があることを認識しており、それを実行します。
カスタム プログラムを使用して Samba と *Nix の 2 つを同期させるには、いくつかのオプションを設定できます。
passwd program = /bin/another_program %u
passwd chat = *old*password* %o\n *new*password* %n\n *new*password* %n\n *changed*