Ubuntu をGUIでリモート操作

Ubuntu をGUIでリモート操作

通常、Linux のリモートといえば
ssh コマンドによる操作になるけど
デスクトップ画面をリモート操作することも可能

まずダッシュボードで
vino
と入力し、デスクトップ共有機能を選ぶ

desk

次に
他のユーザが自分のデスクトップを表示できる
にチェックをいれる

そのままだと危険なので
パスワードの入力を要求するにチェックを入れ
パスワードを設定

なお、
このマシンへの接続を毎回確認する
のチェックは外しておく

desk2

これでOK

次に
デスクトップ共有の詳細設定をできるように
dconf をインストール

これは Ubuntu ソフトウェアセンターで
dconf で検索すればでてくるので
これをインストール

desk3

インストール完了後
ダッシュボードから
dconf

dconf エディタを起動

desk4

org > gnome > desktop >
remote-access

require-encryption
のチェックを外す

desk5

これで準備ができたので
今度はリモートで動かしたいマシンへ
クライアントソフトを入れる

Ubuntu の場合なら
Remmina リモートデスクトップクライアント
が使える

これはダッシュボードで
remm
と入力すればでてくる

起動したら、新規リモートデスクトップを作成する
アイコンをクリックする

desk6

すると設定画面がでるので
プロトコルには
VNC-仮想ネットワークコンピューティング
を選択

サーバーの部分には
サーバーのホスト名.local
を設定する

desk8

サーバーのホスト名を調べるには
ctrl + alt + t
で端末を起動できるので

hostname

とすればホスト名が表示されるので
それを使う

今回なら
snowpool-VirtualBox.local
となる

desk7

ここまでできたら接続をクリック

すると
設定したVNCのパスワードを聞かれるので
パスワードを入力

desk9

パスワードがあっていれば
リモートデスクトップ画面が表示される

desk10

接続を切りたい場合、切断アイコンをクリックする

ちなみに、リモートデスクトップなので
行った操作は相手側でも反映される

Ubuntu 15.04 のダウンロード

Ubuntu 15.04 のダウンロード

日経Linux で サーバー構築の特集があったので
実践してみることに

まずは
Ubuntu 15.04 日本語 Remix のダウンロード

Ubuntu 15.04 日本語 Remix リリース

から
iso イメージをダウンロード

ubu150

今回は VirtualBox で実験する
振り分けるメモリは 4096MB
HDDは実験なので20GB程度

サーバー用途の実験にするので
ネットワーク設定を NAT から
ブリッジアダプターに変えておく

ubu15

そして
ダウンロードが終わったISOイメージを
ストレージのCD/DVDドライブへセットする

ubu152

あとは起動すれば Ubuntu のインストールが始まる

ubu153

脳ドック関連について調べてみた

脳ドック関連について調べてみた

最近、頭痛もひどいため
一度脳ドックを受けたほうがいいかな?
ということでいろいろと調べることに

場所については
日本脳ドック学会認定施設一覧

で調べることに

問題は費用

公的健康保険の
国民保険や社会保険は
健康診断なら適用されるけど

人間ドックとか脳ドックの場合
治療ではないので全額自己負担になることに

ただし、入院したときに高額医療費制度で
自己負担限度額があるように
調べれば、なんとかなるかもしれないと思って調べることに

ちなみに、70歳未満の加入者の自己負担額については

高額療養費制度とは?押さえておくべき申請方法と活用するポイント

を参考にしました

この表によれば、
税引き前で
月額26万以下なら、57600円
28〜50万円なら、80100円
となるみたい

脳ドックで検索していたら
全額自己負担の「人間ドック」をお得に受ける方法

が見つかったので、他にもないか
人間ドックをお得
で検索するといろいろでてきたので
ちょっとまとめることに

まず
人間ドック・脳ドックの補助金(助成金)を出してくれる公的健康保険があるということ
ちなみに
千葉県松戸市では
松戸市国民健康保険と
後期高齢者医療制度の保健事業
には
人間ドック費用助成制度
があるようです

ただし、これは地域による可能性ありです
以前、共済で結婚式ができると聞いたけど
埼玉でしか見つかりませんでした

まずは、
人間ドック費用助成制度 自分の住んでいる市町村名
で検索するとでてくるかもしれません

次に、民間保険会社での提携する医療機関で行う場合の割引

ただし、最大30%とは書いてあっても
実際に行けるところでは10%もないということもあります
日本生命では
人間ドック・脳ドック割引

で最大30%割引らしいのですが
私の住んでいる地区の場合だと
該当するものは、割引は1000円というのもありました
一応調べた時に価格がでます

東京海上日動あんしん生命

人間ドック・脳ドック、がんPET検診優待サービス

も調べてみたのですが
割引のときの金額などはでませんでした

