
Ubuntu日本語フォーラム
ログインしていません。
既に自己解決しましたが、情報共有のため解決方法と合わせ記しておきます。
もしどなたかのお役に立てば幸いです。
【問題】
AndroidからUbuntu sambaサーバにアクセスすると
ディレクトリは見えるがディレクトリ内部にアクセスしようとすると認証エラーになる。
Androidバージョン:6.0.1
Android側使用アプリ:
ES File Explorer/Manager PRO
ES ファイルエクスプローラー
Ubuntuバージョン:16.04 LTS
sambaバージョン:4.3.11-Ubuntu
sambaのログには以下のようなメッセージ
cat /var/log/samba/smb.
[2018/05/22 04:25:13.066003, 0] ../source3/param/loadparm.c:3259(process_usershare_file)
process_usershare_file: stat of /var/lib/samba/usershares/dsc_0010.jpg failed. そのようなファイルやディレクトリはありません
システム認証ログにはnobodyユーザでアクセスされたとの記録あり
sudo grep smbd /var/log/auth.log
...
May 21 21:31:51 pc-ta3 smbd: pam_unix(samba:session): session closed for user nobody
Androidアプリ側では正しくユーザ名、パスワードを設定しています。
不具合によりOSを再インストールした後、この現象が発生するようになりました。
OS再インストール前にはこんな現象は起きていませんでした。
【解決策】
smbユーザパスワードを設定する
どうしてかシステムユーザ認証情報を参照する状態になっていなかったようです。
システムユーザ認証情報を参照する状態を回復するのが根本的な解決方法かとは思うのですが、
私にとってこれで実用上問題はありませんのでとりあえずこれでよしとします。
もし上記根本的な解決策につながる情報があればご教示いただけますとありがたいです。
sudo smbpasswd -a user
New SMB password:
Retype new SMB password:
Added user user.
※ここで設定するSMBパスワードは
Androidのアプリで設定するパスワードと同じ値であれば、
Ubuntuのシステムパスワードと同じでも別のものでもいいと思います。
※samba設定ファイルの内容
/etc/samba/smb.conf
(global部分はデフォルトのままさわっていません)
[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[Pictures]
path = /home/user/ピクチャ
force user = user
force group = user
create mode = 0664
directory mode = 0775
writeable = yes
guest ok = no
browseable = yes
オフライン