hpマイクロサーバにsambaインストール
SSHのポート変更
SSHのポートを念のため変更しておく。
- 設定ファイルを編集する。
$ sudo vi /etc/ssh/sshd_config # What ports, IPs and protocols we listen for #Port 22 Port 2022 ↑のPortを任意のポート番号に変更する
- 構文チェックし、問題なければ設定変更を反映する。
$ sudo sshd -t $ sudo /etc/init.d/ssh restart [ ok ] Restarting ssh (via systemctl): ssh.service.
- 念のため現在の接続は維持したまま新しくポート22で接続してみて接続できなくなつてゐることを確認する。
- 今度は変更したポート番号2022で接続できることを確認する。無事に接続できれば完了。
ユーザ権限変更
リストで書いてるのが面倒になつてきたのでちよつと書き方を変へる。次はsuでrootになれるユーザを制限したりする作業をやる。取り敢へず現在存在するユーザを確認する方法。/etc/passwdファイルに格納されてゐるので適当に開く。
$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin (中略) roki:x:1000:1000:,,,:/home/roki:/bin/bash sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin ntp:x:105:110::/home/ntp:/bin/false
意味は先頭から順に
- ユーザ名
- パスワード。xだとシャドウパスワードで意味不明の文字の羅列が書かれてゐた場合は暗号化されたパスワード。基本的にはデフォルトでシャドウパスワードになつてるはず。シャドウパスワードの場合は一般ユーザでは見ることができない /etc/shadow に暗号化されたパスワードが記録されてる。
- ユーザID
- グループID
- 本名
- ホームディレクトリ
- ログインシェル
この場合、rokiはシャドウパスワードになつてゐてユーザIDは1000、グループIDは1000、本名(?)は「,,,」、ホームディレクトリは/home/roki、ログインシェルは/bin/bash。
続いてグループを確認する。こちらは/etc/groupに格納されてゐるのでcatやvimなんかで適当に開く。
$ cat /etc/group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: (中略) roki:x:1000: ssh:x:109: ntp:x:110:
意味は先頭から順番に
- グループ名
- パスワード。xならシャドウパスワード
- グループID
- 所属してるユーザのリスト。カンマ区切り(省略したがcdromやfloppyグループにrokiが所属してる)
自分のIDとか所属グループを確認するには
$ id uid=1000(roki) gid=1000(roki) groups=1000(roki),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev)
uidがユーザID、gidがグループID、groupsが所属してゐるグループ。
さて、確認ができたところでまづroki以外のユーザを作成する。ここでは追加するユーザ名はuenoにする。
$ sudo adduser ueno ユーザ `ueno' を追加しています... 新しいグループ `ueno' (1001) を追加しています... 新しいユーザ `ueno' (1001) をグループ `ueno' として追加しています... ホームディレクトリ `/home/ueno' を作成しています... `/etc/skel' からファイルをコピーしています... 新しい UNIX パスワードを入力してください: 新しい UNIX パスワードを再入力してください: passwd: パスワードは正しく更新されました ueno のユーザ情報を変更中 新しい値を入力してください。標準設定値を使うならリターンを押してください フルネーム []: 部屋番号 []: 職場電話番号 []: 自宅電話番号 []: その他 []: 以上で正しいですか? [Y/n] Y
新しいユーザが作成されたことを下記コマンドで確認する。
$ id ueno uid=1001(ueno) gid=1001(ueno) groups=1001(ueno)
ログインできることも確認する。ついでにuenoからsu -してrootになれることも確認しておく。
$ su - ueno ueno@nidf:~$ ↑uenoでのログイン成功 ueno@nidf:~$ su - root@nidf:~# ↑rootにsuできたことを確認
sudoersに登録してないからuenoでsudoは使用できないはずなので一応それも確認しておく。
ueno@nidf:~$ sudo ls We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for ueno: ueno は sudoers ファイル内にありません。この事象は記録・報告されます。
suでrootになれるユーザを特定のグループに所属してゐるユーザだけにしたい。他のLinuxではwheelグループがそのために使はれてゐるらしいがDebianにはwheelグループがなくadmグループを使ふらしいのでadmにする。
$ sudo usermod -G adm roki
続いてadmグループだけsuでrootになれるやうに設定。
$ sudo vi /etc/pam.d/su # Uncomment this to force users to be a member of group root # before they can use `su'. You can also add "group=foo" # to the end of this line if you want to use a group other # than the default "root" (but this may have side effect of # denying "root" user, unless she's a member of "foo" or explicitly # permitted earlier by e.g. "sufficient pam_rootok.so"). # (Replaces the `SU_WHEEL_ONLY' option from login.defs) # auth required pam_wheel.so auth required pam_wheel.so group=adm ↑を追加
設定が反映されてゐることを確認する。
roki@nidf:~$ su - パスワード: root@nidf:~# exit ログアウト roki@nidf:~$ su - ueno パスワード: ueno@nidf:~$ su - パスワード: su: 拒否されたパーミッション
sudoできるrokiをユーザ名で指定してゐたがsudoグループに変更する。先程追加したadmも併記しないとadmグループから削除されるので両方書いておく必要があつた。
$ sudo usermod -G adm,sudo roki $ sudo visudo # User privilege specification root ALL=(ALL:ALL) ALL roki ALL=(ALL:ALL) ALL ↑rokiの行を消す # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL ↑が最初から書かれてゐればそのままでいい。なければ追加する
rokiからsudoが使へることを確認する。
ウイルス対策ソフト導入
$ sudo apt-get install clamav clamav-daemon
ウイルス定義ファイルを最新にする。
$ sudo freshclam ERROR: /var/log/clamav/freshclam.log is locked by another process ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
上のやうなエラーになつた。ロックされてゐるログファイルを一旦削除して作り直す。
$ sudo rm -f /var/log/clamav/freshclam.log $ sudo touch /var/log/clamav/freshclam.log $ sudo chown clamav:clamav /var/log/clamav/freshclam.log
もう一度ウイルス定義ファイルを更新。
$ sudo freshclam ClamAV update process started at Sat Aug 15 16:33:01 2015 main.cvd is up to date (version: 55, sigs: 2424225, f-level: 60, builder: neo) daily.cvd is up to date (version: 20790, sigs: 1525525, f-level: 63, builder: neo) bytecode.cvd is up to date (version: 266, sigs: 47, f-level: 63, builder: anvilleg)
ウイルススキャンのテストを実行。
$ sudo clamscan --infected --remove --recursive ----------- SCAN SUMMARY ----------- Known viruses: 3944258 Engine version: 0.98.7 Scanned directories: 3 Scanned files: 7 Infected files: 0 Data scanned: 0.01 MB Data read: 0.00 MB (ratio 2.00:1) Time: 14.491 sec (0 m 14 s)
ダミーウイルスを用意して検知されるかテスト。
$ wget http://www.eicar.org/download/eicar.com \ http://www.eicar.org/download/eicar.com.txt \ http://www.eicar.org/download/eicar_com.zip \ http://www.eicar.org/download/eicarcom2.zip
ダウンロードされたことを確認。
$ ls -l 合計 16 -rw-r--r-- 1 roki roki 68 8月 15 16:37 eicar.com -rw-r--r-- 1 roki roki 68 8月 15 16:37 eicar.com.txt -rw-r--r-- 1 roki roki 184 8月 15 16:37 eicar_com.zip -rw-r--r-- 1 roki roki 308 8月 15 16:37 eicarcom2.zip
もう一度ウイルススキャンのテストを実行。
$ sudo clamscan --infected --remove --recursive /home/roki/eicar_com.zip: Eicar-Test-Signature FOUND /home/roki/eicar_com.zip: Removed. /home/roki/eicar.com.txt: Eicar-Test-Signature FOUND /home/roki/eicar.com.txt: Removed. /home/roki/eicarcom2.zip: Eicar-Test-Signature FOUND /home/roki/eicarcom2.zip: Removed. /home/roki/eicar.com: Eicar-Test-Signature FOUND /home/roki/eicar.com: Removed. ----------- SCAN SUMMARY ----------- Known viruses: 3944258 Engine version: 0.98.7 Scanned directories: 3 Scanned files: 11 Infected files: 4 Data scanned: 0.01 MB Data read: 0.00 MB (ratio 2.00:1) Time: 14.458 sec (0 m 14 s)
4ファイルとも検知後に削除されてゐる。本当はこのウイルススキャンを定期的に実行させるスクリプトを書いたりする必要があるはずだけど今回はそこまでできないので後回し。
Sambaの導入
Windowsからアクセスできるディレクトリを設定したいのでSambaをインストールする。
$ sudo apt-get install samba
共有するディレクトリを作成する。
$ sudo mkdir /home/share
作成したディレクトリを確認。
$ ls -l /home/ 合計 12 drwxr-xr-x 4 roki roki 4096 8月 15 17:17 roki drwxr-xr-x 2 root root 4096 8月 15 18:44 share drwxr-xr-x 2 ueno ueno 4096 8月 15 14:59 ueno
ディレクトリの権限を変更
$ sudo chown nobody:nogroup /home/share $ sudo chmod 777 /home/share $ ls -l /home/ 合計 12 drwxr-xr-x 4 roki roki 4096 8月 15 17:17 roki drwxrwxrwx 2 nobody nogroup 4096 8月 15 18:44 share drwxr-xr-x 2 ueno ueno 4096 8月 15 14:59 ueno
sambaの設定。
$ sudo vi /etc/samba/smb.conf # Windowsの文字コード dos charset = CP932 # Linux側の文字コード unix charset = UTF-8 # 接続できるインターフェイスを制限 interfaces = 127.0.0.0/8 192.168.1.0/24 # interfacesで指定したものだけ接続できるやうにする bind interfaces only = yes ↓最終行に以下を追加 [share] path = /home/share writable = yes guest ok = yes guest only = yes create mode = 0777 directory mode = 0777 share modes = yes
sambaを再起動。
$ sudo /etc/init.d/samba restart [ ok ] Restarting nmbd (via systemctl): nmbd.service. [ ok ] Restarting smbd (via systemctl): smbd.service. [ ok ] Restarting samba-ad-dc (via systemctl): samba-ad-dc.service.
WindowsのPCからパスワード認証なしで \\nidf\share に接続できることを確認。
アクセス制限をした接続についても今後は考へた方がいいかもしれないが今回はそこまで設定しない。