sambaでNAS-補足2

その9回目。補足その2

NAS動作確認用webサーバのインストールと、日々のメンテナンス。

VNCでNASの動作を確認できるが、webサーバを動作させておくと、ブラウザーで簡単にNASの動作を確認できる。そこでwebサーバを入れておく。

yumでインストール

[root@centos7 fummy]# yum install httpd
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* extras: ftp.riken.jp
* updates: ftp.riken.jp
依存性の解決をしています
–> トランザクションの確認を実行しています。
—> パッケージ httpd.x86_64 0:2.4.6-90.el7.centos を インストール

------ 中略 ------

総ダウンロード容量: 2.8 M
インストール容量: 9.6 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00
(2/3): httpd-tools-2.4.6-90.el7.centos.x86_64.rpm | 91 kB 00:00
(3/3): httpd-2.4.6-90.el7.centos.x86_64.rpm | 2.7 MB 00:02
——————————————————————————–
合計 1.1 MB/s | 2.8 MB 00:02

------ 中略 ------

インストール:
httpd.x86_64 0:2.4.6-90.el7.centos

依存性関連をインストールしました:
httpd-tools.x86_64 0:2.4.6-90.el7.centos mailcap.noarch 0:2.1.41-2.el7

インストールが終わったら、webサーバをスタートさせる。

[root@centos7 fummy]# systemctl start httpd

webサーバを再起動後も常に実行

[root@centos7 fummy]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

WindowsPCでブラウザーを立ち上げ、CentOS7のNASの固定ipを入力してみる。

上記、webサーバのテストページが表示されれば、webサーバ(httpd、Apache)が正常動作している。もちろんCentOS7のNASも動作していることになる。ホームページを作って表示させることもできる。

さて、日々のメンテナンスとして、CentOS7のアップデートがある。月に数回はアップデートがあるようなので、yum updateでアップデート作業を行う。

[root@centos7 fummy]# yum update
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* extras: ftp.riken.jp
* updates: ty1.mirror.newmediaexpress.com
base | 3.6 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
updates/7/x86_64/primary_db | 7.5 MB 00:03
依存性の解決をしています
–> トランザクションの確認を実行しています。
—> パッケージ augeas-libs.x86_64 0:1.4.0-9.el7 を 更新
—> パッケージ augeas-libs.x86_64 0:1.4.0-9.el7_7.1 を アップデート
—> パッケージ binutils.x86_64 0:2.27-41.base.el7_7.2 を 更新

------ 中略 ------

python-firewall.noarch 0:0.6.3-2.el7_7.4
python-libipa_hbac.x86_64 0:1.16.4-21.el7_7.3
python-perf.x86_64 0:3.10.0-1062.18.1.el7
python-requests.noarch 0:2.6.0-9.el7_7
python-sss-murmur.x86_64 0:1.16.4-21.el7_7.3
python-sssdconfig.noarch 0:1.16.4-21.el7_7.3
rsyslog.x86_64 0:8.24.0-41.el7_7.4
sos.noarch 0:3.7-11.el7.centos
sssd.x86_64 0:1.16.4-21.el7_7.3
sssd-ad.x86_64 0:1.16.4-21.el7_7.3
sssd-client.x86_64 0:1.16.4-21.el7_7.3
sssd-common.x86_64 0:1.16.4-21.el7_7.3
sssd-common-pac.x86_64 0:1.16.4-21.el7_7.3
sssd-ipa.x86_64 0:1.16.4-21.el7_7.3
sssd-krb5.x86_64 0:1.16.4-21.el7_7.3
sssd-krb5-common.x86_64 0:1.16.4-21.el7_7.3
sssd-ldap.x86_64 0:1.16.4-21.el7_7.3
sssd-proxy.x86_64 0:1.16.4-21.el7_7.3
sysstat.x86_64 0:10.1.5-18.el7_7.1
systemd.x86_64 0:219-67.el7_7.4
systemd-libs.x86_64 0:219-67.el7_7.4
systemd-python.x86_64 0:219-67.el7_7.4
systemd-sysv.x86_64 0:219-67.el7_7.4

完了しました!

Linuxのkernel自体がアップデートすることもあるので、その時は再起動をしておいた方がよい。その他の場合は特にそのまま使い続けてもいい。

 

sambaでNAS-補足1

その8回目。補足その1、VNCビュアーでCentOS7のNASにアクセスする。

一般的なNAS(Synology、Drobo、バッファロー、アイ・オー・データ機器etc)では、WindowsPC側から色々設定するのが一般的で、VNCビュアーでCentOS7のNASにアクセスすると、同じような感じでアクセスできる。またLinux(UNIX)上でAIを開発(Python・JavaScript・C++等)をやる場合もいつものWindowsPCから必要に応じてアクセス出来て便利。

