2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ubuntuサーバーのチートシート

Last updated at Posted at 2022-09-26

概要

Ubuntuサーバー使うと思って、HP見たらこんなのがあったのでありがたく使った。

https://assets.ubuntu.com/v1/f401c3f4-Ubuntu_Server_CLI_pro_tips_2020-04.pdf
image.png

これの日本語訳をして備忘録にします。

内容

以下が基本的なコマンドです。

ネットワーク

すべてのインターフェースの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に生かせそう!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?