Windowsの共有フォルダをマウント

0.はじめに

UbuntuでもWindowsと同じように、他のパソコンのディレクトリを適当なドライブに割り当ててアクセスできるようにしました。

ちなみに、マウントというのは周辺機器をパソコンに認識させることで、ネットワーク上のディレクトリにアクセスできるようにすることもマウントというみたいです。

1.fstabでマウントの設定をする

/etc/fstabというファイルを編集して、自動でマウントしたりroot以外のユーザでもマウントできるようにすることができるようです。

以下を追加しました。

デバイス名 マウントする場所 cifs credentials=パスワードの保存場所,gid=sambashare,file_mode=0770,dir_mode=0770,iocharset=utf8,users,rw,exec,noauto 0 0

だいたい以下のような感じ
//192.168.11.1/hoge /mnt/fuga cifs credentials=/etc/piyo_credntials,gid=sambashare,file_mode=0770,dir_mode=0770,iocharset=utf8,users,rw,exec,noauto 0 0

credentialsで指定するファイルの中身は以下のような書式になります
username=ユーザ名
password=パスワード

指定したオプションの値
credentials = パスワード、ファイル名を記述したファイルの場所を指定
uid = マウントするユーザIDを指定
gid = マウントするグループIDを指定
file_mode = ファイルのパーミッション設定
dir_mode = ディレクトリのパーミッション設定
iocharset = 文字コードの指定
users = 一般のユーザでもマウント・アンマウントできるようにする
rw = 読み書きを可能にする
exec = バイナリを実行可能にする
noauto = 自動でマウントしない。autoの場合は自動でマウントされる

最後の02つは、dumpとファイルシステムチェックを行う場合に0以外を指定するようです。なんか無駄な指定もありそうですが、とりあえず思うように動作したのでいいことにします。

2.マウントコマンド

mountというコマンドでマウントすることができます。mountコマンドの後にマウント場所を指定します。

mount /mnt/fuga

おまけ

自宅で使っているNASがwakeonlanというコマンドを使うと、自動起動ができるようなので、使ってみました。

wakeonlan -i IPアドレス macアドレス

あと、/etc/mtabを参照するとすでにマウントが実行できているかどうかを確認できるようです。このあたりを使って、NASが常時起動していない場合でも自動でマウントすることができるようにできました。


・・・なんかすごく面倒くさいですね。簡単な方法があるような気がするんですが、ちょっと調べてみた感じだと見つかりませんでした。

ufwコマンドを使ってファイアウォールを設定する

0.ufwとは

Linuxで標準的に利用されているiptablesよりも簡単にファイアウォールが設定できるツール。複雑な設定はできないものの、単純な設定を行う場合には有効な模様。

1.デフォルトですべての通信を遮断する

最初にすべての通信を遮断するように設定しておき、許可する通信を追加していきます。

$ ufw default DENY

2.ルールの追加とその削除

allow "ポート番号"とすると許可するポート番号を追加することができます

$ ufw allow 22

/etc/servicesに書かれたサービス名で通信を許可することができます

$ ufw allow ssh

登録されているアプリケーションの単位で指定することも可能です。
アプリケーションの一覧から app list としてアプリケーションを確認して、allowすることで通信を許可することができます

$ ufw app list
$ ufw allow OpenSSH

追加したルールを削除するにはdeleteをつけて実行します

$ ufw delete allow ssh


3.特定のIPアドレスからの接続のみ許可する

from とつけることで、特定のIPアドレスからのみアクセスすることができるようになります

$ ufw allow from 192.168.1.10

特定のIPアドレスがアクセスできるポートを指定することもできます

$ ufw allow from 192.168.1.10 to any port ssh

アプリケーション単位で指定する場合は以下

$ ufw allow from 192.168.1.10 to any app OpenSSH

参考:第76回 Ubuntuのソフトウェアファイアウォール:UFWの利用(1)

他のパソコンからコマンドが実行できるようにしてみました

1.OpenSSHのインストール

apt-get install openssh-server

2.公開鍵、秘密鍵を作成(RSA暗号を使用)

ログインするユーザで公開鍵/秘密鍵のペアを作成します

ssh-keygen -t rsa

途中、鍵のファイルを保存する場所を聞かれるので、とりあえずデフォルトの~/.ssh/id_rsaのままにしておく。

また、パスフレーズを入力するように指示されるので、適当に入力する


3.公開鍵の登録

作成した公開鍵(id_rsa.pub)は、./ssh配下にauthorized_keysという名前で登録する必要がある模様。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

また、他のユーザから参照できないようにアクセス権も変更しておく

chmod 600 ~/.ssh/authorized_keys


4.OpenSSHの起動

/etc/init.d/ssh restart

自動起動する場合にはデーモンに追加

sysv-rc-conf ssh on


5.SSHサーバにアクセスする

作成した秘密鍵(id_rsa)をクライアント側のPCに渡して、SSHサーバにアクセスする。

※WindowsのPuTTYを使用する場合は、PuTTYgenを使って利用できる形式にインポートする必要がある(最新のPuTTYgenを使ったほうがよさげ)