まずは、CentOS側にVNCのサーバーをインストール。途中公開鍵の取得などの確認があるので、「y」と入力

yum install vnc-server

[root@localhost fummy]# yum install vnc-server
読み込んだプラグイン:fastestmirror, langpacks
Determining fastest mirrors

------ 中略 ------

インストール中:
tigervnc-server x86_64 1.8.0-17.el7 base 215 k

トランザクションの要約
================================================================================
インストール 1 パッケージ

総ダウンロード容量: 215 k
インストール容量: 509 k
Is this ok [y/d/N]: y
Downloading packages:
警告: /var/cache/yum/x86_64/7/base/packages/tigervnc-server-1.8.0-17.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY
tigervnc-server-1.8.0-17.el7.x86_64.rpm の公開鍵がインストールされていません
tigervnc-server-1.8.0-17.el7.x86_64.rpm | 215 kB 00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。

------ 中略 ------

From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : tigervnc-server-1.8.0-17.el7.x86_64 1/1
検証中 : tigervnc-server-1.8.0-17.el7.x86_64 1/1

インストール:
tigervnc-server.x86_64 0:1.8.0-17.el7

完了しました!

次に起動、画面の解像度を指定することとなるので、アクセスするWindowsPCの画面解像度を設定する。画面解像度より少し小さめにすると、WindowsPCの他のアプリと連携しながらもできる。また、フルサイズの画面解像度を設定すると、まるでWindowsPCがCentOS7になったような感じで使えるので、これもお勧め。普段使っているノートPCが1366✕768なので、フルサイズを指定。

vncserver -geometry 1366×768

と入力。するとVNCでのログインパスワードの設定になるので、パスワードを設定する。途中ビューオンリーのパスワードの設定も聞かれるが、今回はなしで。

[root@localhost fummy]# vncserver -geometry 1366×768

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
xauth: file /root/.Xauthority does not exist

New ‘localhost.localdomain:1 (fummy)’ desktop is localhost.localdomain:1

Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log

これでCentOS7側の設定は終わりで、次は、WindowsPC側での設定。

まずは、VNCビュアーのダウンロード、VNCのサイトからダウンできる。

https://www.realvnc.com/en/connect/download/viewer/

ご覧の通り、色々なプラットフォーム用があるので、色々と便利。

ダウンが終わったらインストール。現時点でのバージョンは6.20.113。「Next」をクリック。

次は、ライセンスへの同意、「I accept the …..」にチェックを入れて、「Next」をクリック。

次に、ディスクトップにアイコンを作るかどうかの設定。設定して「Next」をクリック。

次は、いよいよインストール開始。「Install」をクリック。

インストールは暫くかかる。

インストールが終わると、「Finish」が表示されるので、クリック。

アイコンを作る設定にしていれば、このVNCの文字の青いアイコンが出来る。

さて、これでインストール完了なので、CentOS7のNASにアクセスしてみる。ビュアーを起動して上部にCentOS7のNASに設定している固定IPアドレスそれに続いて「:1」を入力。この「:1」はなぜつけるのかというと、VNCのサーバは複数起動でき、複数の端末からアクセス可能で、そのどれと繋ぐかを指定するためだ。普通は1個しか起動いないので「:1」とする。

無事つながると、以下のようなメッセージが表示される。暗号化通信してないとのメッセージだ。これはLAN内なので、問題ないので、「Continue」をクリック。

この画面が出ないとなると、CentOS7のNASでVNCサーバが起動していない可能性がある。また、ファイアーウォールでVNCの通信がブロックされている可能性もあるので、設定が正しいか確認してみる。

次は、先ほどCentOS7のNASでVNCサーバのインストール時に設定したパスワードを聞いてくるので、それを入力。

これで、CentOS7のNASのディスクトップが表示されるはず。色がおかしいこともある。これは色数を落として通信容量を少なくしているから。

この場合、ウインドウ上部中央に黒い線が二重に見えている所があるので、そこへマウスを近づけると、プルダウンメニューが出る。このギアマークをクリックすると、色々な設定ができる。ちなみに、このプルダウンメニューの左端の青に矢印が四方に向かっているアイコンは、全画面表示のモードへの切り替えだ。これを選択するとWindwosPCがまるでCenOS7になったような感じで操作できる。Windowsへ戻るには、画面上部中央にマウスを持っていくと、またプルダウンメニューがでるので、その左端のアイコンをクリックすると元へ戻れる。

ここの、「Options」タブで、色数は設定できる。通常「Automatic」になっているので、これを「Midium」か「High」に変える。

ギガビットLANだったら「High」でも問題なく操作できると思うが、各LAN環境のトラフィック状態にもよるので、最適なものを選ぶのがいい。