民間保険会社だけでなく
県民共済もみてみました

神奈川だとあるようです

かながわクリニック

では割引料金が掲載されていました

kaliLinux のダウンロード

kaliLinux のダウンロード

VMイメージを使うことにする

ダウンロードは
https://www.kali.org/downloads/
から行える

Download Kali Linux VMware and VirtualBox images
の項目から

Official Offensive Security Kali Linux ARM and VMWare Images

をクリック

kali

すると、どのVM Image をダウンロードするか選択できるので
64bi VM を選択

kali2

ちなみに VMware Player ではなく
VirtualBox の方をダウンロードしたい場合
Prebuild Kali Linux VirtualBox Images
をクリックすると、
VBox のためのダウンロードリンクがでてくる

kali3

なお、ダウンロードしたファイルは
.7z で圧縮されてるので解凍が必要

これは Ubuntu の場合
Ubuntu ソフトウェアセンターで
7z
で検索すればでてくるので、これでインストール

kali4

解凍のためのコマンドの使い方は
Debian Linuxで7zファイルを圧縮・解凍する / p7zipの使い方

を参考に実行

ダウンロードしたディレクトリに移動し

7z e Kali-Linux-1.1.0a-vbox-amd64.7z 

を実行すれば解凍できる

解凍には時間がかかるため少しフリーズしたようにかんじる

検索語句を含むファイルリスト作成

検索語句を含むファイルリスト作成

今回は、
複数のファイルで、指定したワードを検索して
該当するファイルのリストを作成する

sudo grep -r key /etc/

grep に -r オプションをつけることで
再帰的に行を検索するようになる

これを実行すると
/etc/ のしたにあるファイルから
key を含む行が表示される
かなりの量になるので、結果は今回は掲載しない

次に、この結果から
ファイル名を残して
重複部分はuniq コマンドで削除する

ファイル名のみにするには
sed コマンドで置き換えをする

grep の結果をパイプでつないで

sed ’s/:.*$//‘
とするとファイル名だけになる

これは実行結果が
ファイル名:該当する内容
となっているので
不必要な部分を削除するには
: から行末までを削除すればok

なので
sed ’s/:.*$//‘
とすれば
: を含むところから $ つまり行末までを
対象に置き換えをする
//となっているので中身は削除される

sed コマンドについては
【 sed 】 文字列の置換,行の削除を行う

を参考に

これでファイル名だけになるけど
重複箇所がでてくる
これを uniq コマンドで削除する

uniqコマンドについて詳しくは
【 uniq 】 ソート済みのファイルから重複した行を削除する

の解説をみるとわかりやすい

これらを元に、コマンドを実行すると

sudo grep -r key /etc/ | sed 's/:.*$//'| uniq

これでファイル名がわかるけど
問題としては日本語の行を消すことができない

今回の結果の一部


/etc/ssl/certs/renew-dummy-cert
/etc/postfix/access
/etc/postfix/main.cf
/etc/rc2.d/K70vboxadd-x11
/etc/rc2.d/S55sshd
/etc/bash_completion.d/git
バイナリー・ファイル/etc/pki/nssdb/secmod.dbは一致しました
/etc/pki/nssdb/pkcs11.txt
/etc/pki/ca-trust/extracted/java/README
バイナリー・ファイル/etc/pki/ca-trust/extracted/java/cacertsは一致しました
/etc/pki/tls/certs/make-dummy-cert
/etc/pki/tls/certs/Makefile
/etc/pki/tls/certs/ca-bundle.trust.crt
/etc/pki/tls/certs/ca-bundle.crt.rpmnew
/etc/pki/tls/certs/renew-dummy-cert
/etc/pki/tls/misc/CA
/etc/pki/tls/openssl.cnf
バイナリー・ファイル/etc/pki/java/cacertsは一致しました
/etc/rc.sysinit


実はもっと簡単な方法があった

grep コマンドで -l オプションをつければ
ファイル名のみ出力することができた

sudo grep -rl key /etc/

これを実行すれば
日本語の文字列はなくなった

grep で前後の行も抽出

grep で前後の行も抽出

ファイルの中身を検索するなら

sudo find /etc/ -type f | sudo grep '\.conf$' |sudo xargs grep 80

