バージョン確認
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.10
Release: 22.10
Codename: kinetic
共有用ディレクトリの設定
すでに存在する mnt 配下にNAS1 を作成
sudo mkdir /mnt/NAS1
LINUX上のアクセス権変更 「所有者」と所有グループ」「その他」にアクセス権)
現状 「所有者」が root の為
sudo chmod 777 /mnt/NAS1
アップデート
sudo apt update
ここで「アップグレードできるパッケージが〇個あります。」的な表示が出たら以下のコマンドを実行
sudo apt upgrade
sambaのインストール
sudo apt install samba
sambaがインストール出来たら、pdbeditというコマンドでsambaにユーザーを登録します。
sudo pdbedit -a [ユーザー名]
[ユーザー名]には自分が使っているユーザー名を入れてください。(Ubuntu上に存在するユーザーならどれでも大丈夫です。)
Samba バージョン
$ smbd -V
Version 4.16.4-Ubuntu
Sambaサーバに対するアクセス状況を調べるには、smbstatusコマンドを使用する。(エクスプローラーで対象のホルダーにアクセスしている状態の表示です)
$ sudo smbstatus -b
Samba version 4.16.4-Ubuntu
PID Username Group Machine Protocol Version Encryption Signing
----------------------------------------------------------------------------------------------------------------------------------------
54131 ntaka ntaka 192.168.2.139 (ipv4:192.168.2.139:61068) SMB3_11 - partial(AES-128-CMAC)
sambaの設定
sambaをつかうために、「smb.conf」というファイルを編集します。
ubuntu 22.10 から gedit → gnome-text-editor が標準エディターになっています
また、sudo ではアクセス権の関係でエラーになって開けません スーパーユーザーで行う必要があります
vi ではsudo でも行えます。
sudo vi /etc/samba/smb.conf
sudo nano /etc/samba/smb.conf
gnome-text-editor の場合 スーパーユーザー権限
# gnome-text-editor /etc/samba/smb.conf
リモートからはgnome-text-editorは使用できません 下記のエラーが出ます
Authorization required, but no authorization protocol specified
(gnome-text-editor:10334): Gtk-WARNING **: 13:38:18.604: cannot open display: :10.0
で最後尾に下記内容を追加
[NAS1]
path = /mnt/NAS1
writeable = yes
create mode = 0660
directory mode = 0770
guest ok = no
share modes = yes
下記の値を追加しているものも有りますが現状不要です
[global]
client max protocol =SMB3
client min protocol =SMB3
[ディレクトリ名]
browseable = yes
smb.confの編集を反映させるため下記コマンド実行
sudo systemctl restart smbd nmbd
sambaを有効にする
sudo systemctl enable smbd nmbd
マシンの IPアドレスを確認
# ip a
Windowsキー + R
sambaに登録したユーザーおよびパスワードを入力
すると下記ののようにホルダーが表示されます。
Windows10での名前解決
Windows10での名前解決にhostsファイルを利用する方法 | 4thsight.xyz
C:\Windows\System32\drivers\etc\hosts
基本的にはこの操作はやらない
SMB://名前/ で接続できない SMB://192.168.■.■ では接続可能
解決方法
/etc/resolv.conf が外部の DNS リゾルバを直接参照するようにする
/etc/resolv.conf を /run/systemd/resolve/resolv.conf へのシンボリックリンクとすればよいです。
/run/systemd/resolve/ には resolv.conf と stub-resolv.conf という2種類のファイルが含まれています。resolv.conf は外部の DNS リゾルバを直接参照するような設定が書かれており、stub-resolv.conf は「外部の DNS リゾルバを参照するように設定された local DNS stub listener」を参照する設定(すなわち 127.0.0.53)が書かれています。これらのファイルの内容は systemd-resolved により管理されているので、間接的に、netplan の設定ファイルに書かれた内容が反映されるようになっています。
要するに、以下のようにすればよいです。
$ cd /etc
$ sudo ln -sf ../run/systemd/resolve/resolv.conf resolv.conf
あとは systemd-resolved を再起動して local DNS stub listener を止めます。
$ sudo systemctl restart systemd-resolved
ホスト の名前解決ができません とでたなら 下記ファイル ( hosts ) を開いてマシン名が合っているか確認します
ホスト名を変更した時に、不一致が起こるようだ
/etc/hostname を直接変えたから駄目とかおもったけど、hostname コマンドで指定しても起こる。
https://takuya-1st.hatenablog.jp/entry/2015/11/08/152837
$ sudo vi /etc/hosts
参考先
https://qiita.com/shora_kujira16/items/31d09b373809a5a44ae5
左側に表示されるが右側に表示されず
(解決)サーバー(NAS)上のエクセルを開くと毎回保護ビューで表示される