これで、普通にアクセスできるようになった。DellのノートPCからアクセスしてみているところ。

 

sambaでNAS-7

その7回目。sambaを動かす

それでは、いよいよsambaのインストールと設定。

NASの本体かTeraTermからログインして、sambaのインストールを行う。NAS本体のログインの場合、rootでログイン、端末を起動する。

TeraTermの場合は、1個作ったユーザーでログインする。そしてsuコマンドでroot権限を取得しておく。

まずはyumでインストール。

[root@localhost xxx]# yum -y install samba

samba用ユーザー(centos)の作成。ここでは仮にcentosというユーザーを作成することにします。ユーザー名は自由に決められます。

[root@localhost ~]# useradd centos

samba用ユーザー(centos)にパスワードを設定

[root@localhost ~]# passwd centos

samba用ユーザー centos のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。

samba用ユーザー(centos)の設定

[root@localhost ~]# pdbedit -a centos
new password:
retype new password:
Unix username: centos
NT username:
Account Flags: [U ]
User SID: S-1-5-21-1204239262-578675828-4075209457-1000
Primary Group SID: S-1-5-21-1204239262-578675828-4075209457-513
Full Name:
Home Directory: \\localhost\centos
HomeDir Drive:
・・・ 中略 ・・・

samba用ディレクトリ作成、オーナーチェンジ
[root@localhost xxx]# mkdir /home/samba
[root@localhost xxx]# chown nobody:nobody /home/samba
[root@localhost xxx]# chmod 777 /home/samba

sambaの設定ファイルをいじる。viを使う場合。
[root@localhost xxx]# vi /etc/samba/smb.conf

以下、設定ファイルの内容の変更点
[global]

# Linux側日本語文字コードとWindows側日本語文字コードの設定
unix charset = UTF-8
dos charset = CP932

# Windowsのワークグループの設定と、Windows側からの表示名の設定
workgroup = xxxx
server string = Samba Server Version %v

netbios name = LinuxSamba

#プリンタは使わないので、#でコメントアウトもしくはno設定
#printing = cups
#printcap name = cups
load printers = no
disable spooles
#cups options = raw

# Public公開の設定この部分がWindowsPCから見えるようになる

[public]
comment = Public Stuff
path = /home/samba
public = yes
writable = yes
only guest = yes

以上、設定が終わったら、sambaの起動。smbとnmbの二つがあるので、両方必ず起動する。
[root@localhost xxx]# systemctl start smb
[root@localhost xxx]# systemctl start nmb

そして、sambaの自動起動設定
[root@localhost xxx]# systemctl enable smb
[root@localhost xxx]# systemctl enable nmb

これで、WindowsPCから見えるようなっているはずです。ネットワークから見てみます。ネットワークの所にNASに設定したIPアドレスを入力します。(例。¥¥192.168.xxx.xxx xxx.xxxは設定したIPアドレスに合わせてください)

すると、「ネットワーク資格情報の入力」が表示されるので、作成したsamba用ユーザとパスワードを入力して、「資格情報を記憶する」をチェックしておきます。すると次回から「ネットワーク資格情報の入力」をせずにログインできるようになります。

NAS内が見えたら、publicフォルダー内が自由に読み書き出来るはずなので、フォルダーを作ったりデータを書いたりテストしてみます。

中が見えないとなると、sambaの設定や、ファイアウォールの設定、SElinuxの設定等をもう一度チェックします。

動作が安定してくると、NASに付けた名前でもアクセスできます。ネットワークに表示されるようになります。さらに、HDDをマウントしてpublicフォルダーを追加設定するとこのように見えてきます。

sambaでNAS-6

その6回目。OS起動後の設定

CentOS7が無事起動したら、いよいよsambaの設定になる。

まずはそれに向けて、地ならしの設定。せっかくCentOS(Linux-UNIX)が使えるので、普段使っているWindowsのPCからアクセスしてみる。
CentOS7のインストール直後にはSSHでの接続は出来るようになっているので、それで接続してみる。

