■Ubuntu Server / NAS PC連動電源機能を設定する

設定中の ubuntu server でもバッファローの NAS TS-WXL の PC 連動電源機能を利用できるようにしようと思います。

PC 連動電源機能は PC の off-on に NAS の off-on を連動させる機能です。この機能については「ubuntu 18.04 / NASのPC連動電源機能を使う」で書いていますが、今回は crontab -e ではなく、ディレクトリ cron.d に実行スクリプトを置くように変更しました。

 

スクリプトを naspoweron としてユーザーディレクトリに作成します。cron.d では拡張子のないファイルを実行しますので、拡張子は無しとします。

#! /bin/bash

while true

do

  for i in `seq 3`

  do

    wakeonlan -i 192.168.1.xx -p 9 AA:BB:CC:DD:EE:FF

  done

  sleep 150s

done

 

作成したら実行属性を与えて、動作することを確認しておきましょう。150秒おきにマジックパケットを 3 回送信します。パケットの状況は

 

$ sudo tcpdump udp and host 192.168.1.xx

 

で確認できます。

 

このスクリプトを「Ubuntu Server / 指定時刻に自動シャットダウンする」で作成した /etc/cron.d/user_cron に追加し、起動時に実行させます。

 

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user    command
05 00    * * *    root    shutdown -h +1

@reboot    root    /home/hoge/naspoweron

 

@reboot は起動時に一回だけ実行するという意味で、時間指定部分を置き換えます。

 

cron を再起動します。

 

$ sudo service cron restart


■Ubuntu Server / 指定時刻に自動シャットダウンする

ubuntu server で cron を利用して指定した時刻に自動シャットダウンするようにします。

 

以前は crontab -e で設定していたのですが、今回は cron.d に設定することにします。cron.d ディレクトリにおいた拡張子のないファイルが実行されますので、crontab をコピーして利用することにします。

 

$ sudo cp /etc/crontab /etc/cron.d/user_cron

 

コピーしたファイルを以下のように変更します。

 

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user    command
05 00    * * *    root    shutdown -h +1

 

これで毎日 00:05 にシャットダウンコマンドが起動し、1分後に実際にシャットダウンします。

本当はアクセスしているクライアントがないかどうかを確認する必要があるのでしょうが、まぁ家サーバなので強制的にシャットダウンしてもそんなもんです (^_^;)

 

変更したら再起動します。

 

$ sudo service cron restart

 


■Ubuntu Server / sambaでファイル共有

ubuntu server に samba でファイルサーバーを設定して、Windows パソコンから共有フォルダとして利用できるようにします。

過去に設定したときの記事 Ubuntu Server / ファイルサーバーを構築する と特に違いはありません。

 

1. samba をインストール

$ sudo apt install samba

今回インストールされた samba のバージョンは 4.7.6 でした。

 

2. ユーザーディレクトリのパーミッション設定

自分だけが読み書きできるようにパーミッションを変更します。

$ sudo chmod 700 /home/username

 

3. samba の設定

オリジナルの smb.conf を smborg.conf としてコピーしておきます。

$ sudo cp /etc/samba/smb.conf /etc/samba/smborg.conf

 

smb.conf を編集します。

$ sudo vi /etc/samba/smb.conf

ワークグループの変更

workgroup = WORKGROUP

共有ディレクトリの設定

[username]
path = /home/username

browseable = yes

writeable = yes
read only = no

 

4. samba ユーザーを追加

$ sudo smbpasswd -a username

 

5. samba を再起動

$ sudo service smbd restart

 

Windows パソコンからファイルサーバーへアクセスできたら完了です。

 


■Ubuntu Server / SSH でリモート操作

サーバーは普段パソコンを使っている場所にはありませんので、そこで作業するのはけっこう面倒です。寒いし (^_^;)

なので、SSH でリモート操作することにします。

 

その前に、Wake on LAN でサーバーが起動できることを確認しましょう。起動するためにサーバーのところへ行くなんて意味不明ですからねぇ。

MAC アドレスを ifconfig で確認して、gWakeOnLan などのアプリケーションからマジックパケットを送出すると… 起動できました。起動できないときは BIOS を確認するなどしてみましょう。

 

さて、SSH サーバーをインストールします。

 

