概要
Ubuntuサーバー使うと思って、HP見たらこんなのがあったのでありがたく使った。
https://assets.ubuntu.com/v1/f401c3f4-Ubuntu_Server_CLI_pro_tips_2020-04.pdf
これの日本語訳をして備忘録にします。
内容
以下が基本的なコマンドです。
ネットワーク
すべてのインターフェースのIPアドレスを見る
networkctl status
ホストに割り当てられたすべてのIPアドレスを見る
hostname -I
インターフェースを有効化、無効かする
ip link set <interface> up
ip link set <interface> down
ファイアウォールのルールを管理する
sudo ufw enable # ファイアウォールを有効化する
sudo ufw status # ルールの一覧表示
sudo ufw allow <port> # ポートの通信を許可する
sudo ufw deny <port> # ポートの通信を禁止する
ネットワーク越しにSSHで接続する
ssh <user>@<host IP>
セキュリティ
誰がログインしているか確認する
w
のパスワードの有効期限を取得する
chage -l <user>
のパスワードの有効期限をセットする
sudo chage <user>
ユーザーアカウントをロックする
sudo passwd -l <user>
ユーザーアカウントのロックを解除する
sudo passwd -u <user>
開いているポートと関連するプロセスを一覧表示する
sudo netstat -tulpn
不正な IP アドレスを自動的に検出して禁止
sudo apt install fail2ban
BANされたIPアドレスの表示
sudo fail2ban-client status
sudo fail2ban-client status <jail>
インストール済みパッケージのサポート状況を取得する
ubuntu-support-status
カーネルのライブパッチを有効にする
sudo snap install canonical-livepatch
sudo canonical-livepatch enable <token>
https://ubuntu.com/livepatch にアクセスして、最大 3 台のマシンの無料トークンを取得してください。
パッケージ
パッケージを検索する
apt search <string>
アップデート可能なパッケージを一覧表示する
apt list --upgradable
利用できるアップデートをすべて実行する
sudo apt update && sudo apt upgrade
Ubuntuのアーカイブからインストールする
sudo apt install <package>
Snapストアからインストールする*
sudo snap install <package>
このファイルを提供するファイルはどれですか?
sudo apt install apt-file
sudo apt-file update
apt-file <filename or command>
ファイル
ファイルを一覧表示する
ls
権限と日時と一緒にファイルを一覧表示する
ls -al
一般的なファイルの操作*
touch <filename> # 空のファイルを作る
echo "<content>" > <filename> # contentをが入ったファイルを作る
echo "<content>" >> <filename> # ファイルにcontentを追加する
cat <file> # テキストファイルを表示する
cp <file> <target filename> # コピーする
mv <file> <target name> # 移動か名前変更する
rm <file> # 消す
mkdir <directory> # ディレクトリを作る
mkdir -p <dir1>/<dir2> # ディレクトリを再帰的に作成する
rm -r <directory> # ディレクトリを再帰的に削除する
locate <q> # 簡単なファイル検索
grep <string> <filename> # ファイルから文字列を検索
grep -Iris <str> <directory> # ディレクトリ内で文字列を再帰的に検索する
ここから上級コマンドです。
ファイル
過去n
分間に変更されたファイルを検索
find <directory> -mmin -<n> -type f
例)find . -mmin -5 -type f
n
番目の列のみを表示
col<n> “<separator>” <filename>
eg. col2 “,” foo.csv
ファイルをページ分割して表示する
less <filename>
最初のn
行を表示する
head -n <n> <filename>
最後のn
行を表示する。
tail -n <n> <filename>
増加するファイルの内容をたどる
tail -f <filename>
ディレクトリをアーカイブに圧縮する
zip -r <target> <source dir> # Zip
tar cvzf <target>.tar.gz <source dir> # tar.gz
アーカイブを解凍する
unzip <zip file> # zip
tar xf <tar.gz file> # tar.gz
ファイルをリモートサーバーにコピーする
scp <filename> <user@server>:<destination>
例)scp config.yaml admin@192.0.0.0:/config
ローカルにファイルをコピーする
scp -r <user@server>:<source> <destination>
例)scp -r admin@192.0.0.0:/config /tmp
システム
カーネルのバージョンを表示する
uname -r
ディスク使用量を取得する
df -h
メモリ使用量を取得する
cat /proc/meminfo
システム時刻を取得する
timedatectl status
システムのタイムゾーンを設定する
timedatectl list-timezones
sudo timedatectl set-timezone <zone>
実行中のすべてのサービスを取得する
systemctl --state running
サービスを開始または停止する
service <service> start/stop
サービスの新しいログを監視する
journalctl -u <service> --since now -f
最近のログインのリストを取得する
last
実行中のプロセスを表示する
htop
ID でプロセスを強制終了する
kill <PID>
プロセス名でプロセスを強制終了
pkill <process name>
コマンドをバックグラウンドで実行する
<command> &
バックグラウンドで動いているコマンドを表示する
jobs
n
番目のコマンドを最前面に移動する
fg <n>
Kubernetesとコンテナ
MicroK8 をインストールし、利用可能なアドオンを一覧表示する
sudo snap install microk8s --classic
microk8s.status --wait-ready
MicroK8sアドオンを有効にする
microk8s.enable <service>
MicroK8sノードと実行中のサービスを表示する
microk8s.kubectl get nodes
microk8s.kubectl get services
http://microk8s.io/docs で、MicroK8 のその他のヘルプを参照してください。
LXD コンテナを起動する
lxd init
lxc launch ubuntu:18.04 <container name>
(別のディストリビューション)
lxc launch images:centos/8/amd64 <container name>
LXDコンテナのシェルを取得する
lxc exec <name> -- /bin/bash
ファイルをLXDコンテナにプッシュする
lxc file push <filename> <container name>/<path>
LXD コンテナーからファイルをプルする
lxc file pull <destination> <container name>/<file path>
http://linuxcontainers.org/lxd でのその他のLXDヘルプを読んでください
仮想化
MultipassをインストールしてUbuntu VMを起動する
sudo snap install multipass --classic
multipass launch <image> --name <VM name>
<image>
を省略すると、最新のUbuntu LTSでVMが起動されます。
利用可能な画像を探す
multipass find
既存のVMを一覧表示する
multipass list
VM内のシェルを取得する
multipass shell <VM name>
マルチパスのその他のヘルプはこちら。 http://discourse.ubuntu.com
OpenStack
OpenStack をインストールしてインスタンスを起動する
sudo snap install microstack --classic
sudo microstack.init
microstack.launch
Horizon ダッシュボードは10.20.20.1
で利用可能です
デフォルトの認証情報は: admin
/ keystone
http://microstack.run/docs でMicroStackのその他のヘルプが見られます。
感想
知らないコマンドがたくさんありました。
とても面白かったです。
実務以外にもCTFやHardeningに生かせそう!