パスワードなしのファイルサーバー用のシンプルなsamba構成と、すべてのユーザーに対する完全な読み取り書き込み。セキュリティは必要ありません。
私は自宅のファイルをホストするサーバーを作っています。サーバーの目標は、Windowsマシンのファイルをホストすることです。私がこれまでにできた最善の方法は、この構成です。これにより、ネットワークから共有とサーバーを確認できますが、Windowsはそれらにアクセスできません。サーバーでLinux mateを使用しています。すべての最新の更新プログラムです。
私の設定:
[global]
workgroup = BIOHAZARD
netbios name = MATUSALEM
guest account = nobody
log file = /usr/local/samba/var/log.%m
max log size = 50
security = user
map to guest = bad user
encrypt passwords = yes
# Share Definitions
[homes]
comment = Home Directories
browseable = no
writable = yes
[Teste]
path = /home/peter/share
writable = yes
printable = no
comment = teste
only guest = yes
public = yes
guest ok = yes
guest only = yes
guest account = nobody
browsable = yes
[REDE]
comment = TESTE 2
public = yes
delete readonly = yes
path = /HOME/REDE
writeable = yes
guest ok = yes
guest only = yes
guest account = nobody
browsable = yes
######
何か案は?
はい、Sambaは苦痛になります。仕事だけでなく、自宅でも使用しています。
最初に行うべきことは、トラブルシューティングを容易にするためにゼロからやり直すことです。これを行うには、ターミナルで次のコマンドを実行します。
dpkg-reconfigure samba-common
次に、共有したいsambaサーバー上のフォルダーに移動し、ユーザーが共有に対して読み書きできないことを確認します。これは、ユーザーnobodyがWindowsクライアントが使用するユーザー名であるためです。通常、単純にするために/ディレクトリにフォルダーを作成しますが、「正しい」方法は/ srvのサブフォルダーを作成することです。権限をまだ変更していない場合は、以下のコマンドを使用してください。
Sudo chown -R nobody.nogroup the_folder
Sudo chmod -R 777 the_folder
また、rootとして次のコマンドを実行することにより、誰もディレクトリに書き込めないかどうかをテストできます。
Sudo -u nobody touch test_file
/etc/samba/smb.confを編集し、[printers]共有定義の下に行を追加します。
[share_name] ;the share name can be what ever you want
browseable = yes
path = the_complete_path_to_the_shared_folder
guest ok = yes
read only = no
create mask = 777
次に、完了したら保存して次を実行します。
testparm
これにより、タイプミスをした場合に警告が表示されます。次に、Sambaサービスを再起動する必要があります。
Sudo systemctl restart smbd
Sudo systemctl restart nmbd
@Andrewの回答に加えて、ubuntu 17.04から17.10への最近のアップグレードにより、systemctl samba-dc-ad.serviceで問題が発生します。おそらく、samba-dc-ad.serviceにsambaを再インストールするときのマスクのバグではありません(意図的)。追加の手順@ Andrewのanswerの前、アップグレードのためにsambaのインストール/再インストールに問題がある場合:
このページに移動して、手順を実行します。 https://wiki.samba.org/index.php/Managing_the_Samba_AD_DC_Service_Using_Systemd
apt-get -f sambaのインストール
これは古いスレッドであることがわかりましたが、ログインを必要とせずにフォルダを作成および共有する問題を解決するのに役立ちました。他にもたくさんのスレッドがありますが、誤解を招きます。そこには他の投稿と非常に多くの小さな違いがあるので、セミビギナーズガイドを下にあげました。私はそれがほとんどあきらめ、髪の半分を引き出した誰かを助けるかもしれないと思いました:-)
私にとって、デフォルトのAWS Linuxイメージ(Amazon Linux AMI 2017.03.0(HVM))でルートdir /にフォルダーを作成する必要がありました。デフォルトのec2-userで作成した場合、アクセス許可を割り当てることができませんでした。許可を割り当てるとき、nogroupが機能しなかったため、nobody.nobodyを使用する必要がありました。最後に、gloablスタンドアロンサーバーセクションの下に、デフォルトでsecurity = userと表示されているguest = Bad Userへのマップを含める必要がありました
したがって、完全な手順は新しいサーバーの展開になります。
必要に応じてsambaをインストールします
フォルダを作成して権限を割り当てます
Sudo su
cd /
mkdir the_folder
chown -R nobody.nobody the_folder
chmod -R 777 the_folder
sambaファイルを編集する
nano /etc/samba/smb.conf
行を見つける----スタンドアロンサーバーオプション----「ゲストにマップ」を追加
security = user
passdb backend = tdbsam
map to guest = Bad User
セクションの下で#====共有定義====共有を追加
[SHARENAME]
path = the_folder
read only = no
create mask = 777
guest ok = yes
ファイルを保存して、samabaを再起動します
/etc/init.d/smb restart