Ubuntu」タグアーカイブ

Ubuntu セキュリティ関連設定

SSH

以下設定時適宜、再起動
service ssh restart
し、さらに設定の確認をする。
sshd -t

ポートの変更

sudo vim /etc/ssh/sshd_config
Port
22 -> 2299

ufwの変更(既に設定していたら)
ufwの設定はここ

sudo ufw status
sudo ufw delete xxx

sudo ufw limit from 192.168.102.0/24 to any port 2299
sudo ufw limit from 192.168.103.0/24 to any port 2299

ルートを弾く

sudo vim /etc/ssh/sshd_config
PermitRootLogin
prohibit-password -> no

パスワード認証を切る

sudo vim /etc/ssh/sshd_config

PasswordAuthentication
コメントを外して
yes -> no

ChallengeResponseAuthentication
noなら問題なし

GSSAPIAuthentication
コメントを外して
noなら問題なし

秘密鍵・公開鍵作成
ssh-keygen -t rsa

ファイル名を聞かれるのid
パスフレーズも聞かれる。ここではとりあえず付けない。

秘密鍵:idと公開鍵:id.pubが生成される。

公開鍵の内容は
.ssh/authorized_keys
に記載する必要がある。

公開鍵を移動、配置
mv id.pub ./.ssh

.ssh配下にauthorized_keysがない場合
mv id.pub authorized_keys

ある場合
cat id.pub >> authorized_keys
rm id.pub

パーミッション変更
chmod 600 authorized_keys

秘密鍵はローカルに保存しTeraTermのフォルダへ入れる。
名前は変えてしまってOK

TeraTermから接続
connect ‘192.168.xxx.xxx:2299 /ssh /2 /auth=publickey /user=xxx /keyfile=xxx’

接続ユーザを限定
sudo vim /etc/ssh/sshd_config
以下追記
AllowUsers okamura

このようなスクリプトで確認すると、ufwのログで見るとちゃんと弾いているのが分かる。

SSHGuradインストール

sudo apt-get install sshguard

これだけでok。自動起動は有効になっている

もし有効を中止する場合
sudo update-rc.d sshguard disable(enable)

LogWatchインストール

sudo apt-get logwatch

設定ファイル
/usr/share/logwatch/default.conf/logwatch.conf

確認方法
logwatch –range today

Ubuntuでの自動起動について

サービスの自動起動について(スタートアップ)

sysv-rc-conf

インストール
sudo apt-get install sysv-rc-conf

グラフィカルな設定
sudo sysv-rc-conf

自動起動できているか。
sudo sysv-rc-conf -list | grep xxx

サービスを自動起動へ設定
sudo sysv-rc-conf xxx on

自動起動オフ
sudo sysv-rc-conf xxx off

起動スクリプトの場所(sysvinit)

/etc/init.d/
の中がスクリプト実体。

/etc/の中に
rc.local (ホスト固有の設定)
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
rc6.d
rcS.d
があり、ここにシンボリックを置いておく。

これらの0~6はOSが起動しているrunlevelの時に
対応していて、そのフォルダのスクリプトが読まれる。

SoftEtherをUbuntuとWinにインストール

SoftEtherを使うとき、自動で立ち上げるのに、
/etc/rc.local
の中に
/home/okamura/vpnserver/vpnserver start
と書いてしまった。

ランレベル

0:システム停止
1:シングルユーザモード
2:ローカルマルチユーザモード(NFSなどはなし)
3:フルマルチユーザモード(テキストコンソール)
4:未使用
5:フルマルチユーザモード(グラフィカル環境)
6:システム再起動

init.d 起動と service 起動の違い
/etc/init.d/xxxx start
は環境変数が引き継がれる。
service xxxx start
はPATH,TERM,LANGが引き継がれる。

SoftEtherをUbuntuとWinにインストール

WindowsにServerとClient

