« || »

 XubuntuとSambaでのNAS構築メモ

2020. 2. 22 (土)

Xubuntuのインストールまでは済んでいる前提です。

Xubuntu側ターミナルエミュレーターでの操作

・リモートアクセス時にわかりやすいようホスト名を変更(ここでは xubuntu-nas とします)
$ sudo nano /etc/hostname
1行だけホスト名が書かれているので xubuntu-nas に変更して保存

・SSHインストール
$ sudo apt install ssh

・再起動
$ sudo reboot

**** 再起動後 ****

WindowsPCからリモートで操作する場合はコマンドプロンプトから
> ssh Xubuntuユーザー名@xubuntu-nas
あるいは
> ssh Xubuntuユーザー名@xubuntu-nas.local
とすればパスワード入力後リモートでアクセスできます。
駄目だったら、Xubuntu側のコンソールで
$ ip a

$ ifconfig
でIPアドレスを確認して
> ssh Xubuntuユーザー名@IPアドレス
でアクセス。

・nas用共有ディレクトリ作成(ここでは /home/nas とします)
$ sudo mkdir /home/nas

・作成したディレクトリのパーミッションを変更
$ sudo chmod 0777 /home/nas

・Sambaインストール
$ sudo apt install samba

・NAS用ユーザーを作成(ここでは nasuser とします。Xubuntuの管理者ユーザー名を使う場合は不要)
$ sudo adduser nasuser
パスワードを聞いてくるので決める(2回目は確認)
ユーザー情報は全て未入力で[ENTER]でOK

・Samba用ユーザーを作成(ここでは nasuser とします。Xubuntuの管理者ユーザー名を流用する場合は同名で作成)
$ sudo pdbedit -a nasuser
パスワードを聞いてくるので決める(2回目は確認)

・smb.confを編集
$ sudo nano /etc/samba/smb.conf

行末に以下を追加

・Samba再起動
$ sudo systemctl restart smbd nmbd

********

Windows側操作

・PC(マイコンピュータ)アイコンを右クリック、「ネットワークドライブの割り当て」を選択
ドライブ: 空いている好きなドライブレターを選択
フォルダー: \\XUBUNTU-NAS\nas (参照ボタンから辿っても可)
「サインイン時に再接続する」にチェックして[完了]ボタン

「ネットワーク資格情報の入力」ダイアログが出たら、
ユーザー名: nasuser
パスワード: Samba用ユーザー作成時に決定したパスワード
を入力。
(Windowsのユーザー名、パスワードと一致している場合は出ません)

エクスプローラが表示されたらファイルやフォルダの読み書きができるか確認。
コピー、作成、編集、削除などできれば完了。

Windows側で作成したファイルをXubuntu側で見ると、ファイルの所有者が nasuser になっていると思います。
これをXubuntuの管理者ユーザを所有者としたい場合は、Samba用ユーザを管理者ユーザと同名で作成して smb.conf の valid users にそのユーザー名を指定すれば大丈夫です。
(「ネットワークドライブの割り当て」で別ユーザー名で割り当てたドライブ名が残っている場合は「ネットワークドライブの切断」で一旦切断してあらためて接続し直す必要があります)

********

USBハードディスク等、外付けドライブをNASのシェア対象にしたい場合

Xubuntu(Ubuntu)の場合はNTFSも読み書きできるようですが、ここではXubuntuでもデフォルトで使われているext4にしてみます。

まずUSBドライブを接続します。
接続すると大抵自動的に /media/ユーザー名/ 以下にマウントされますので、それを頼りにdfコマンドでデバイス名を調べます。
$ df
該当する位置にマウントされているデバイス名を控えておきます。
例: /dev/sdb1
環境によって変動しますので実際に確認してください。

マウントされていないようだったら、blkidコマンドで調べてください。
$ sudo blkid

・アンマウントします
$ sudo umount /dev/sdb1

・mkfsコマンドでラベル「USB-HDD」を付けてext4にフォーマット
$ sudo mkfs -t ext4 -L USB-HDD /dev/sdb1

・フォーマット完了したUSBドライブのUUIDを調べます
$ sudo blkid
フォーマット時に付けたラベルが LABEL=”USB-HDD” のように表示されていますので、そのデバイスのUUIDを控えておきます。
例: 89999481-ced4-480b-9e5f-20278bf543db

・外付けドライブ用のマウントポイントを作成します。
ここでは「/home/usb1」としておきます。

ディレクトリ作成
$ sudo mkdir /home/usb1

パーミッション変更
$ sudo chmod 0777 /home/usb1

・/etc/fstabに追記
$ sudo nano /etc/fstab

最終行に以下を追記します。
UUID=控えておいたUUID マウントポイント ファイルシステム nofail,noatime 0 0

/etc/fstab に書き込んでおくと再起動時やmount -aコマンド実行時に、指定されたマウントポイントにマウントされます。
取り外されることもあるデバイスですのでnofailを指定しています。
nofailではデバイスが見つかればマウントし、見つからなければその時点では無視されますが、無視された場合でも該当デバイスが接続されたタイミングでマウントされます。
noatimeはファイルを読み込むたびにアクセス日時のタイムスタンプが更新されるのを無効にします。

・再マウント
$ sudo mount -a

・マウントされたか確認
$ df

・マウントされたのを確認したら再度パーミッション変更(マウントポイントではなく外付けHDD側のパーミッション変更になります)
$ sudo chmod 0777 /home/usb1

・smb.confを編集
$ sudo nano /etc/samba/smb.conf

行末に以下を追加

・Samba再起動
$ sudo systemctl restart smbd nmbd

以降、同じようにWindows側からネットワークドライブとしてアクセスできます。

・PC(マイコンピュータ)アイコンを右クリック、「ネットワークドライブの割り当て」を選択
ドライブ: 空いている好きなドライブレターを選択
フォルダー: \\XUBUNTU-NAS\nas-usb
「サインイン時に再接続する」にチェック

NASとして使用しているPCでブート順位がUSBドライブ優先になっていると、USBドライブを繋いだまま再起動させた場合システムが立ち上がらない場合もありますので起動優先順位を変更しておいてください。

ここに記載した内容をもとに、システム(内蔵ドライブ)、データ(外付けドライブ)、バックアップ(外付けドライブ)と分けて構築し直した際の記事をnoteへ書いています。

« || »

Comments are closed.