
すべてのユーザーがパスワードなしで読み取ることができるパスを samba 経由でホストしたいと考えています。
ホスト PC の smb.conf で:
[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d
server role = standalone server
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
[mystuff]
path = /path/to/my/stuff
read only = yes
public = yes
guest ok = yes
guest only = yes
browseable = yes
他のコンピュータで
smbclient -L //myhostpc/mystuff
それは言う
Enter WORKGROUP\myusername's password:
興味深いことに、スペルを間違えても、これは表示されますmystuff
。ホスト PC が再起動され、nmblookup -S WORKGROUP
MYHOSTPC のエントリが一覧表示されます。
私も試してみました(Ubuntuでcifs-utilsをインストール)
sudo mount -t cifs //myhostpc/mystuff /tmp/mystuff
しかし、
Password for root@//myhostpc/mystuff
そしてもし私が試したら
sudo mount -t cifs //myhostpc/mystuff -o username=guest,password="" /tmp/mystuff
(どこかで見たように)私は
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page)
私は次のことに気づいた/var/log/samba/log.
:
[2022/02/12 14:57:23.569070, 0] ../../source3 /smbd/service.c:166(chdir_current_service)
chdir_current_service: vfs_ChDir(/path/to/my/stuff) failed: Permission denied. Current token: uid=65534, gid=65534, 1 groups: 65534
[mystuff]
パスワードを尋ねることなく、他のコンピューターですべてのユーザーに表示されるようにするには何が必要ですか?
答え1
のドキュメントでは、smbclient
この特定の状況について言及しています。
password
[...] デフォルトのパスワードはありません。コマンド ラインでパスワードが指定されていない場合 (このパラメータを使用するか、オプションにパスワードを追加して-U
(下記参照))、-N
オプションが指定されていない場合、目的のサービスでパスワードが必要ない場合でも、クライアントはパスワードの入力を求めます。(パスワードが不要な場合は、単に ENTER キーを押して null パスワードを入力します。)
そして後に、-N
これが言及した を参照します:
-N
|--no-pass
このパラメータを指定すると、クライアントからユーザーへの通常のパスワード プロンプトが抑制されます。これは、パスワードを必要としないサービスにアクセスする場合に便利です。
あなたの場合の解決策は?
smbclient -NL //myhostpc/mystuff
同じ効果は にも適用できますmount
。以下は からの引用ですman mount.cifs
( への参照を検索password
)。
password=arg
|pass=arg
CIFS パスワードを指定します。このオプションが指定されていない場合は、環境変数PASSWD
が使用されます。パスワードが直接指定されていない場合、または mount の引数を介して間接的に指定されていない場合はmount.cifs
、オプションが指定されていない限り、パスワードの入力を求められますguest
。
すると、次の選択肢が生まれますguest
。
guest
パスワードを要求しない
あなたにとっての解決策はここにありますか?
sudo mount -t cifs -o guest //myhostpc/mystuff /tmp/mystuff