SoftEther VPN Serverをダウンロードする。
インストールするソフトウェアで”SoftEther VPN Server”を選択する。
管理者パスワードを設定する。(ユーザーのパスワードとは別なので注意)
リモートアクセス VPN サーバーを選択する。
仮想HUB名を設定する。(特に変更の必要なし)
ダイナミック DNS ホスト名を変更する。
IPsec,L2TP,EtherIP,L2TPv3はチェックしない。
VPN Azureを有効にする。
ユーザーを作成する。
ローカルブリッジで、LANカードを選択する。
SoftEther VPN サーバー管理マネージャを起動し、”接続設定の編集”から、”管理者パスワードを保存しない”にチェックする。
接続設定名を変更し、”このコンピュータ(localhost)に接続(443ポート)”にチェックする。

Clientの設定

SoftEther VPN Clientをダウンロードする。
インストールするソフトウェアで”SoftEther VPN Client”を選択する。
新しい接続を作成を実行し、仮想LANカードを作成する。
仮想LANカードにIPを設定する。(現在利用しているのとは別ネットワーク)
新しい接続を作成。ダイナミックDNSのIPを指定し、ポートを443に仮想HUBを自動で表示される。
サーバーで作成したユーザー、パスワードを入力する。
高度な通信設定で、コネクション(8本)&(SSL接続)&(データ圧縮)を指定する。
接続し、スタートアップ接続を指定する。

常時起動しているPCは、接続中の画面とエラー画面を非表示にチェックし、
再接続の時間を、3600秒(1時間)へ設定する。

UbuntuにServer

wget http://jp.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Server/32bit_-_Intel_x86/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x86-32bit.tar.gz

tar -zxvf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x86-32bit.tar.gz

cd vpnserver

make

もしmakeで落ちるなら、
sudo apt-get install build-essential
を実行してみる。

sudo ./vpnserver start

仮想ブリッジの作成

まず、追加設定を読む。br0の仮想ブリッジは最終的には利用していない。

sudo apt-get install bridge-utils

/etc/network/interfacesの編集し、

ここでの設定した内容に以下を追加。

service networking restart

Win端末からSoftEther VPN Server Manager for Windowsを実行

接続名は適当
ホスト名はUbuntu側のIP
ポートは1194
であとはそのまま接続。

管理者パスワードを設定する指示があり、
簡易セットアップが開くので、リモートアクセスVPNサーバーにチェックして次へ。

仮想HUBを聞かれるのでそのままVPNで、
次のページに表示されるダイナミックDNS情報メモしておく。

次のIPsecはそのままOK。

次のVPN Azureは無効でもいいけど、ここでは有効にして、
ホスト名をメモしておく。

次のページでユーザ作成をおこなう。
ユーザ名を入力して、認証をパスワードにし、パスワードを入力してOK。

ローカルブリッジ設定を開き、仮想HUBを選択して、
新しいtapデバイスとのブリッジ接続で、追加する。
デバイス名は、ここではvpnとした。

以下のコマンドを実施(しなくても繋がった?)
sudo brctl addif br0 tap_vpn

Ubuntuにつなぐクライアントの設定

今回Winのクライアント.

仮想LANカードを作成しIPは192.168.103.2

新しい接続で、ホスト名にダイナミックDNSのIP、
或いはグローバルIPを入力。参考

ポートは1194

仮想HUBはVPN

ユーザ認証にubunt側で作成したユーザ情報を入力

とりあえずこれでつながる。

/etc/rc.local に vpnserver のスタートを追記しておく。

こちらも参考

追加設定

br0に違うセグメントのアドレス(103)を固定しているのに、
vpnserver側のセグメント(102)が見える。

少し考えて。

brctl showとすると、br0というブリッジができており、interfaceはtab_vpnとなっている。

そもそも、tapデバイスがvpnserver側の内部(ubuntu)と通信できない?と考え、
tap_vpnをブリッジ(br0)してbr0にipを固定していた。
(vpnserverの実際のnicとtapデバイスをブリッジ(br0)するという説明が多いので、後々調べる予定)

