Amazonのアソシエイトとして、ラズパイダ(raspida.com)は適格販売により収入を得ています。詳しくは当サイトの プライバシーポリシーをご覧ください。
この記事はRaspberry PiではなくLinux全般の記事です。 お間違えの無いよう記しておきます。
PCにインストールしたLinux Mintでのお話です。Ubuntu系にあるファイル共有がGUIで設定していくと見事に共有はできずにハマることが多々あります。 どうやらディストリビューションは関係なくSamba自体のエラー(バグ?)みたいですね。確かにUbuntuでもDebianでも遭遇しました。 だいぶ以前から、UbuntuなどでコマンドではなくGUIで共有する機能(項目)があったのですが、どうにも上手く設定できませんでした。もう20年くらい同じようなエラーがあるのではないかとすら思えます。 コマンドにも慣れていくと、GUIではなくコマンドでいつも設定してきました。 GUIで設定をしたら、エラーに遭遇してニッチもサッチも行かなくなったので対処方法を記しておきます。 あくまでもLinux MintとファイラーNemoの環境ですが、他のディストリビューションでも通じる部分はあると思っていますので、参考にしてください。 共有の設定メニュー Linux MintでもGUIで共有設定する方法は、ファイラー(Nemo)の機能としてパッケージが入っています。(nemo-share) フォルダ(ディレクトリ)を右クリックすると出てきます。 nemo-shareがインストールされていると表示されます。別のファイラーであるnautilusも同様です。(nautilus-share) ここから共有の設定ができるハズなんですけど結局はできません。 最初はSambaがインストールされていませんから、下部に出ているインストールをクリックすると、sambaをインストールしてくれます。 sambashareグループに参加させろとありましたが、確認してみるとインストール後はsambashareグル−プへ既に入っていました。 確認するにはgropusコマンド。 groups ユーザー名 その後に共有させるボタンを有効にするわけですけど、ゲストアクセスにチェックを入れると権限がないよと注意が表示されます。これは正常で、権限その他に権限を付与しますとお知らせしてくれます。 これは機能しているようで、権限を確認したところ確かにOhterへ読み書きが付与されています。 これで良いかと思ったら、共有を作成ボタンでエラーになり完了しません。 net usershareがエラー255と出ました。実はこれ以外もエラーは確認しています。 本来はGUIだから、この一連の手順で共有が完了しないとなりません。コマンドを打ったり、smb.confを編集しなくても済むのだと思っていました。 とにかくこれでは埒があきません。 いつもの方法(コマンドと設定記述)にするしかありませんでした。 Sambaの再インストールをする とにかくSambaがおかしいので、手動でSmabaを入れ直してみました。今回はSamba系はすべて削除する方針で消し去りました。 コマンドとしては次の通りです。samba-で始まるパッケージなども全てなので気を付けてください。 sudo apt remove –purge samba samba-* 削除できたら不要なパッケージになっているものを削除します。 sudo apt autoremove これでsamba自体と、samba-で始まる関連パッケージをすべて削除しました。 samba-nemoも削除されてしまったため、右クリックで表示された「共有の設定」機能もなくなります。入れ直します。 sudo apt install nemo-share 改めてSamba関連をインストールします。sambaとsmbclientを指定しました。 sudo apt install samba smbclient これでSambaの入替ができました。 念のため、ここで再起動しておきましょう。つまり簡単に言うと、ディレクトリの権限とsmb.confへのセクションの記述をセットにしていきます。 smb.confへの追記 今回はホームディレクトリをLinux(今回はLinuxMint)のログインユーザーで設定していく例です。 sudo nano /etc/samba/smb.conf 元々あるhomesセクションを一部修正していきます。 注釈であるコメント部分を除いた部分は次の通りです。ここから3行だけ変更します。 [homes] comment = Home Directories browseable = no read only = yes create mask = 0700 directory mask = 0700 valid users = %S 変更した内容: [homes] comment = Home Directories browseable = no read only = no create mask = 0775 directory mask = 0775 valid users = %S 記述したものが合っているのか確認しておくと安心です。 testparam 既存ログインユーザー(今ログインしているPi 5のユーザー名raspida)を登録し、パスワードを設定します。ユーザー名は置き換えてください。 sudo smbpasswd -a raspida 最後に、変更した箇所をsambaサービスを再スタートして適用しておきます。 sudo systemctl restart smbd nmbd ファイラーのNemoはコマンドから終了させることで再起動と同じになります。 nemo
PCにインストールしたLinux Mintでのお話です。Ubuntu系にあるファイル共有がGUIで設定していくと見事に共有はできずにハマることが多々あります。
どうやらディストリビューションは関係なくSamba自体のエラー(バグ?)みたいですね。確かにUbuntuでもDebianでも遭遇しました。
だいぶ以前から、UbuntuなどでコマンドではなくGUIで共有する機能(項目)があったのですが、どうにも上手く設定できませんでした。もう20年くらい同じようなエラーがあるのではないかとすら思えます。
コマンドにも慣れていくと、GUIではなくコマンドでいつも設定してきました。
GUIで設定をしたら、エラーに遭遇してニッチもサッチも行かなくなったので対処方法を記しておきます。
あくまでもLinux MintとファイラーNemoの環境ですが、他のディストリビューションでも通じる部分はあると思っていますので、参考にしてください。
共有の設定メニュー
Linux MintでもGUIで共有設定する方法は、ファイラー(Nemo)の機能としてパッケージが入っています。(nemo-share)
フォルダ(ディレクトリ)を右クリックすると出てきます。
nemo-shareがインストールされていると表示されます。別のファイラーであるnautilusも同様です。(nautilus-share)

