uX03.管理コマンド(必須コマンドのみ)

uX03.管理コマンド(必須コマンドのみ)

TCPポートの空き状況を調べる
root@aso:/home/guest# ss -pant
State    Recv-Q    Send-Q        Local Address:Port        Peer Address:Port    Process
LISTEN   0         4096          127.0.0.53%lo:53               0.0.0.0:*        users:(("systemd-resolve",pid=591,fd=14))
LISTEN   0         128                 0.0.0.0:22               0.0.0.0:*        users:(("sshd",pid=702,fd=3))
LISTEN   0         244                 0.0.0.0:5432             0.0.0.0:*        users:(("postgres",pid=859,fd=5))
LISTEN   0         70                127.0.0.1:33060            0.0.0.0:*        users:(("mysqld",pid=944,fd=21))
LISTEN   0         151                 0.0.0.0:3306             0.0.0.0:*        users:(("mysqld",pid=944,fd=33))
ESTAB    0         96           192.168.56.200:22          192.168.56.1:50239    users:(("sshd",pid=1233,fd=4),("sshd",pid=1109,fd=4))
LISTEN   0         100                       *:8080                   *:*        users:(("java",pid=655,fd=37))
LISTEN   0         511                       *:80                     *:*        users:(("apache2",pid=727,fd=4),("apache2",pid=726,fd=4),("apache2",pid=725,fd=4))
LISTEN   0         128                    [::]:22                  [::]:*        users:(("sshd",pid=702,fd=4))
LISTEN   0         244                    [::]:5432                [::]:*        users:(("postgres",pid=859,fd=6))
root@aso:/home/guest#

自分のIPアドレスを調べる
root@aso:/home/guest# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:9e:f2:71 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.200/24 brd 192.168.56.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe9e:f271/64 scope link
       valid_lft forever preferred_lft forever
root@aso:/home/guest#

プロセスの一覧を見る
Ubuntuでは最初の一撃(PID 1)が /sbin/init になっています。
root@aso:/home/guest# ps aux | head
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  1.3  1.0 166352 11840 ?        Ss   13:54   0:02 /sbin/init
root           2  0.0  0.0      0     0 ?        S    13:54   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   13:54   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   13:54   0:00 [rcu_par_gp]
root           5  0.0  0.0      0     0 ?        I<   13:54   0:00 [slub_flushwq]
root           6  0.0  0.0      0     0 ?        I<   13:54   0:00 [netns]
root           7  0.0  0.0      0     0 ?        I    13:54   0:00 [kworker/0:0-cgroup_destroy]
root           8  0.0  0.0      0     0 ?        I<   13:54   0:00 [kworker/0:0H-events_highpri]
root           9  2.4  0.0      0     0 ?        I    13:54   0:04 [kworker/u2:0-flush-253:0]
root@aso:/home/guest#



デーモン(daemon)--サービス
デーモンとは各種サービスを提供するためにバックグラウンドで動く特別なプロセスのことです。
つまりユーザからは見えないところでひっそりと働いています。
ちなみに「デモン(悪魔)」の綴りはdemon

「デーモン(守護神)は目には見えないが常に我々の側にいて意思を働かせている --ソクラテス」

典型的なデーモンは名前の際語尾に「d」がつきます。(例.httpd,sshd,telnetd....)
WindowsServiceはデーモンと同様の動きをしています。

Ubuntuでは、デーモンの制御をsystemdにて行います。
具体的なコマンドとしては、systemctlコマンドを利用して起動(start)、停止(stop)、状態確認(status)などを行います。
また、Ubuntuに登録されているデーモンのOS起動時の自動起動の有効化、無効化を設定できます。

デーモン(例:ufw)のOS起動時の設定
今回は設定することはありません。
# systemctl disable ufw        起動時ファイヤウォール OFF
# systemctl enable ufw       起動時ファイヤウォール ON
# systemctl list-unit-files 起動時デーモンの確認

起動デーモンの確認例
guest@aso:~$ systemctl list-unit-files | grep ufw
ufw.service                                enabled         enabled
guest@aso:~$ systemctl list-unit-files | grep apache2
apache2.service                            enabled         enabled
apache2@.service                           disabled        enabled
guest@aso:~$ systemctl list-unit-files | grep tomcat9
tomcat9.service                            enabled         enabled
guest@aso:~$ systemctl list-unit-files | grep mysql
mysql.service                              enabled         enabled
guest@aso:~$ systemctl list-unit-files | grep postgresql
postgresql.service                         enabled         enabled
postgresql@.service                        indirect        enabled
guest@aso:~$

デーモン(例:ufw)の制御
# systemctl status ufw  状態管理
# systemctl restart ufw  再起動
# systemctl start ufw   起動
# systemctl stop ufw   停止

以下にUbuntuにおけるfirewallのデーモンである ufw の管理方法の例を示します。

○ファイヤーウォール(fufw)の状態確認
root@aso:/home/guest# systemctl status ufw
ufw.service - Uncomplicated firewall
     Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: e>
     Active: active (exited) since Sun 2024-03-17 13:54:14 JST; 12min ago
       Docs: man:ufw(8)
    Process: 524 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0>
   Main PID: 524 (code=exited, status=0/SUCCESS)
        CPU: 4ms
Mar 17 13:54:14 aso systemd[1]: Starting Uncomplicated firewall...
Mar 17 13:54:14 aso systemd[1]: Finished Uncomplicated firewall.
root@aso:/home/guest#
root@aso:/home/guest# ufw status verbose
Status: inactive
root@aso:/home/guest#

現在ufwは起動している状態ですが、設定は無効になっています。ufw enable で設定を有効にできますが、今回は行いません


圧縮と展開
jarコマンドがzipコマンドと同様に操作することができます。
圧縮:jar -cvf homeguest.zip .
展開:jar -xvf homeguest.zip


システムの停止