今回はvpnserver機だけクライアントから見えればいいので、もっと単純に考え、
tapデバイス(仮想lanカードのようなもの?)については、
softether側でsoftetherの仮想hubとtapデバイスでブリッジが作成されているのだから、
tapデバイスに103のセグメントで固定アドレスをすれば解決なのでは?

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
address 192.168.102.15
netmask 255.255.255.0
gateway 192.168.102.1
dns-nameservers 192.168.102.1
wpa-ssid xxx
wpa-ap-scan 1
wpa-key-mgmt WPA-PSK
wpa-psk xxx

auto tap_vpn
iface tap_vpn inet static
address 192.168.103.1
netmask 255.255.255.0

予想通り、これで繋がった。
ただ、これでもクライアントからvpnserver側のセグメント(102)が見える。

ip6を無効

/etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
sudo sysctl -p

APIPAの無効化

ネット上だとcentばかりでubuntuはほとんどなかったが、

/etc/networks
をコメントアウトすると表示が変わる。

sudo route del -net 169.254.0.0 netmask 255.255.0.0
かあるいは、
sudo route del -net link-local netmask 255.255.0.0
で消えた。

この時点でもvpnserver側のセグメント(102)が見えるが、
そもそも、クライアントからnet viewすると見えるので、
IP云々よりWinのブラウズリストの関係かと思う。

恐らく、WINSサーバがいなければブロードキャストで通信するので、
プロトコルを調べてufwで弾くことに。

ファイアーウォール(ufw)で設定

/etc/default/ufw
IPV6=no

重複ナンチャラがでるので、
sudo rm apache2-utils.ufw.profile
を削除。

sudo ufw status
状態確認

sudo ufw enable
有効化

sudo ufw reload
リロード

ufw delete 1
ルール削除の場合。

以下、ルール追加
sudo ufw limit from 192.168.102.0/24 to any port 22

sudo ufw allow 137/udp
(これをやらないとwinのブラウジングが止められる)

sudo ufw allow 138/udp
sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
(sambaで必要)

137/UDPが原因だった。とりあえずこれで解決。

sudo ufw allow 80/tcp
sudo ufw allow 3000/tcp
(rails用)

ログのパス(syslogにでているけど)
/var/log/ufw.log

iptables: Chain already existsとエラーがでる場合。
sudo ufw disable
sudo iptables -F
sudo iptables -X
sudo ufw enable

ファイルのアクセス権限設定

ps -aux
で表示された、vpnserverのプロセスを落とす

vpnserverに移動する。
sudo chmod 600 *
sudo chmod 700 vpncmd
sudo chmod 700 vpnserver

UbuntuでのIPアドレス固定化

route -n
ゲートウェイチェック。

ifconfig
DHCPのアドレスとマスクを確認。

cat /etc/resolv.conf
DNSネームサーバ

nameserver 127.0.1.1
のように自PCになっている場合あり。

デフォルト設定だと NetworkManager が有効になっていて、
dnsmasq が DNS キャッシュサーバーとして動いている模様。

NetworkManager(ネットワーク切り替え補助)

/etc/network/interfaces
に以下を追記する。

auto wlan0
iface wlan0 inet static
address 192.168.102.15
netmask 255.255.255.0
gateway 192.168.102.1
dns-nameservers 192.168.102.1
wpa-ssid xxx
wpa-ap-scan 1
wpa-key-mgmt WPA-PSK
wpa-psk xxx

有線の場合等
auto eth1
iface eth1 inet static
address 192.168.102.100
netmask 255.255.255.0
gateway 192.168.102.1
dns-nameservers 192.168.102.1

loとはローカルループバック
autoとは自動接続

再度読み込む場合(上手く行かないことが多い)
sudo service networking restart
sudo service network-manager restart

UbuntuでLogicool TrackMan Marble