$ sudo apt-get update

$ sudo apt-get install openssh-server

 

SSH が起動しているかどうかは

 

$ service --status-all | grep ssh

 

で確認できます。

暗号鍵を置くディレクトリを作っておきます。

 

$ mkdir ~/.ssh

 

クライアント (ubuntu 18.04.2 Desktop) 側で暗号鍵を生成して、公開鍵をサーバーへ送ります。

 

$ ssh-keygen -t rsa

$ scp -P 22 ~/.ssh/id_rsa.pub username@IP-address:~/.ssh/id_rsa.pub

 

サーバー側で公開鍵を authorized_keys に登録 (追加) します。初めから authorized_keys という名前でコピーしちゃうと、すでにファイルがあった場合に困っちゃいますから、追加するという方法で実行しています。

 

$ cat id_rsa.pub >> authorizes_keys

 

パーミッションを変更しておきます。

 

$ chmod 600 ~/.ssh/authorized_keys

 

クライアントから SSH で接続できることを確認します。

うまく接続できたら、最後に設定ファイルを書き換えましょう。

 

$ sudo vi /etc/ssh/sshd_config

 

変更するのは以下の 3ヶ所です。コメントアウトされているので、行頭の # も外します。

 

PasswordAuthentication no
Permit Root Login no
PermitEmptyPassword no

 

SSH サーバーを再起動します。

 

$ sudo /etc/init.d/ssh restart

 

これで普段使っているクライアントパソコンからサーバーのメンテナンスができるようになりました。

 


■Ubuntu Server 18.04 LTS をインストール

Core 2 Duo E7400 / 2.8GHz メモリー 4GB という中古パソコンに ubuntu server 18.04 をインストールした備忘録です。

 

ハードディスクは 500GB を 2 台取り付けて RAID1 とします。

OS は ubuntu server 18.04.2 LTS 64bit ですが、インストーラは新しい live 版ではなく、従来型の alternative installer を使用します。

その他、基本的なインストール方法は「Ubuntu ServerをExpress5800/110Geにインストール」と同様でした。RAID1 の設定については、まぁやっぱりよくわからなくて何回かやり直したのですが、こんな感じが完成形です。18.04 ではスワップはファイルになるそうで、以前のようにパーティションを分けることはしないようです。

 

RAID1 device #0 - 500.0 GB Linux Software RAID Array

        #1                500.0 GB        F        ext4        /

SCSI1 (0,0,0) (sda) - 500.1 GB ATA ST500DM002-1BD14

        #1    primary    500.1 GB    K        raid

SCSI2 (0,0,0) (sdb) - 500.1 GB ATA ST500DM002-1BD14

        #1    primary    500.1 GB    K        raid

 

とゆーことで、とりあえず OS のインストールは完了。アップデートして最新の状態にしておきましょう。

 

RAID の状態は

 

$ cat /proc/mdstat

 

で確認できます。[UU] となっていれば正常。resync の数値が同期の進捗状況で、完了すると表示がなくなります。

 

 


■ubuntu server 13.04 を 14.04 LTS へアップグレード

現在、家サーバーで使っている OS が ubuntu server 13.04 のままで、すでにサポート期間が終了してしまっているので、14.04 LTS にアップグレードしてみます。

実は ubuntu server のアップグレードはやったことがないのでどうなるかわかりません。まずは最低限必要なものをバックアップしておきます。本当はシステムを丸ごとバックアップしたほうがいいんだろうなぁとか思いつつ、まぁ家サーバーなのでダメになったら一からインストールしなおしてもすっきりして良いかなと思ってるわけで (^_^;)


1. バックアップ

ファイルサーバー内のファイルをすべてバックアップ。
samba や VPN、ssh などなどの設定ファイルをバックアップ。
softether VPN のディレクトリーを丸ごとバックアップ。これは最終的にバージョンアップする予定です。


2. 13.04 から 13.10 へアップグレード

現在 ssh でログインするとこんな感じ。
 

Welcome to Ubuntu 13.04 (GNU/Linux 3.8.0-35-generic i686)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sun Mar 29 13:03:45 JST 2015

  System load:  0.0                 Processes:           95
  Usage of /:   27.2% of 678.34GB   Users logged in:     0
  Memory usage: 3%                  IP address for eth0: 192.168.1.10
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