[/shell
というように
grep コマンドの結果を xargs コマンドで実行すればみることができる

結果は
[shell
/etc/lvm/lvm.conf:    # found to make up over 80% of the memory used by the process.

/etc/lvm/lvm.conf:    # the snapshot exceeds 80%. The warning is repeated when 85%, 90% and

/etc/lvm/lvm.conf:    # the pool exceeds 80%. The warning is repeated when 85%, 90% and

/etc/security/group.conf:#xsh; tty* ;sword;!Wk0900-1800;sound, play

/etc/security/group.conf:#xsh; tty* ;*;Al0900-1800;floppy

/etc/security/pam_env.conf:#LESS	DEFAULT="M q e h15 z23 b80"

/etc/httpd/conf/httpd.conf:#Listen 12.34.56.78:80

/etc/httpd/conf/httpd.conf:Listen 80

/etc/httpd/conf/httpd.conf:#ServerName www.example.com:80

/etc/httpd/conf/httpd.conf:#NameVirtualHost *:80

/etc/httpd/conf/httpd.conf:# (e.g. :80) if mod_ssl is being used, due to the nature of the

/etc/httpd/conf/httpd.conf:#<VirtualHost *:80>

このコマンドの意味は

拡張子が.conf のものを /etc から探し

そのファイルの該当する部分を表示するというもの

ちなみに、検索結果の前後を表示することもできる

まず、検索結果からあとに5行表示したい場合

grep コマンドの -A オプションをつかう

例として


sudo find /etc/ -type f | sudo grep '\.conf$' |sudo xargs grep VirtualHost

とすれば
VirtualHost が描かれている部分が表示される
結果は


/etc/httpd/conf/httpd.conf:# ports, in addition to the default. See also the <VirtualHost>
/etc/httpd/conf/httpd.conf:# <VirtualHost> definition.  These values also provide defaults for
/etc/httpd/conf/httpd.conf:# any <VirtualHost> containers you may define later in the file.
/etc/httpd/conf/httpd.conf:# All of these directives may appear inside <VirtualHost> containers,
/etc/httpd/conf/httpd.conf:# If you do not specify an ErrorLog directive within a <VirtualHost>
/etc/httpd/conf/httpd.conf:# logged here.  If you *do* define an error logfile for a <VirtualHost>
/etc/httpd/conf/httpd.conf:# If you do not define any access logfiles within a <VirtualHost>
/etc/httpd/conf/httpd.conf:# define per-<VirtualHost> access logfiles, transactions will be
/etc/httpd/conf/httpd.conf:# copying them to /your/include/path/, even on a per-VirtualHost basis.
/etc/httpd/conf/httpd.conf:# VirtualHost: If you want to maintain multiple domains/hostnames on your
/etc/httpd/conf/httpd.conf:# machine you can setup VirtualHost containers for them. Most configurations
/etc/httpd/conf/httpd.conf:#NameVirtualHost *:80
/etc/httpd/conf/httpd.conf:# NOTE: NameVirtualHost cannot be used without a port specifier 
/etc/httpd/conf/httpd.conf:# VirtualHost example:
/etc/httpd/conf/httpd.conf:# Almost any Apache directive may go into a VirtualHost container.
/etc/httpd/conf/httpd.conf:# The first VirtualHost section is used for requests without a known
/etc/httpd/conf/httpd.conf:#<VirtualHost *:80>
/etc/httpd/conf/httpd.conf:#</VirtualHost>

さらにそこから5行したまで表示したい場合
ちょっとおおいので

sudo find /etc/ -type f | sudo grep '\.conf$' |sudo xargs grep -A 5 \<VirtualHost

として

find コマンドでファイルを検索

find コマンドでファイルを検索

cd /etc/
sudo find . -type f | head -n 4

を実行すると、結果は


./printcap
./networks
./hosts
./securetty

となる

head コマンドは
ファイルの先頭部分を表示するコマンド

詳しくは
【 head 】 ファイルの先頭部分を表示する

を参考に

-nオプションをつければ出力する数を制限できる

今回なら -n 4なので先頭4行
つまり、 find コマンドの結果から
先頭4行表示している

find コマンドについては
【 find 】 ファイルやディレクトリを検索する

に解説が載っているのでこちらも参考に

今回の

find . -type f

は現在のディレクトリからファイルを出力
という意味

. は現在のディレクトリという意味

-type f
はファイルのみ出力
という判定にしている

これを利用して特定の拡張子のファイルを探すこともできる

例えば設定ファイルの
.conf 拡張子ファイルを探すのなら
find の結果をパイプで grep に渡すことでできる
ちなみにそのままだとおおいので
head コマンドで10個まで表示にしている

sudo find /etc/ -type f | grep '\.conf$' |  head

結果は


/etc/sysctl.conf
/etc/libaudit.conf
/etc/depmod.d/dist.conf
/etc/ld.so.conf
/etc/lvm/lvm.conf
/etc/modprobe.d/dist-alsa.conf
/etc/modprobe.d/blacklist.conf
/etc/modprobe.d/anaconda.conf
/etc/modprobe.d/dist-oss.conf
/etc/modprobe.d/dist.conf

$は正規表現で行末という意味

\.としているのは . だと正規表現扱いになるため
今回の conf の部分を php とかに変えれば
特定のソースコードを探すときに使える

なので、もしPHP ファイルを探すなら
| grep ‘\.php$’
となっていた

便利な xargsコマンド

便利な xargsコマンド

ファイルを ls で調べ
その結果見つけたものの中身を grep で検索
これでもできるけど
できれば一度にすませたい

でも

sudo ls /etc/ssh/*config |grep -H key 

としても結果はでてこない

理由はls コマンドの結果は
標準出力、つまり画面に表示なので
パイプで流した文字列を引数にする必要がある

なので まずは while 文で調べるようにする

 ls /etc/ssh/*config | while read f; do sudo grep -H key $f; done

最初の

ls /etc/ssh/*config | while read f

で ls コマンドの結果を、変数f に格納

スクリプトの場合、$変数名でアクセスできるので

do sudo grep -H key $f; done


でその結果のファイルパスを引数にして
grep コマンドで検索している

これよりもっと楽な方法として
xargs をつかう

これは、ほとんどの場合
パイプで渡された結果を受け取って
それを引数として、指定したコマンドで実行する
という使い方をする

例えば、今回の場合なら
ls コマンドででたファイルパスを
grep コマンドの引数にしたいので

 ls /etc/ssh/*config | xargs sudo grep key

とすれば


/etc/ssh/sshd_config:#HostKey /etc/ssh/ssh_host_key
/etc/ssh/sshd_config:#HostKey /etc/ssh/ssh_host_rsa_key
/etc/ssh/sshd_config:#HostKey /etc/ssh/ssh_host_dsa_key
/etc/ssh/sshd_config:# Lifetime and size of ephemeral version 1 server key
/etc/ssh/sshd_config:#PubkeyAuthentication yes
/etc/ssh/sshd_config:#AuthorizedKeysFile	.ssh/authorized_keys
/etc/ssh/sshd_config:# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
/etc/ssh/sshd_config:# Change to no to disable s/key passwords


と表示される

xargs コマンドは
ls や find で見つけた結果を処理するのに使える

grep の検索結果でファイル名出力の指定

grep の検索結果でファイル名出力の指定

通常、コマンドでつかうぶんには気にならない
grep の検索結果

しかし、スクリプトにして処理するときには
ルール作っておくと便利

複数ファイルが該当すると
grep コマンドはファイル名まで出すけど
対象が1つの場合は出力しない

例えば

sudo grep key /etc/ssh/*config

を実行すると

/etc/ssh/sshd_config:#HostKey /etc/ssh/ssh_host_key
/etc/ssh/sshd_config:#HostKey /etc/ssh/ssh_host_rsa_key
/etc/ssh/sshd_config:#HostKey /etc/ssh/ssh_host_dsa_key
/etc/ssh/sshd_config:# Lifetime and size of ephemeral version 1 server key
/etc/ssh/sshd_config:#PubkeyAuthentication yes
/etc/ssh/sshd_config:#AuthorizedKeysFile	.ssh/authorized_keys
/etc/ssh/sshd_config:# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
/etc/ssh/sshd_config:# Change to no to disable s/key passwords

というようにファイル名まででる

でも結果にファイル名を入れたくないのなら

sudo grep -h key /etc/ssh/*config

というように
grep に -h オプションをつける

逆に、通常は対象ファイルが1つの場合は
ファイル名はでないけど
処理のためにはファイル名が必要
というのなら
-H オプションをつける

sudo grep -H key /etc/ssh/*config

すると


/etc/ssh/sshd_config:#HostKey /etc/ssh/ssh_host_key
/etc/ssh/sshd_config:#HostKey /etc/ssh/ssh_host_rsa_key
/etc/ssh/sshd_config:#HostKey /etc/ssh/ssh_host_dsa_key
/etc/ssh/sshd_config:# Lifetime and size of ephemeral version 1 server key
/etc/ssh/sshd_config:#PubkeyAuthentication yes
/etc/ssh/sshd_config:#AuthorizedKeysFile	.ssh/authorized_keys
/etc/ssh/sshd_config:# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
/etc/ssh/sshd_config:# Change to no to disable s/key passwords

というようにファイル名も表示される

less コマンド

less コマンド

linux コマンドは使えると便利だけど
使い方がわからないと戸惑うこともおおい

今回はファイル閲覧によく使う
less コマンドについて

オプションはいくつかあるけど
実際に私がよくつかうものとしては
ファイルを閲覧するときページ単位でみるとき

q
終了するなら

f
1画面進める
端末の左下に
(END)とでたら
そこがファイルの終わりのところ

b
1画面戻る

g
ファイルの先頭

shift + g
ファイルの最後

/ のあとに検索したい文字を入れると
調べることができる
例えば

history | less


/ssh
で検索すると、ssh コマンドを使ったところが表示される
なお、これはファイルの末尾に向かって調べるので
最終行までいっているのなら

?ssh

というようにして、先頭に向けて調べるようにする