ずっと前の設定で詳細は忘れた。また使う時に更新予定。

xorg.conf

Section “InputClass”
Identifier “Marble Mouse”
MatchProduct “Logitech USB Trackball”
MatchIsPointer “on”
MatchDevicePath “/dev/input/event*”
Driver “evdev”
#Option “ButtonMapping” “1 2 3 4 5 6 7 2 2”
Option “ButtonMapping” “1 2 3 4 5 6 7 2 8”
Option “EmulateWheel” “true”
Option “EmulateWheelButton” “3”
#Option “ZAxisMapping” “4 5”
#Option “Emulate3Buttons” “false”
EndSection

Ubuntuのキーバインド変更(xmodmap)

キーバインドはWindowsと同等にする。

xmodmap -pke > .xmodmap_def
このファイルを改造してリセット用のファイルを作成する。

先頭に以下を追加
clear shift
clear lock
clear control
clear mod1
clear mod2
clear mod3
clear mod4
clear mod5

末尾に以下を追加
add shift = Shift_L
add shift = Shift_R
add lock = Eisu_toggle
add control = Control_L
add control = Control_R
add mod1 = Alt_L
add mod1 = Alt_R
add mod1 = Meta_L
add mod2 = Num_Lock
add mod4 = Super_L
add mod4 = Super_R
add mod4 = Super_L
add mod4 = Hyper_L
add mod5 = ISO_Level3_Shift
add mod5 = Mode_switch

コンソールからxevを実行してキーコードを調べる。

xmodmap -pm でモディファイを確認しておく。(xmodmap -pke で割り当ての一覧)

keycode xxx  = キーシム 1 2 3 4 5 6 となる。

1: そのキーだけを押した時の出力
2: Shiftで修飾の出力。
3: mod2で修飾の出力。
4: Shift+mod2で修飾の出力。

モディファイキーを移動する場合、モディファイから削除しておく。
remove control = Control_L等

移動後、再度追加。
add control = Control_L等

最終的に以下のように設定。

注意点として、xmodmapを繰り返すと、一度摘要された設定に再度設定するので、半角/英数などの部分でエラーになってしまう。defを一度実行すれば大丈夫。

WinがAutohotkeyで対応している部分は後々考える。

自動起動について

こちらも参考

/etc/rc.local に xmodmap ~/.xmodmap
.profile に xmodmap .xmodmap
等に書いてもダメ。unable to open displayになってしまう。

GUI側のターミナルで、echo $DISPLAY とすると、:0 と表示されるので、
.profileには
export DISPLAY=”:0″
xmodmap .xmodmap
の2つを追記する。

これで一応SSHから入るとxmodmapが読み込まれるようだが、GUI側のターミナルを開いただけでは読まれない模様。(上記2行を/etc/profileに書いても同じ症状)
SSHで入ると、GUIの方にもxmodmapが読み込まれるようだけど。

GUIの自動起動に追加してみる。

~/.config の中に autostart フォルダを作成する。
(全ユーザ共通は /usr/share/gnome/autostart となる)
そのフォルダの中にファイルを作りファイル名は *.desktop とする。

ファイルの中に
[Desktop Entry]
Exec=xmodmap .xmodmap
Type=Application
を書いておく。

これで問題なく動いた。

作るタイミングによっては自動で.xmodmapを検出して自動起動するか確認される場合もあって気がするが、今回はなかった。

1 /etc/profile 全ユーザ共通。
2 .bash_profile なくてもいい。
3 .bash_login 上記2がない場合読まれる。なくてもいい。
4 .profile  上記2,3が無い場合読まれる。なくてもいい。
5 .bashrc シェルごとに読まれる。

mountした共有フォルダにrsyncとcrontabでバックアップ設定

UbuntuでUSBメモリのマウント、アンマウント、フォーマット

Ubuntuのファイルを別PC(Win)に接続してバックアップ

sudo apt-get install cifs-utils(ないとエラー)