0 packages can be updated.
0 updates are security updates.

Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife

New release '13.10' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Sun Mar 29 11:56:16 2015 from 192.168.1.100
user@ubuntu:~$


13.04 からは 13.10 へアップグレードできますので、書かれているように「do-release-upgrade」を実行してみましょう。ただし、ssh 経由は非推奨らしいし、安全のためにもマシンのあるサーバーラックへ移動して作業します。寒いんですけど… (^_^;)
 

$ sudo apt-get update
$ sudo do-release-upgrade

Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.

Continue [yN]


y を入力してアップグレードを開始します。
 

13 Packages are going to be removed.

Continue [yN]


ここも y を入力して進めます。
 

To finish the upgrade, a restart is required.
If you select 'y' the system will be restarted.

Continue [yN]


y を入力すると、サーバーマシンが再起動してアップグレードが完了します。かかった時間は約30分でした。
ssh でログインするとこうなっています。
 

Welcome to Ubuntu 13.10 (GNU/Linux 3.11.0-26-generic i686)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sun Mar 29 14:34:50 JST 2015

  System load:  0.12                Processes:           105
  Usage of /:   27.2% of 678.34GB   Users logged in:     1
  Memory usage: 3%                  IP address for eth0: 192.168.1.10
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife

New release '14.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Sun Mar 29 14:34:50 2015 from 192.168.1.100
user@ubuntu:~$


ssh は問題なくログインできます。スマホからの VPN 接続もばっちりです。ファイルサーバーもしっかり動いています。システムの動作に問題はないようです。


3. 13.10 から 14.04.2 LTS へアップグレード

さて、13.04 から 13.10 へアップグレードできましたがこれもすでにサポート期間が終了していますので、指示に従い 14.04.2 LTS へさらにアップグレードすることにしましょう。
手順は上と同じですが、途中で
 

Restart services during package upgrades without asking?

                <Yes>                        <No>


と尋ねられたので、念のため <No> で進めます。動いているサービスを再起動しますよってことのようで、リストされたサービスを確認して OK すると、アップグレードが続いていきます。
最後に再起動で完了です。システムも正常に稼働しているようです。

ssh でログインすると以下のようになりました。
 

Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-48-generic i686)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sun Mar 29 15:39:39 JST 2015

  System load:  0.48                Processes:           105
  Usage of /:   27.3% of 678.34GB   Users logged in:     0
  Memory usage: 3%                  IP address for eth0: 192.168.1.10
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

Last login: Sun Mar 29 15:39:40 2015 from 192.168.1.100
user@ubuntu:~$



4. その他

ついでに古いカーネルを削除しておきましょう。
 

$ sudo apt-get autoremove



以上で14.04.2 LTSへのアップグレードが、無事完了しました。
 

■cron 指定時刻にシャットダウンする

備忘録です。

ubuntu server を、指定の時刻にシャットダウンさせます。
 

sudo crontab -e


エディターが立ち上がるので、以下を追加します。
毎日 00時05分にシャットダウンのコマンドを実行する、という意味。

# m h  dom mon dow   command
05 00 * * * /sbin/shutdown -h +1


書式 「m h  dom mon dow   command」 は、「分 時  日 月 曜日  コマンド」 を表します。

crontab の確認は、

sudo crontab -l


ちなみに、crontab -r とかやっちゃうと設定がすべて消えますので注意。

参考にさせていただいたサイト 「まさおのブログ (表): Ubuntu で cron の設定をする
ありがとうございます。
 

■Ubuntu Server / SSH でリモートログイン

SSH のメモです。放置すると埋もれてしまうので、とりあえずメモのまま。

SSH

クライアントを追加するとき、サーバー側でパスワード認証を一時的に許可しておくことで、クライアントから公開鍵の転送など可能になる

インストール openssh-server
設定ファイル /etc/ssh/sshd-config
リスタート /etc/init.d/ssh restart
(ディフォルト、サーバーのログインパスワードでリモートログイン可)

TeraTerm 鍵作成
RSA B:2048
パスフレーズ 「●●●●●●●●」
秘密鍵 id-rsa
公開鍵 id-rsa.pub
id-rsa.pubをサーバーホームディレクトリへ
/home/user/.ssh へ移動
authorized-keys に登録
パーミッション600に変更

