別館PCチラシの裏日記帳 第2章

世界一!長ーい記事のブログを目指していますw

ubuntu 18.04 samba設定メモ(俺メモw)

Ubuntu18.04LTS Samba設定メモ(俺メモw)
Windows10でのSMB共有 & Regzaでのsmb共有のツボ
 
先ずUbuntu18.04LTSをインストールします
※当初PT3の対応を考えて16.04LSTをインストールした物の私のシステムでは何故か不安定でやむなく最新版の18.04LTSしました。
別のセロリンN3000の非力PCでは安定していたのですが・・・・
何故か18.04LSTはこちらはド安定で稼働しております?(^^;
PT3の運用例も出て来ておりますので、まあ何とかなるでしょう?
Ubuntuも古いPCを活用する際よく使用されますが大体Windowsで出来ることはカバーしてますが日本語入力や操作性等でやはりWindowsって凄いんだなwと気がつくかも知れませんね。(あちらは有料ですからw)
それと、使いたいアプリが使えない問題もありますがエミュレーターを使ってLinux上でWindowsアプリを使う方法もありますが重いです(^^;
それに、全てWinアプリが動く訳ではありません。(Win10でさえWin7で使っていたアプリが動かないとか有るくらいですからね(^^;)
インストール後環境によっては不安定な動作になる場合も有るので必ずシステムのアップデートをしたほうが良いですね。

システムアップデート
$ sudo apt update -y
$ sudo apt upgrade -y
$ sudo apt dist-upgrade -y
 
ipアドレス固定メモ(18.04LTS)
ファイル鯖の場合はIPアドレスは固定した方が良いかも知れませんAUTOだとスマホや新しいPCがネットワークに接続された際にトラブルの元にも成りかねないので念のために!!現在接続している家庭内のネットワークに重複するIPアドレスが無い事を確認してから固定するIPアドレスを決めます。
PCだけで無く最近、ネットワークに繋がる機器が増えてきましたねぇ、スマホタブレットは勿論、テレビやエアコン(外部コントロール可能な物)スマートスピーカー、プリンター等のIPアドレスの重複にも注意しましょう!
IPアドレスが重複すると重複した機器が使用できなくなったり、サーバーがネットに繋がらない!!
とか鯖の設定で大ハマりを食らったりするので注意しましょう。
 
18.04LSTでは先ず、ネットツールをインストールする必要があります。
$ sudo apt install net-tools
 
現在のIPアドレスを確認する
$ ifconfig
enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.6  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 240f:52:a6e:1:6a05:caff:fe21:c373  prefixlen 64  scopeid 0x0<globa
以下ズラーッと情報表示されますが必要な情報は上の2行程度です
enp1s0と言う所はNICの名称なので覚えておきます。
inet のところに記述されているのがそのPCのipアドレスということになりますのでこれも覚えておきます。
ipv6の部分はローカルネットワークでは使用しませんので覚えなくていいです(^^;

設定例:
NIC(enp1s0)
固定IPアドレス:192.168.0.6
デフォルトゲートウェイ:192.168.0.1(ルーターIPアドレス)
DNSサーバー:192.168.0.1(ルーターIPアドレス)
以上の設定をします。
※各々の環境に合わせてください

テキストエディタで定義ファイルを開く
sudo nano /etc/netplan/50-cloud-init.yaml
空白になっているが
以下記述する
-------------------------------------------------------------------------------
network:
    ethernets:
        enp1s0:
            dhcp4: no
            addresses:
            - 192.168.0.6/24
            gateway4: 192.168.0.1
            nameservers:
                addresses:
                - 192.168.0.1
                search: []
            optional: true
    version: 2
-------------------------------------------------------------------------------
以下のコマンドで設定を反映します(再起動不要です)
$ sudo netplan apply
 
これでIPアドレスが固定されます。
$ IFCONFIG
IPアドレス確認できます
 
起動時の増設HDD自動マウント設定
共有したいHDDをそのまま共有しても?外部からのアクセスが拒否される場合が有ります。又、共有ディレクトリが見えてもファイルサーバーを再起動後共有ディレクトリにアクセス出来なくなる事が有りドハマリしてしまいました(^^;
鯖は見えるのにディレクトリにアクセス出来ない又は何をやっても書き込み禁止になる等の症状が出て幾らディレクトリのパーミッション設定をゆるゆるにしてもダメでした、何でなの?Ver10.10では全く問題ないのに・・・・

色々ググったら原因はHDDをマウントするタイミングですログイン後にマウントしても共有デレクトリは外部からのアクセス権がありませんので、システム以外の単独のHDD(DATAドライブにしたいデバイス)ログイン時にマウントするようにしてマウントポイントを固定する必要が出てきます。
ubuntu18.04LTSの場合パーミッション設定やアクセス権を緩めて共有してもWin10 PCでもスマホやTVでもデレクトリが見えているのにアクセス権で蹴られてしまうケースでドハマりしてしまいました(^^;Win10が原因かと思いましたが全てのデバイスで蹴られるので鯖側の設定の問題でした(^^;w
システムをSSDにしてHDDはデータにしたいという場合は注意が必要です。
増設したHDDに共有したいディレクトリを古い感覚で?普通に作成したのですが....
ログイン後ubuntu側でHDDをマウントすると/mediaから始まるデレクトリ配下にマウントされますこれをそのまま
sambaで共有するとこうなります??
イメージ 1
又は
イメージ 2
ubntu10.04辺りだとマウント後の共有ディレクトリでも(真下に古い記事ありますね(^^;)問題はなかったのですが16.04LST~18.04LST辺りのバージョンでは問題が生じてしまうようで?? パーミッション設定は777と一番甘い設定なのに何故なのでしょう?
それは、ログイン後HDDをマウントしてしまうとubuntuのシステムがそのHDDの持ち主になって共有しても外部からのuserは蹴られてしまうのです。(これはあんたのシステムじゃないだろ?)と怒られますw(^^;
仕舞いには「このおっさん何言ってんだ?俺の鯖なのにぃぃぃぃぃ!!!」と切れかかりましたが何とか餅付いて解決をいたしましたw(^^;;;
 
何でこんな面倒な事に.....セキュリティの向上のための仕様変更なんでしょうか??
なので起動時のタイミングでマウントする必要があるのです、それによってシステムからHDDを横取りされない状態でsamba共有をした場合でも外部からのuserは蹴られる事は無くなるのです。
そのシステムで増設したHDDを使用する時は、samba共有からアクセスする形になるのですが、増設HDDを使用する分には何ら影響はありません。
増設したHDDをUbuntu起動時に自動マウントをする設定(恒久化)
先ず、ファイル鯖にHDDを増設します。
その際、USB接続でもSATA,その他接続は問いません、いずれで接続してもOKです。
 
マウントポイントの作成(ディレクトリ作成)
$ CD /mnt/
$ sudo mkdir disk2

マウント
$ sudo mount -t ext4 /dev/sdb1 /mnt/disk2
 
増設したHDDのUUIDを端末で確認する(増設HDDデバイスがsdb1の場合)
$ sudo blkid /dev/sdb1
[sudo] userのパスワード: ←userパスワードを入力

/dev/sdb1: LABEL="DATA1" UUID="02ed5b55-1c79-403d-92f5-2fa69567881d" TYPE="ext4" PARTUUID="8e5c5c17-ab41-4f5d-bf51-efd1a3a8d4b9"
赤の部分がそのHDDのUUIDと言うことになります。
 
エディタでfstabを開く
$ sudo nano /etc/fstab
UUIDを確認したらfstabに以下追記をする。
-------------------------------------------------------------------------------
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=02ed5b55-1c79-403d-92f5-2fa69567881d /mnt/disk2   ext4 defaults,nofail 0 0
-------------------------------------------------------------------------------
赤い部分を追記して保存します。
Ubuntu再起動後も恒久的にマウントされていれば正常です。
もし、タイプミスやURLに書いてある相手の環境をそのままの設定でfstabを設定してしまうとUbuntuGUI環境が立ち上がらなくなってしまいますので慎重に自分の環境にあった設定で保存するようにしてください。
もしも矛盾が発生してGUI環境に行かなくなってもコマンドラインが使えるので慌てずにfstabに正しい記述をして再起動すれば大丈夫です(再インストールしなくてもOK)
 
又、GUI環境からも簡単に自動マウント設定が出来ます。
標準アプリからDISK"を起動して自動マウントしたいHDDを選んで設定マーク(ギアマーク)をクリックして「マウントオプションを編集」を選択すれば下記のような画面が現れますのでこの様に設定してもOKです。
こっちの方が簡単ですね(^^;
イメージ 3
samba設定
 
sambaをインストール
sudo apt-get install -y samba
 
システムDISK上に共有ディレクトリ作成例
$ sudo mkdir /var/lib/share
パーミッション設定
$ sudo chmod 0777 /var/lib/share
 
増設ディスク上に共有でディレクトリ作成例
$ sudo mkdir /mnt/disk/DATA
上記のマウントポイントの配下に共有デレクトリを作成でOK

増設DISKのパーミッション設定
$ sudo chmod 0777 /mnt/disk/DATA
 
ファイルサーバーのアクセス時のパスワード設定
$ sudo pdbedit -a hirorin7
new password:       ←パスワード入力
retype new password:←再度パスワード入力<CR>

smb.conf定義ファイルの設定
$ sudo gedit /etc/samba/smb.conf
-------------------------------------------------------------------------
# 25行目:以下追記
[global]
unix charset = UTF-8
dos charset = CP932

unix extensions = no
wide links = yes

Windows/MAC/Linux機からのアクセスを想定
※赤い部分はRegza等のsmb共有でTSファイルの再生ができない場合のみ記述する
Windows共有のみの場合記述しなくても良い。
上記以外はデフォルトに設定してもOK
環境に応じて設定をしてください。
 
共有したいディレクトリの設定
一番下に追記
システムDISK上の共有例
[Share]
    path = /var/lib/share
    writable = yes
    guest ok = yes
    guest only = yes
    create mode = 0777
    directory mode = 0777
 
増設ドライブの共有例
※上記の増設ドライブのマウントポイントを共有する場合
[DATA]
    path = /mnt/disk/DATA
    writable = yes
    guest ok = yes
    guest only = yes
    create mode = 0777
    directory mode = 0777
 
※書き込みOK ゲストアクセスOK
パーミッションはフルアクセスOK
一番ゆるゆるな設定になっていますのでセキュリティは甘めになっています。
環境によってパーミッション設定等は変更してください。
--------------------------------------------------------------------------------
smb.confを保存してから
sambaの再起動

$ sudo systemctl restart smbd
続いて起動時にsambaを自動起動するように設定する。
$ sudo systemctl enable smbd
 
以上でsamba設定は完了です!
後は、PCやAV機器(Regzaリンク等)でファイル鯖が正常にアクセス出来るのか?
確認しておきます。
Windows10のネットワークからファイルサーバーにアクセス出来る事を確認するだけで無く、読み書きも正常に出来る事を確認しておきます。
蹴られる場合はもう一度パーミッション設定を確認してください。
イメージ 4
 
レグザリンクでのアクセス画面
イメージ 5

チョット懐かしい番組を適当にファイル鯖にコピーしてアクセス出来るか確認してみましたが特に問題なくレグザのSMB共有でも使用できるようになりました(^^)
PT3録画鯖への布石もコレで完了ですね!