sudo mount -t cifs -o user=s.okamura,password=1234 //192.168.102.4/Desktop /mnt/LIFEBOOK-A
mountは自動でマウントされない。

sudo umount /mnt/LIFEBOOK-A
アンマウント

自動接続するためには、
/etc/fstab
に記述する。

//192.168.102.4/Desktop /mnt/LIFEBOOK-A cifs username=s.okamura,password=1234 0 0

1列目: デバイス名
2列目: マウントポイント
3列目: ファイルシステム
4列目: マウント時のオプション
5列目: ファイルシステムをdumpするかどうか。0はdump不要
6列目: システム起動時のfsckチェック。0はチェックを行わない。
    ルートファイルシステムでチェックは1。ルートファイルシステム以外でチェックは2。

sudo mount -a
でfstabが正しいかどうか試験できる

crontab

crontabコマンドはユーザ毎のcronで、
/var/spool/ユーザー名
毎に管理されるもよう。

基本コマンド

一覧
crontab -l

設定がなければ、crontab -e
で作成。

削除
crontab -r

編集
crontab -e

-eを実行するとエディタの選択が表示されるのでvimを選び、追加する。
0 * * * * /home/user/share/b
のような感じで追加する。

ファイル構造(不要)

システム全体の設定ファイル
/etc/crontab 
ここのファイルから、
毎時実行
/etc/cron.hourly 
毎日実行
/etc/cron.daily
毎週実行
/etc/cron.weekly
毎月
/etc/cron.monthly
を引っ張ってきている模様。

システム全体の設定ファイルのディレクトリ
/etc/cron.d

/etc/anacrontab
cronとは別のジョブ管理で遅延実行で
管理の粒度が1日単位らしい。

今回は、/etc/cron.dの中にファイルを作る。

rootで644にする。

記述方法

分 時 日 月 曜日 [実行ユーザ] 実行コマンド

となる。

*/5 * * * * root rsync -a –delete /home/okamura/f/ /mnt/LIFEBOOK-A/ThinkPad-SL510-backup

ここで、 * */1 * * * とすると1分毎になるので注意(スラッシュはその間隔で実行)なので、
1時間毎であれば、0 * * * * のようにすればOK。

記載の数字は間隔ではなく、その記載の数字の時刻に実行され、アスタリスクは、単位毎の意味、
右から見ていって有効な数字があるとその単位毎になっていく。

状態確認
sudo service cron status

ログ確認
cat /var/log/syslog 

rsync

rsync オプション コピー元 コピー先
コピー元で最後/があるとフォルダの中身だけ、/がないとフォルダ自身も含めてとなる。

共有にバックアップでフルアクセスにしたい場合、
rsync -p –chmod=a+rwx -r src dst
chmodとpが必要でハマった。

送信元に無いファイルを削除、特定のファイルを除外する場合、
–exclude=’xxx’ –delete

lsyncd

sudo apt-get install lsyncd
lsyncd -version
バージョンによって設定方法が変わっている。

sudo mkdir /etc/lsyncd

sudo vim /etc/lsyncd/lsyncd.conf.lua
設定ファイルは、
/etc/init.d/lsyncd
を見るとパスが分かる。

settings{
logfile = “/var/log/lsyncd.log”,
statusFile = “/tmp/lsyncd.stat”,
statusInterval = 1,
}
sync{
default.rsync,
delay = 0,
source=”/home/okamura/test/”,
target=”/home/okamura/test2/”,
rsync = {
archive = true,
}
}

sudo /etc/init.d/lsyncd start

ps -aux | grep lsyncd
で起動しているか確認

転送先で適当なファイルを削除したあと、転送元フォルダで何か変更をしてlsyncdが動いても、
完全に転送元と転送先で同じ状態にならない。転送先で消したファイルが転送元よりコピーされない。
ただ、lsyncdの起動時やrestart時は同じ状態でも転送元よりコピーされる。
設定の問題なのだろう、後々確認。

 