設定ファイル変更
Password Authentication no
Permit Root Login no
Permit Empty Password no

リスタート


参考にさせていただいたサイト:初心者がWEB開発に挑戦 UbuntuにSSHサーバーをインストール
 

■Ubuntu Server / Sambaユーザーの追加

備忘録ですが、実行したときのメモなので間違っているかも。ってか、実際の設定と異なってるんで、どうしたものかと (^_^;)

Ubuntu Server の Samba にユーザーを追加します。

Ubuntu Server のユーザー username を作り、パスワードを設定します。

# sudo useradd username
# sudo passwd username


ユーザー作成には「adduser」コマンドもありますが、こちらはホームディレクトリが作成されます。

usename でログインできなくしておきます。

# sudo usermod -s /bin/false username


Samba にユーザーを追加します。

# sudo smbpasswd -a username


で、実際のところはホームディレクトリも作ってあって、そこにそのユーザーのファイルが置いてあります。ログインシェルも /bin/bash になってました。管理上そのほうが都合良くて変更したのかも。
誰でもアクセスできる共有ディレクトリなら、パーミッションをそのように設定すればいいですね。
 

■Ubuntu / ネットワークプレースを自動マウント

ファイルサーバーにある共有ディレクトリを、Ubuntu クライアントの起動時に自動マウントします。
 
Samba ファイルサーバー : 192.168.1.10
サーバーの共有ディレクトリ : user
クライアントのマウントポイント : /mnt/samba
Samba ユーザー名 : smbuser
Samba パスワード : smbpass

Samba をマウントする方法をググると smbfs ってのが必要らしいです。そこで、
 

$ sudo apt-get install smbfs


なんてやると、「それ古いんだよ。cifs-utils にしな」と言われてしまいます (^_^;)
そんなわけですから、まずは cifs-utils をインストールすることにします。
 

$ sudo apt-get install cifs-utils


つぎにマウントポイントを作成します。マウントポイントは、マウントする共有ディレクトリを格納する場所です。
 

$ sudo mkdir /mnt/samba


/etc/fstab を編集しますが、GUI で使っているクライアントマシンではなぜか vi がまともに動かないので、gedit を使います。こんな、たぶん基礎的なことがわからないのが素人の悲しさなわけです (;_;)
 

$ sudo gedit /etc/fstab


次の一行を追加します。表示的に改行されていますが、一行です。
 

//192.168.1.10/user /mnt/samba cifs username=smbuser,password=smbpass,uid=1000,gid=1000,rw,defaults 0 0


設定ができたら、クライアントマシンを再起動します。
/mnt/samba にファイルサーバーの共有ディレクトリがマウントされれば成功です。

とまぁ、これでいつでも自由にファイルサーバーに繋がるようになったわけですが、ひとつ釈然としない。なんで fstab にパスワードを平文で書かなきゃいけないの?  Samba へのアクセスを簡単にするために、Ubuntu も Windows もログインパスワードと Samba パスワードをすべて同じにしていますので、これじゃパスワードダダ漏れじゃん。

そこで資格情報ファイル passwd.user を別に作成することにしました。ファイル名は任意です。
 

$ sudo gedit /etc/passwd.user


ユーザー名とパスワードを記述します。
 

username=smbuser
password=smbpass


ファイルができたらオーナーとパーミッションを変更し、root 以外が読み書きできないようにします。
 

$ sudo chown root:root /etc/passwd.user
$ sudo chmod 600 /etc/passwd.user


最後に /etc/fstab に追加した一行を、以下のように変更します。
 

//192.168.1.10/user /mnt/samba cifs credentials=/etc/passwd.user,uid=1000,gid=1000,rw,defaults 0 0


これで少しは安全になります。それでも不安だったら自動マウントなんてやめましょうね。
 

| 1/3PAGES | >>

■calendar

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     
<< September 2019 >>

■search this site.

■recommend

毎日貯まるポイントサイト ECナビ

■recommend

* 楽天ROOM *

■Twitter

■recommend

■recommend

■selected entries

■categories

■archives

■recent comment

■recent trackback

■links

■profile

■others

■mobile

qrcode

■powered

無料ブログ作成サービス JUGEM