memo.xight.org

日々のメモ

カテゴリ : Linux

1ページ目 / 全4ページ

/dev/log がなくなった場合の対応

Summary

/dev/log が見つからないエラーが発生…。

logger: socket /dev/log: No such file or directory

/run/systemd/journal/dev-log から /dev/log にシンボリックリンクを作成

sudo ln -s /run/systemd/journal/dev-log /dev/log


Reference

askubuntu - 2016-11-18 - Ubuntu Lost /dev/log symlink?
https://askubuntu.com/questions/850848/ubuntu-lost-dev-log-symlink

login と sudo を2要素認証にする

Summary

Google Authenticator を使ってlogin と sudo を2要素認証にする。

install

% sudo apt-get install libpam-google-authenticator


/etc/pam.d/common-auth

auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth required pam_google_authenticator.so

initialize google-authenticator

% google-authenticator
Do you want me to update your "/home/USER/.google_authenticator" file (y/n) y
Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n)
By default, tokens are good for 30 seconds, and to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n)
If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n)


質問に回答後、 16ケタのsecret key, 6ケタのverification code, 5つの緊急コードが表示される。
secret key は Google Authenticator App の設定に必要。

set up Google Authenticator App

Google Authenticator Appを起動
+ をタップ
Manual entry をタップ
Key を入力
Accountには適当に用途がわかるような名前を付けておく

Reference

linux.com - 2016-05-13 - How to Set Up 2-Factor Authentication for Login and sudo
https://www.linux.com/learn/how-set-2-factor-authentication-login-and-sudo

iTunes - Google Authenticaticator
https://itunes.apple.com/jp/app/google-authenticator/id388497605

Google Play - Google Authenticator
https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2

Googleアカウントヘルプ - Google 認証システムのインストール
https://support.google.com/accounts/answer/1066446

timezoneの変更

Summary

# rm /etc/localtime
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

Debian の場合 tzdata を再設定 [2008-11-12-3]

# dpkg-reconfigure tzdata


Asia/Tokyo を選択

UUIDの調べ方

Summary

/etc/fstab にデバイスを記述する際は、
ラベルではなくUUIDで指定するほうが良いらしい。

UUIDを調べるには、 /sbin/blkid を利用する。

すべての UUIDを参照する

# blkid


指定したdeviceのUUIDを参照する。

# blkid /dev/sda1

ext2 / ext3 の ラベル名の変更

Summary

さくらのVPS 1.5Gで2台目のHDDのパーティション1(sdb1)のラベルが /home になっている。
/var にマウントしたいので、気分的にラベルを変更したい。
ラベルを変更するには、 /sbin/e2label を利用する。

usage

# e2label device [newlabel]


sdb1 の ラベルの確認

# e2label /dev/sdb1


sdb1 に新しいラベル(/var)を設定する

# e2label /dev/sdb1 /var

ssh-vulnkey - check blacklist of compromised keys

Summary

ssh でリモートに接続しようとすると、以下のメッセージが表示された。
openssl のキー生成の乱数部分が脆弱であったようだ。

Public key XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX blacklisted (see ssh-vulnkey(1)); refusing to send it


ssh-vulnkey を実行。

% ssh-vulnkey
/path/to/homedir/.ssh/id_rsa:1: COMPROMISED: RSA 2048 XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX /path/to/homedir/.ssh/id_rsa.pub
#
# Some keys on your system have been compromised!
# You must replace them using ssh-keygen(1).
#
# See the ssh-vulnkey(1) manual page for further advice.

ssh-keygen で 鍵を更新。

tmux - terminal multiplexer

Summary

GNU screen はもう古いらしいので、tmuxに乗り換え。

クリックして拡大クリックして拡大クリックして拡大

操作 ( それ、Gentooだとどうなる? - 2009-07-09 より)

操作 screen tmux
ウィンドウを作成 C-a c または C-a C-c C-b c
ウィンドウ名を変更 C-a A C-b ,
ウィンドウ一覧表示 / 移動 C-b " C-b w
次のウィンドウへ移動 C-a n または C-a C-n C-b n
前のウィンドウへ移動 C-a p または C-a C-p C-b p
最後に操作したウィンドウへ移動 C-a C-a C-b l
ウィンドウを強制終了 C-a k C-b &
ペイン分割 C-a S C-b "
ペイン分割解除 C-a Q C-b !
ペインを強制終了 C-a k C-b x
ペイン間移動 C-a Tab C-b o または C-b Up または C-b Down
ペインを狭める / 広げる C-a - または C-a + C-b C-Up または C-b M-Up または C-b C-Down または C-b M-Down
ペイン配置パターンの変更 なし C-b Space または C-b {1,2,9}
中断 C-a d または C-a C-d C-b d
再開 screen -x tmux attach
ウィンドウ配置の変更 なし C-b Space
コピーモードでのコピー始点選択 Space または Enter C-Space (viモードならSpace)
コピーモードでのコピー終点選択 Space または Enter M-w (viモードならEnter)
現時刻表示 C-a t または C-a C-t C-b t