ここから共有の設定ができるハズなんですけど結局はできません。

最初はSambaがインストールされていませんから、下部に出ているインストールをクリックすると、sambaをインストールしてくれます。
sambashareグループに参加させろとありましたが、確認してみるとインストール後はsambashareグル−プへ既に入っていました。
確認するにはgropusコマンド。
groups ユーザー名
その後に共有させるボタンを有効にするわけですけど、ゲストアクセスにチェックを入れると権限がないよと注意が表示されます。これは正常で、権限その他に権限を付与しますとお知らせしてくれます。

これは機能しているようで、権限を確認したところ確かにOhterへ読み書きが付与されています。
これで良いかと思ったら、共有を作成ボタンでエラーになり完了しません。

net usershareがエラー255と出ました。実はこれ以外もエラーは確認しています。
本来はGUIだから、この一連の手順で共有が完了しないとなりません。コマンドを打ったり、smb.confを編集しなくても済むのだと思っていました。
とにかくこれでは埒があきません。
いつもの方法(コマンドと設定記述)にするしかありませんでした。
Sambaの再インストールをする
とにかくSambaがおかしいので、手動でSmabaを入れ直してみました。今回はSamba系はすべて削除する方針で消し去りました。
コマンドとしては次の通りです。samba-で始まるパッケージなども全てなので気を付けてください。
sudo apt remove --purge samba samba-*
削除できたら不要なパッケージになっているものを削除します。
sudo apt autoremove
これでsamba自体と、samba-で始まる関連パッケージをすべて削除しました。
samba-nemoも削除されてしまったため、右クリックで表示された「共有の設定」機能もなくなります。入れ直します。
sudo apt install nemo-share
改めてSamba関連をインストールします。sambaとsmbclientを指定しました。
sudo apt install samba smbclient
これでSambaの入替ができました。
念のため、ここで再起動しておきましょう。つまり簡単に言うと、ディレクトリの権限とsmb.confへのセクションの記述をセットにしていきます。
smb.confへの追記
今回はホームディレクトリをLinux(今回はLinuxMint)のログインユーザーで設定していく例です。
sudo nano /etc/samba/smb.conf
元々あるhomesセクションを一部修正していきます。
注釈であるコメント部分を除いた部分は次の通りです。ここから3行だけ変更します。
[homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S
変更した内容:
[homes]
comment = Home Directories
browseable = no
read only = no
create mask = 0775
directory mask = 0775
valid users = %S
記述したものが合っているのか確認しておくと安心です。
testparam
既存ログインユーザー(今ログインしているPi 5のユーザー名raspida)を登録し、パスワードを設定します。ユーザー名は置き換えてください。
sudo smbpasswd -a raspida
最後に、変更した箇所をsambaサービスを再スタートして適用しておきます。
sudo systemctl restart smbd nmbd
ファイラーのNemoはコマンドから終了させることで再起動と同じになります。
nemo -q
これでSamba共有は、ログインしているユーザー名と新たに設定したパスワードでアクセスできるようになりました。
もしも上手くアクセスできない場合は記述を見直すことと、該当のディレクトリの権限(パーミション)をもう一度確認してください。
足りないパッケージを追加してconfを修正
このままだとマズかったのか、共有はできてもLinux Mint側からネットワーク全体やNASが見られなくなりました。
Nemoはsmb://を利用出来ない旨のダイアログが出ます。
これは困った。sambaに関連するパッケージで必要な物も削除されてしまっていたようです。
調べると、nss-mdns パッケージのconfファイルを修正する必要があるみたい。
sudo nano /etc/nsswitch.conf
もしもファイルが無かったら、nss-mdnsを追加インストールしてください。
こちらを参考にしました。
確認すると、下図のようになっていたので、参考サイトのように変更してみました。

hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns
IPv4だけ使うなら、mdns_minimal の代わりに mdns4_minimalでもOKです。
これでネットワーク周りは通常通りの動きをします。
Nemo-shareの共有設定が機能した!
これら手順で進めた後、無事にファイル共有もエラーも無くなったわけですが、なんとNemoの共有設定がまともに動作するようになっていました。
nsswitch.confを修正したおかげでしょうか。

新たにディレクトリ(to_mac)を作成し、ファイラーNemoの右クリックメニューから共有を選び設定しています。
画像のように共有を有効にしてゲストアクセスとしても、最初のようにエラーは出ません。
このまま閉じてた他のマシン(今回はMac)からアクセスすると普通に使えました。全く問題ありません。
もしかしたら足りないパッケージ
あと、wsddパッケージも足りないかもしれません。これはgvfs-*を再度インストールしたら、提案パッケージとして表示されたのでついでにインストールしていました。
sudo apt install gvfs-*
余計に入れたくないなら単独で追加した方が良いかも。ただ、今回の問題かどうかは不明です。
sudo apt install wsdd
Sambaを入れ替えて設定を変えると機能する厄介な共有
今回もUbuntu系にあるファイル共有の設定は、調べれば調べるほど厄介でした。
もしかしたらLinux Mint 21から22へアップグレードしたせいもあるかもしれません。クリーンインストールならGUIですんなりとできていたのでしょうか。
アップグレードしたLinux Mint 22という前提が付くかもしれませんが、**sambaを再インストールして手動でsmb.confを触り、nsswitch.confで名前解決を設定したら、まともに機能しました。**良かった。

Mac側からLinuxMintへゲストアクセス
相変わらず.confファイルの記述などは、Linuxを使う上でハードルが高いことの1つです。最初からGUIでサクッと設定できるようになるとユーザーが増えるような気がしないでもありません。
Ubuntu系のファイル共有に関するエラー回避でした。