Sambaのインストール

sudo apt-get install samba

必要なフォルダ作成

mkdir xxx
chmod ugo+rwx /xxx
フルアクセスにする。

設定ファイル

sudo vim /etc/samba/smb.conf

[global]
の中に以下追記。

unix charset=UTF-8
dos charset=CP932

security = user(デフォルト)

ゲストアカウントの許可について、
security=shareはverによってはダメなので、
代替として「security=user」+「map to guest=Bad User」の組み合わせ

securityの選択肢、
security = share パスワードだけ(Samba 3.6.0以降deprecated)
security = domain ドメインコントローラ
security = server ほかのSMBサーバにより
security = ads AD(アクティブディレクトリ)ドメインのドメインコントローラ
などある。

guest account = nobody
ゲストどのLinuxアカウントとして扱うか。

map to guest = bad user (もともと記述済み)
不正なパスワードは拒否だが、ユーザが存在しない場合ゲストとして扱う。

map to guestの選択肢、
Never=不正なパスワードによるユーザーのログイン要求を拒否。
Bad User=指定されたユーザーが存在しなかった場合はguest accountで指定したユーザーとして扱う。
Bad Password=不正なパスワードによるユーザーのログイン要求を guest accountで指定したユーザーとして扱う。

以下を最終行に追加。

[share]
[]は共有名となる。
path = /home/xxx
writable = yes
guest ok = yes (public = yesのエイリアス)
force create mode = 0777 (作成したファイルに付加されるアクセス権)
force directory mode = 0777 (作成したディレクトリに付加されるアクセス権)
share modes = yes (他人が開いているかどうかチェック。verによっては使えない)
vfs objects = recycle (ゴミ箱機能)

ちょっと設定が違うタイプ。

[private]
path = /home/xxx
writable = yes
guest ok = yes
force create mode = 0777
force directory mode = 0777
share modes = yes
vfs objects = recycle
browseable = no

アクセスについて

sambaのアカウントとlinuxのアカウントは別管理される。sambaでフォルダごとのユーザー管理が手間の場合、browseable = noとすると見えなくはなる。

Winから手動アクセスがないのなら、フォルダのアクセス管理で対応するのもひとつ。
chmod ugo+rwx /xxx

起動

testparm
で設定をチェックできる。

sudo /etc/init.d/smbd start
sudo /etc/init.d/nmbd start

Win7では接続できてWin10で接続できないのでWin10で色々やってみた。

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi

を走らせてSMB1とした。

処理後、管理ツール、サービス、Workstation、依存関係から確認できる。
が、接続できない。空のパスワードがダメかと思ったがHOMEのためローカルセキュリティポリシーが使用できないため、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\limitblankpassworduse」
の設定値を0にしてみた。が、接続できない。

そういえばsambaとは関係なく以前も同じような症状があったと思い出し、資格情報マネージャ、Windows資格情報に、ユーザー名:guest、パスワード:空白で追加してみたら繋がった。

設定

comment
共有フォルダのコメント設定。
path
共有したいディレクトリのパス名を設定。
public
パスワードなしでのアクセスを認める。securityをshare以外に設定したときは意味を持たない。
guest ok
ゲストユーザでの接続を許可。
guest only
ゲストユーザのみ接続を許可。
guest account
ゲストとして接続するときのユーザ名を設定。
read only
共有フォルダへの書き込みを許可しない。
writable
共有フォルダに書き込めるように設定。
create mask
共有フォルダに作成されるファイルのパーミッションを3桁で指定。
directory mask
共有フォルダに作成されるディレクトリのパーミッションを3桁で指定。
force user
接続したときのユーザ名を無視して、指定したユーザとして操作。ファイルを作成したときは指定したユーザの所有になる。
browseable
共有フォルダの一覧に表示させる。noを指定すると隠し共有になる。
valid users
指定したユーザだけが利用できる。
invalid users
指定したユーザは利用できない。
write list
指定したユーザだけに書き込みを許可。
hosts allow
指定したホスト(IPアドレスも可)だけに利用を許可する。
hosts deny
指定したホスト(IPアドレスも可)からの利用を拒否する。