SSH接続にはTera Termを使っている。Tera Termはここ(https://ja.osdn.net/projects/ttssh2/)からダウンできる。その他「窓の杜」(https://forest.watch.impress.co.jp/library/software/utf8teraterm/)などからもできる。

 

Tera Termを起動して、NASに設定した固定IPアドレスにアクセスする。作成したユーザーIDとパスワードでログイン。

初回起動時のみキーの保存を聞かれるので「続行」をクリック。

うまくは入れたら、suコマンドで、root権限にログインする。

うまくログインできればOKだが、接続できないとなると、まずはNASのIPアドレスが違うのかもしれない。もう一度NASに戻って、IPアドレスを設定し直したりしないといけない。このIPアドレスはsamba稼働後も、WindowsPCからアクセスするときにも使うので、きちんとしておかないといけない。IPアドレスはあっているとなると、さらに話が複雑になる。もう一度CentOSをインストールし直したがいいかもしれない。

次は、セキュリティの1つ目の設定、ファイアウォールの設定を行う。SSHの接続はファイアウォールではすでに外部からの接続ができるよう設定されているので、問題なくアクセスできたが、今後sambaの接続などを許可するにはファイアウォールの設定が必要。

ここからは、CentOS7のデスクトップに戻って、ファイアウォールの設定を行う。

まず、「アプリケーション」メニューから「諸ツール」、「ファイアウォール」と選択、

すると、「ファイアウォール」の設定用アプリが起動する。その昔、iptablesというコマンドで設定していたが、最近は便利な「ファイアウォールの設定」アプリがあるので、これでやっている。結構色々な設定を体系的に出来て便利。しかしその分なんだかややこしいが、設定するのは一部のみなので、その部分だけ触ればよい。

ファイアウォールの設定、「ゾーン」は表示されている「public」を使用する、そして右に出ている「サービス」で許可するもの(例samba)を設定してゆく。今回設定するのはsambaの他にvncやhttpdなども許可するようにした。vncはリモートからGUIでアクセスできるサーバー。そしてhttpdはホームページを表示するサーバーだ。ホームページは使わないが、sambaで接続できないときに、ネットワークがきちんと動いているか確認するのに便利なので使っている。

以下、ファイアウォールでの許可リスト

  • samba
  • vnc
  • httpd

まずは、samba。サービスを下へスクロールしてsambaをみつけ、チェックを入れる。

次に、VNC

そして、httpd

さらに、上の方の「実行時」というメニューを切り替え「永続」にして、同じ設定を繰り返す。これは、「実行時」というのは、今回設定している時だけという意味で、再起動などすると消えてしまう。「永続」にしておくと、再起動後もこの設定がずっと残るという意味。

続いて、セキュリティ2つ目の設定、「SELinux」の設定になる。SELinuxはguiツールは通常入っていないので、コマンドで設定することになる。

まず、「アプリケーション」メニューから「お気に入り」か「システムツール」メニューから「端末」を起動する。

端末が表示されたら、getenforceコマンドを入力する。

Enforcingと出たら、SELinuxが動いており、セキュリティ保護が働いている。これを止める。SELinuxはセキュリティとしては大変いいのだが、sambaを動かす上では設定が結構ややこしくなる。また、LAN内のプライベートなNASでしか使わず、外部に公開しないので、残念だがSElinuxは切ってしまう。

使うコマンドは、setenforce 0。入力したらgetenforceで確認してみる。

Permissiveとなっていれば、警告は出るが、各種ファイルの読み書きなどは可能となる。ただ、これだと再起動したり、電源を切ってしまって、後日起動したりすると、もう一度setenforce 0を入力しないといけない。次回リモートでgui操作できるVNCサーバーを入れるのだが、それも起動時にコマンドを入力しなくてはいけない。なのでついでにやればいいのだが、もしSElinuxを完全に止めたい場合は、SElinuxの設定ファイルをいじることとなる。viなどのエディタで/etc/selinux/configという設定ファイルをいじる。

vi /etc/selinux/config

ファイル内の、SELINUX=enforcingという所を、

SELINUX=disabled

にする。

実際の、設定ファイル全体の様子。

 

つづく

 

sambaでNAS-5

その5回目。インストール後の設定

インストール後、再起動後ログイン画面が表示されれば、インストールは成功。

最初は、root権限でログインしてみる。最初の設定はroot権限だとやりやすいからだ。中央の作ったユーザー名の下の「アカウントが見つかりませんか」をクリック。

次に、ユーザー名に「root」を入力。

そして、設定したパスワードを入力する。

無事、GNOMEディスクトップが表示されれば、インストール、OSの起動ともにうまく行ったことになる。

最初の起動時には、Welcomeが表示され、少し確認作業がある。まず言語や入力方法について、問題なければ「次へ」をクリック。

次に、位置情報を使うかと聞かれる。これはNASにする予定なので、「オフ」にしておく。

次に、オンラインアカウントの設定。ここはGoogle等にバックアップを予定している場合は、設定をおこなう。今回はプライベートなNASの予定なので、「スキップ」をクリック。

次で、起動後の設定は終わりで、「CentOS Linuxを使い始める」をクリック。

すると、GNOMEの使い方が出る。特に必要なければウインドウ右上の「X」をクリックして閉じる。

これで使う準備は出来た。次はsambaを動かすためのファイアウォールやSELinuxなどのセキュリティの設定や、リモート環境(SSHやVNC)の設定になる。

つづく