Reference

tmux
http://tmux.sourceforge.net/

それ、Gentooだとどうなる? - 2009-07-09 - 時代はGNU screenからtmuxへ
http://d.hatena.ne.jp/tmatsuu/20090709/1247150771

それ、Gentooだとどうなる? - 2009-07-10 - tmuxをGNU screen風キーバインドに変更する
http://d.hatena.ne.jp/tmatsuu/20090710/1247179550

monit - プロセスの監視を行うデーモン

Summary

monitはプロセスの監視を行うデーモン.
条件とそれに伴うアクションを指定することができる.

条件例

プロセスが起動していなかったら
特定のプロセスのメモリの使用量が あるサイズを超えたら
特定のプロセスのCPUの使用率が 50%を超えている状態が 10分続いたら
特定のポートに接続できなくなったら

アクション例

起動,再起動する
アラートメールを送信する
ユーザスクリプトを実行する

インストール

# aptitude install monit

Starting daemon monitor: monit won't be started/stopped
        unless it it's configured
        please configure monit and then edit /etc/default/monit
        and set the "startup" variable to 1 in order to allow 
        monit to start

/etc/defalut/monit でstartできるように設定

#startup=0
startup=1

/etc/monit/monitrc でインクルードファイルを指定

include /etc/monit/monit.d/*.conf

/etc/monit/monit.d/atd.conf

check process postfix with pidfile /var/run/atd.pid
start program = "/etc/init.d/atd start"
stop program = "/etc/init.d/atd stop"

Reference

monit
http://www.tildeslash.com/monit/

via

ウノウラボ Unoh Labs: プロセスの監視を行う デーモン monit
http://labs.unoh.net/2008/03/_monit.html

壊れたHDDからデータを取出す方法

準備

umount して作業する.
起動しない,または umount できなければ,別PCに接続して作業する.

ddコマンドの実行

/dev/hdb3 を hdb3.imgにイメージファイルとして保存する.

# dd if=/dev/hdb3 of=hdb3.img bs=512 conv=noerror,sync


イメージファイルにfsck

$ fsck hdb3.img


エラー修復後のイメージファイルをマウントする

# mount -o


Reference

ぴょぴょぴょ? - 壊れたHDDからデータを取出す方法
http://d.hatena.ne.jp/pyopyopyo/20061118/p1

Linuxでネットワークスループットを改善する

/etc/sysctl.conf

net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_syncookies = 1
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

sysctlのすべての項目と値を表示

# sysctl -a


sysctlの項目を指定して表示

# sysctl -q net.ipv4.tcp_window_scaling


rebootしないで有効化

# sysctl -p /etc/sysctl.conf


項目を指定して有効化 (rebootで元に戻る)

# sysctl -w net.ipv4.tcp_window_scaling=1


Reference

builder by ZDNet Japan - Linuxのネットワークスループット改善法教えます
http://builder.japan.zdnet.com/news/story/0,3800079086,20365515,00.htm

vsftpd で接続ユーザ制限

/etc/vsftpd/vsftpd.conf

# /etc/vsftpd.user_listを使用しない
# /etc/vsftpd.ftpusersで指定したユーザを拒否する
userlist_enable=NO

# /etc/vsftpd.user_listで指定したユーザのみログインを許可する
# /etc/vsftpd.ftpusers で指定したユーザは,認証でエラーとなる
userlist_enable=YES
userlist_deny=NO

# /etc/vsftpd.user_listで指定したユーザのみログインを拒否する.
# /etc/vsftpd.user_listで指定されていないユーザはログインを許可する.
# /etc/vsftpd.ftpusers で指定した場合,パスワードの入力は求められるが,接続は拒否する
userlist_enable=YES
userlist_deny=YES

Reference

vsftpd(RedHat9)
http://www.aritia.org/hizumi/dsl/page_23.htm

FreeNX - リモートデスクトップ

apt-line

/etc/apt/sources.list

deb http://kanotix.com/files/debian unstable main

Install

# apt-get install freenx


Setup

# nxsetup --install


Reference

FreeNX - the free NX
http://freenx.berlios.de/

NoMachine NX - Download the NX Terminal Server and Remote Access Software
http://www.nomachine.com/download.php

FreeNX - PukiWiki
http://tidus.ultimania.org/wiki/index.php?FreeNX

@IT - FreeNXでLinuxをリモート操作するには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/926usefreenx.html

Ubuntu Japanese Team - 2005-07-29 - NoMachine NX ClientとFreeNXを利用したシンクライアントシステム
http://www.ubuntulinux.jp/News/News20050729/

via

GIGAZINE - 2006-09-08 - VNCよりも高速で遠隔操作できる「FreeNX」
http://gigazine.net/index.php?/news/comments/20060908_freenx/