CentOSの場合(抜粋)

インストール
yum install samba

インストール確認
systemctl status smb nmb

自動起動
systemctl enable smb nmb

自動起動確認
systemctl is-enabled smb nmb

ファイアーウォール確認
firewall-cmd –list-all

ファイアーウォール追加
firewall-cmd –add-service=samba –permanent

ファイアーウォール再起動
firewall-cmd –reload

設定ファイル
/etc/samba/smb.conf

Vim PHPのdic作成

上記をmkvimdic.phpとして保存。

php mkvimdic.php > php.dict

php.dictが作成される。

autocmd FileType php :set dictionary=~/dict/php.dict

.vimrcに追記する。

 

コマンドメモ Ubuntu

 less

-N
ナンバリング

-F
画面に収まれば自動終了

-R
カラー表示

-X
終了時画面クリアしない

-S
折り返し無し

-s
空白まとめる

-p xxx
文字反転

-O xxx.txt
パイプのみ、閲覧後ファイル保存

less起動後

q
終了

Shift+f (Ctrl+cで通常モード)
自動更新

g, G
先頭、末尾へ移動

j, k
一行の上下

f, b / w, z
一ページの上下

& xxx
xxxのみ表示
&で絞りんこんでShift+fで更新も可能。

/
検索(nで移動)

-S
折り返し無し。(移動は←, →)

テキスト関連

tr -f \r
Win改行を除く

nkf -wd ファイル名
改行をLinux文字コードをUTF-8

nkf -wd –overwrite ファイル名
そのまま上書き

nkf –guess ファイル名
文字コード判定

hexdump -c xxx
改行コード調べる

sed -e “s/,/\n/g”
カンマを改行へ

 aptコマンド

apt-get update
キャッシュの更新

apt-get upgrade
ソフトバージョンアップ

apt-get dist-upgrade
ディストリビューションのアップ

apt-get remove xxx
ソフトの削除

apt-get purge xxx
(apt-get –purge remove xxx)
設定ファイル残らないソフトの削除。

apt-get –purge autoremove
使っていないパッケージ削除(設定ファイルも)

apt-get autoclean
使っていないアーカイブ削除
(キャッシュされているけどインストールしていない.deb)

do-release-upgrade
OSのアップデート

dpkg -l
パッケージの一覧

dpkg -L パッケージ
インストールしたファイル一覧

起動関係

shutdown -h now
終了

shutdown -r now
再起動

プロセス関係

ps aux | grep httpd
プロセスのユーザを確認する。

ps -aux | grep apache
これでプロセス名を確認して
kill xxx
でプロセス終了。

pgrep -l apache
でプロセス番号を探すこともできる。

pkill プロセス名
で複数のプロセスを終了することもできる。

find

find ~ -name “*rc”
ファイル検索

find . -maxdepth 1 -type d | sed -e “s/[^-][^\/]*\// |/g” -e “s/|\([^ ]\)/|-\1/”
ツリー状へ

SCP

scp ./example.tar user@210.123.45.67:/home/user/
example.tarを210.123.45.67に転送。

scp -r ./test username@example.net:/home/username
testディレクトリをexample.netに転送。

秘密鍵を使う場合、
scp -i 秘密鍵 コピーしたいファイルパス 受取先パス

その他

/etc/init.d/networking restart
IPアドレスが消えた場合。

cd –
戻る

ctrl + u
入力中を消す

xxx &
ジョブをバックグラウンドへ

jobs
ジョブ一覧

kill %1
ジョブを消す

source .bashrc
bashの設定変更後

サイズを調べる

df -h
デバイスのサイズ

du -h /var/
特定フォルダ以下のサイズ(階層指定の場合 du -h –max-depth=1 / )