Linuxセットアップ後にすること・・



●CentOS Stream 9のインストール後にしたこと

 CentOS Stream 9をインストールした後の設定した内容を記載します。

 ホスト名の設定

 ホスト名を設定/再設定するには、以下のようにします。

1.コマンドで変更する(ただし、システムを再起動すると元に戻ります。)
# 現在のホスト名を表示
# hostname
localhost.localhost

# ホスト名変更
# hostname centos9-str1.bigbang.dyndns.org
# hostname
centos9-str1.bigbang.dyndns.org
# 変更された

2.恒久的に変更する(その1)
 一度セッションを抜けて再度ログインするとホスト名が変更されます。
# vi /etc/hostname
centos9-str1.bigbang.dyndns.org
# exit
# 変更された

3.恒久的に変更する(その2)
 一度セッションを抜けて再度ログインするとホスト名が変更されます。
# hostnamectl set-hostname centos9-str1.bigbang.dyndns.org
# exit
# 変更された


 固定IPアドレスの設定等

 nmcliコマンドを使用して設定します。
 OSによってはnmtuiコマンドが利用できます。
# ホスト名設定
# hostnamectl set-hostname centos9-str1.bigbang.dyndns.org

# デバイス確認
# nmcli device
DEVICE  TYPE      STATE     CONNECTION 
ens192  ethernet  接続済み  ens192     
lo      loopback  管理無し  -- 

# 固定IPv4アドレス設定
# nmcli connection mod ens192 ipv4.addresses 10.0.0.22/24
または
# nmcli c mod ens192 ipv4.addresses 10.0.0.22/24

# ゲートウェイ設定
# nmcli connection mod ens192 ipv4.gateway 10.0.0.1
または
# nmcli c mod ens192 ipv4.gateway 10.0.0.1

# 参照先DNS設定
# nmcli connection mod ens192 ipv4.dns 10.0.0.5,10.0.0.12
または
# nmcli connection mod ens192 ipv4.dns 10.0.0.5,10.0.0.12

# IP固定割り当てに設定 (DHCP は [auto])
# nmcli connection mod ens192 ipv4.method manual
または
# nmcli c mod ens192 ipv4.method manual

# インターフェースを再起動して設定を反映
# nmcli connection down ens192; nmcli connection up ens192
または
# nmcli c down ens192; nmcli connection up ens192
接続 'ens192' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/1)
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/2)

# 設定確認
# nmcli device show ens192
GENERAL.DEVICE:                         ens192
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         02:0B:64:H2:4F:42
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (接続済み)
GENERAL.CONNECTION:                     ens192
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER:               オン
IP4.ADDRESS[1]:                         10.0.0.22/24
IP4.GATEWAY:                            10.0.0.1
IP4.ROUTE[1]:                           dst = 10.0.0.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 10.0.0.1, mt = 100
IP4.DNS[1]:                             10.0.0.5
IP4.DNS[2]:                             10.0.0.12
IP6.ADDRESS[1]:                         2408:210:c826:f900:4b1c:51f3:2aec:5939/64
IP6.ADDRESS[2]:                         fe80::2cfe:1015:1b5d:6b2a/64
IP6.GATEWAY:                            fe80::225:36ff:fe72:3476
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]:                           dst = 2408:210:c826:f900::/64, nh = ::, mt = 100
IP6.ROUTE[3]:                           dst = ::/0, nh = fe80::225:36ff:fe72:3476, mt = 100
IP6.ROUTE[4]:                           dst = ff00::/8, nh = ::, mt = 256, table=255
IP6.DNS[1]:                             2408:210:c826:f900:225:36ff:fe72:3476

# 接続確認
# ip addr show
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: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:0B:64:H2:4F:42 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.22/24 brd 10.0.0.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 2408:210:c826:f900:4b1c:51f3:2aec:5939/64 scope global dynamic noprefixroute 
       valid_lft 13277sec preferred_lft 11477sec
    inet6 fe80::2cfe:1015:1b5d:6b2a/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever


 virbr0無効化

 virbr0を無効にします。
# virsh net-destroy default 
# virsh net-autostart default --disable 
 下記コマンドを実行して、
# ip addr show
 virbr0の情報が表示されなければ、設定完了です。

 IPv6無効化

 IPv6を使用する予定がない場合は、無効にしておきます。
# vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.enp0s3.disable_ipv6 = 1

# shutdown -r now
 再起動後、ip aでIPv6に関する情報を確認します。もし、残っている場合、下記を実行します。
# nmcli connection modify ens192 ipv6.method ignore
 ip aで確認して、無効になっていればOKです。
 IPv6を無効化後、Postfixを利用する場合、下記のように設定変更します。
# vi /etc/postfix/main.cf
# Enable IPv4, and IPv6 if supported
#inet_protocols = all ← #を付加
 ↓
inet_protocols = ipv4 ← ipv4に変更

# systemctl restart postfix


 以前、使用していた方法は下記のとおりです。
# vi /etc/default/grub
# 7行目: 追記
GRUB_CMDLINE_LINUX="ipv6.disable=1 resume=/dev/mapper/fedora-swap.....

# 変更を反映
# grub2-mkconfig -o /boot/grub2/grub.cfg
# reboot 


 ーーーーーーーーーー 下記は古い設定方法です。 ーーーーーーーーーー

 ホスト名を設定し、ネットワークの設定を固定IPアドレスに変更しておきます。(「ifcfg-xxx」の箇所は環境によって異なるため、自身の環境に読み替えてください ) # ifconfig, netstat 等のコマンド群をインストールしておく
# yum -y install net-tools
# vi /etc/hostname
# ホスト名追記
fedora20.bigbang.dyndns.org
# vi /etc/sysconfig/network-scripts/ifcfg-em1
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="em1"
UUID="832739d2-9a95-47af-b86e-550e5ac9d2f3"
ONBOOT="yes"
HWADDR=00:1E:0B:30:0E:8F
IPADDR0=10.0.0.9 サーバに割り当てるIPアドレス
PREFIX0=24 プレフィックス
GATEWAY0=10.0.0.254 デフォルトゲートウェイ
DNS1=10.0.0.12 DNSサーバーのIPアドレス1つ目
DNS2=10.0.0.4 DNSサーバーのIPアドレス2つ目
DOMAIN=bigbang.dyndns.org
  ↑ NetworkManagerが動作していても、/cat/resolv.confにsearchディレクティブを追加させるための対処
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
# systemctl disable NetworkManager.service
rm '/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service'
rm '/etc/systemd/system/multi-user.target.wants/NetworkManager.service'
rm '/etc/systemd/system/network.target.wants/NetworkManager-wait-online.service'
# hkconfig network on
# reboot
# ifconfig
em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.9  netmask 255.255.255.0  broadcast 1.0.0.255
        inet6 fe80::21e:bff:fe30:e8f  prefixlen 64  scopeid 0x20<link>
        ether 00:1e:0b:30:0e:8f  txqueuelen 1000  (Ethernet)
        RX packets 27780  bytes 2101087 (2.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8357  bytes 1156360 (1.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 17  
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 4168  bytes 191860 (187.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4168  bytes 191860 (187.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 必要がなければ、IPv6を無効化します。
# vi /etc/default/grub
GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.lvm.lv=fedora/swap rd.md=0....."
# grub2-mkconfig -o /boot/grub2/grub.cfg
# reboot 

 GNOME Desktopのインストール

 DVDからのインストール時にGNOMEを入れ忘れた場合、下記のように対応します。
# dnf -y group install "Server with GUI"
 起動時にGUIとなるように設定変更しました。
# rm -f /etc/systemd/system/default.target
# ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target


 基本パッケージのインストール

 開発ツールなど、基本的なパッケージをインストールします。
dnf -y groupinstall base
dnf -y groupinstall development


 不要サービスの停止

 不要なサービスを停止します。
systemctl disable --now atd
systemctl disable --now kdump
systemctl disable --now mdmonitor


 cockpitの削除

 cockpitがインストールさてれいる場合、SSHログイン時に下記のようなメッセージが表示されます。
Activate the web console with: systemctl enable --now cockpit.socket
 不要であればcockpitをアンインストールします。上のメッセージが表示されなくなります。
# systemctl disable --now cockpit.socket
# dnf remove -y cockpit
# rm -f /etc/motd.d/cockpit


 ログローテート間隔、回数の変更

 ログローテート間隔、回数の変更を設定します。
●ローテート間隔、回数の変更」を参照して下さい。

 chronyの設定

 chronyを設定します。
●chronyの設定」を参照して下さい。

 Postfixの設定

 Postfixを設定します。
●Posrfixの設定」を参照して下さい。

 サードパーティのリポジトリの追加

 EPEL
# dnf config-manager --set-enabled crb
# dnf -y install epel-release
# dnf -y update
 Remi
# dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
# dnf -y config-manager --set-enabled remi
 RemiリポジトリからPHP8.1 がインストールされるように php:remi-8.1 モジュールをインストールします。
 ※Rocky Linux release 9.1では、RemiをインストールしなくてもPHP8.1をインストールできました。
# dnf -y module reset php
# dnf -y module install php:remi-8.1


 sshd_configの変更

 これまで問題なかったid_dsa鍵でのログインが出来なくなりました。
 調べたところ、下記のように変更したところ解決しました。
# vi /etc/ssh/sshd_config
AuthorizedKeysFile     .ssh/authorized_keys ← のみ読み込む設定となっていた
#AuthorizedKeysFile     .ssh/authorized_keys


 VNC Serverの設定

 「VNCサーバの設定方法」参照

 Webminのインストール

 Webminをインストールするため、webmin.repoを作成します。
# vi /etc/yum.repos.d/webmin.repo
[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1
 CGC KEYがないとインストール出来ないのでWebminからダウンロードします。
# wget http://www.webmin.com/jcameron-key.asc
# rpm --import jcameron-key.asc
# yum install webmin
# /etc/init.d/webmin start
# /etc/init.d/webmin status
 以上で,設定は完了です。

 tcpdumpが出力されない

 ルート権限でtcpdumpを実行しても結果が表示(出力)されない。
tcpdump: WARNING: SIOCGIFADDR: nflog: No such device
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
 調べてみると、インターフェースがこれまでのeth1というこれまで一般的だったものからem1というものにかわっていることによる影響らしい。この場合、インターフェースを指定することにより、これまでとおり出力されるようになります。
# tcpdump -em1


 ロック画面の無効化

 「アクティビティ」-「設定」-「電源」-「省電力」-「ブランクスクリーン」で「しない」を選択します。

 MariaDBの設定

 「MariaDBデータベース設定」参照

 VNC接続後にDISPLAYで定義されていない解像度への変更方法

 設定するにあたり、下記URLを参照しました。
 Fedoraで自動認識していない画面解像度に変更する方法
$ xrandr --version
xrandr program version       1.4.2
Server reports RandR version 1.4
$ xrandr
Screen 0: minimum 32 x 32, current 1280 x 1024, maximum 32768 x 32768
VNC-0 connected primary 1280x1024+0+0 0mm x 0mm
   1920x1200     60.00  
   1920x1080     60.00  
   1600x1200     60.00  
   1680x1050     60.00  
   1400x1050     60.00  
   1360x768      60.00  
   1280x1024     60.00* 
   1280x960      60.00  
   1280x800      60.00  
   1280x720      60.00  
   1024x768      60.00  
   800x600       60.00  
   640x480       60.00  
$ cvt 1400 1024
# 1400x1024 59.93 Hz (CVT) hsync: 63.71 kHz; pclk: 118.75 MHz
Modeline "1400x1024_60.00"  118.75  1400 1488 1632 1864  1024 1027 1037 1063 -hsync +vsync
$ xrandr --newmode "1400x1024"  118.75  1400 1488 1632 1864  1024 1027 1037 1063 -hsync +vsync
$ xrandr --addmode VNC-0 "1400x1024"
$ xrandr --output VNC-0 --mode 1400x1024

 M+IPAフォントのインストール

 デフォルトのフォントよりも綺麗な M+IPA フォントをインストールします。
 公式ページにてさまざまな派生フォントが公開されています。
 ダウンロードしたら、展開して.ttf ファイルを配置します。
# mkdir /usr/share/fonts/migu1m
# unzip migu-1m-20130617.zip
# mv migu-1m-20130617/*.ttf  /usr/share/fonts/migu1m/

 BINDをchrootに対応させるには

 まず、BINDがインストールされていることが条件となります。
# yum -y install bind bind-utils 
 chroot環境にするためbind-chrootをインストールします。
 chroot環境移行後は、/var/named/chroot 配下に設定ファイルが移行されます。例えば named.conf は /var/named/chroot/etc/named.conf, ゾーンの設定ファイルは /var/named/chroot/var/named/xxx となります。各設定ファイルは元の場所にも残りますが、chroot環境移行後に設定を変更する際は chroot配下の方を変更してください。
# yum -y install bind-chroot
# /usr/libexec/setup-named-chroot.sh /var/named/chroot on
# systemctl stop named.service
# systemctl disable named.service
# systemctl start named-chroot.service
# systemctl enable named-chroot.service
ln -s '/usr/lib/systemd/system/named-chroot.service' '/etc/systemd/system/multi-user.target.wants/named-chroot.service'
# ll /var/named/chroot/etc
total 32
-rw-r--r-- 1 root root   331 Dec 17 14:05 localtime
drwxr-x--- 2 root named 4096 Nov 12 22:41 named
-rw-r----- 1 root named 2235 Dec 17 13:48 named.conf
-rw-r--r-- 1 root named 2389 Nov 12 22:41 named.iscdlv.key
-rw-r----- 1 root named  931 Jun 21  2007 named.rfc1912.zones
-rw-r--r-- 1 root named  487 Jul 19  2010 named.root.key
drwxr-x--- 3 root named 4096 Dec 17 14:05 pki
-rw-r----- 1 root named   77 Dec 17 13:56 rndc.key
# ll /var/named/chroot/var/named
total 40
-rw-r--r-- 1 root  root   358 Dec 17 13:53 0.0.192.db
drwxr-x--- 7 root  named 4096 Dec 17 14:05 chroot
drwxrwx--- 2 named named 4096 Dec 17 13:56 data
drwxrwx--- 2 named named 4096 Dec 17 14:06 dynamic
-rw-r----- 1 root  named 2076 Jan 28  2013 named.ca
-rw-r----- 1 root  named  152 Dec 15  2009 named.empty
-rw-r----- 1 root  named  152 Jun 21  2007 named.localhost
-rw-r----- 1 root  named  168 Dec 15  2009 named.loopback
-rw-r--r-- 1 root  root   350 Dec 17 13:51 server.world.lan
drwxrwx--- 2 named named 4096 Nov 12 22:41 slaves


 ネットワークインターフェース名を変更する(Fedora、CentOS 7)

 参考URL:CentOS7でNIC名を任意に変更する

 NetworkManagerを無効化しなくても、問題なくNICの名前を付け替えることができました。
 /usr/lib/udev/rules.d/60-net.rulesが存在しない場合、作成します。
# cat /usr/lib/udev/rules.d/60-net.rules
ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1", PROGRAM="/lib/udev/rename_device", RESULT=="?*", NAME="$result"
 上記の記述により、OS起動時に下記のような処理をするそうです。
 1./lib/udev/rename_deviceを実行
 2./etc/sysconfig/network-script/ifcfg-***というファイルを検索
 3.そのファイルに記載されているHWADDRの値とNICのMACアドレスを比較
 4.一致する場合は同ファイル内のDEVICEの値をNIC名として設定という処理を実行

 eth1を作成したいので、下記のようにします。
# mv /etc/sysconfig/network-scripts/ifcfg-eno1 /etc/sysconfig/network-scripts/ifcfg-eth1
# cat /etc/sysconfig/network-scripts/ifcfg-eth1 
NAME=eth1
DEVICE=eth1
HWADDR=**:**:**:**:**:**
 再起動すると名前が変わっています。

 名前を付け替えることによりデフォルトゲートウェイの設定が消えることがあります。



 下記の方法の場合、意図した名前に付け替えることができない場合がありますので、下記のように変更します。
# vi /etc/sysconfig/network
NETWORKING=Yes
#GATEWAYDEV=eno1
GATEWAYDEV=eth1 ← GATEWAYDEVの値を変更後の名前にする
GATEWAY=192.168.0.254


 サーバ起動時のパラメータにオプションを追加します。
 GRUB_CMDLINE_LINUXのオプションにbiosdevname=0 net.ifnames=0を追記します。
# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/swap rd.md=0 rd.dm=0 vconsole.keymap=jp106 $([ -x /usr/sbin/rhcrashkernel-param ] && \
/usr/sbin/rhcrashkernel-param || :) rd.luks=0 vconsole.font=latarcyrheb-sun16 rd.lvm.lv=fedora/root biosdevname=0 \
net.ifnames=0 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
 grubへ反映させます。
# grub2-mkconfig -o /boot/grub2/grub.cfg 
 OSを再起動すると、インターフェース名がethXで表示されているはずです。CentOSは/etc/udev/rules.d/70-persistent-net.rulesファイルを削除するかSUBSYSTEM行を削除してからOS再起動した方がよいかもしれません。

 ネットワークインターフェース名を変更する(CentOS Stream 8、Rocky Linux 8)

 参考URL:CentOS8 でネットワーク接続名を変更する

 CentOS STream 8 でネットワークの 接続名が「スペースを含むアルファベット」や「日本語」の場合、エスケープが必要だったり、取り回しが不便な場合があります。そのような場合、接続名を変更し扱いやすいように変更してしまいます。
 設定変更は下記の順序で実施します。この順序を間違えると上手く行きません。
  • 新しい接続を作成する
  • 古い接続を削除する
 今回は下記のように接続名を変更します。

デバイス 接続名
eno1 eno1
ens192 ens192

 現在のデバイス情報を確認します。
# nmcli connection show
NAME  UUID                                  TYPE      DEVICE 
eno1  d49412e9-3e4a-ca8c-baa6-ca729a96a88b  ethernet  eno1
 新しい接続を作成します。
# nmcli connection add type ethernet ifname ens192 con-name ens192
 新しい接続が作成されたことを確認します。
# nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
eno1    d49412e9-3e4a-ca8c-baa6-ca729a96a88b  ethernet  eno1
ens192  a8c5cc22-f8cb-7492-dc9c-38ad7caa933a  ethernet
 古い接続情報を削除します。
# nmcli connection delete d49412e9-3e4a-ca8c-baa6-ca729a96a88b
 デバイス情報を確認します。
# nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
ens192  a8c5cc22-f8cb-7492-dc9c-38ad7caa933a  ethernet  eno1
 通常であれば(?)ここでDEVICE名も期待通り(ens192)となります。
 しかし、今回はそのようになりませんでした(DEVICE名がeno1のまま)。

 DEVICE名をeno1に変更してみますが、効果はありませんでした。
# nmcli connection modify ens192 connection.interface-name ens192
 /etc/sysconfig/network-scripts以下にあるネットワーク情報の「DEVICE=」の部分をeno1に変更後、再起動しましたがネットワークが認識されなくなりました。
 MACアドレスとして「**:**:**:**:**:**(eno1)」が残ってしまっていて、どうしてもDEVICE名の変更ができません。
 接続されているネットワークが全く無い状態で「システムツール」→「設定」で新たにネットワークを作成しようとしても「**:**:**:**:**:**(eno1)」を選択せざるを得ない状況です。

 参照したURL NICのデバイス名を固定する

 このため下記を実施しました。
# デバイスのMACアドレス確認
# ifconfig -a
or
# ip address show

# /etc/udev/rules.d/70-persistent-net.rulesを新規作成
# vi /etc/udev/rules.d/70-persistent-net.rules
# デバイスとMACアドレスのマッピングを記載
SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="xx:xx:xx:xx:xx:xx",,NAME="ens192"
"xx:xx:xx:xx:xx:xx" はNICのMACアドレス

# 再起動
# shutdown -r now
 ようやくこれでDEVICE名を変更することができました。

●adobe readerをインストールする

 参照したURL Install Adobe Reader on Fedora 20/19, CentOS/RHEL 7/6.5/5.10
 Linux系ディストリビューションにAdobe Readerをインストールするには下記のようにします。

1.Fedora 20の場合
# cd /usr/local/src
# wget http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i486linux_enu.rpm
# yum install AdbeRdr9.5.5-1_i486linux_enu.rpm
読み込んだプラグイン:fastestmirror, langpacks, refresh-packagekit /home/user/Downloads/AdbeRdr9.5.5-1_i486linux_enu.rpm を調べています: AdobeReader_enu-9.5.5-1.i486 /home/user/Downloads/AdbeRdr9.5.5-1_i486linux_enu.rpm をインストール済みとして設定しています 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ AdobeReader_enu.i486 0:9.5.5-1 を インストール --> 依存性の処理をしています: libpangox-1.0.so.0 のパッケージ: AdobeReader_enu-9.5.5-1.i486 Loading mirror speeds from cached hostfile * fedora: ftp.kddilabs.jp * updates: ftp.tsukuba.wide.ad.jp --> トランザクションの確認を実行しています。 ---> パッケージ pangox-compat.i686 0:0.0.2-3.fc20 を インストール --> 依存性解決を終了しました。 依存性を解決しました ==================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ==================================================================================================== インストール中: AdobeReader_enu i486 9.5.5-1 /AdbeRdr9.5.5-1_i486linux_enu 135 M 依存性関連でのインストールをします: pangox-compat i686 0.0.2-3.fc20 fedora 56 k トランザクションの要約 ==================================================================================================== インストール 1 パッケージ (+1 個の依存関係のパッケージ) 合計容量: 135 M 総ダウンロード容量: 56 k インストール容量: 135 M Is this ok [y/d/N]: y Downloading packages: pangox-compat-0.0.2-3.fc20.i686.rpm | 56 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction (shutdown inhibited) インストール中 : pangox-compat-0.0.2-3.fc20.i686 1/2 インストール中 : AdobeReader_enu-9.5.5-1.i486 2/2 検証中 : AdobeReader_enu-9.5.5-1.i486 1/2 検証中 : pangox-compat-0.0.2-3.fc20.i686 2/2 インストール: AdobeReader_enu.i486 0:9.5.5-1 依存性関連をインストールしました: pangox-compat.i686 0:0.0.2-3.fc20 完了しました!
# rm /usr/local/src/AdbeRdr9.5.5-1_i486linux_enu.rpm

2.CentOS 7の場合
# cd /usr/local/src
# wget http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i486linux_enu.rpm
nppdf.soをダウンロードしたrpmから取り出します。
nppdf.soファイルがどこに存在するのか確認します。
$ rpm2cpio AdbeRdr9.5.5-1_i486linux_enu.rpm | cpio --list | grep nppdf.so
./opt/Adobe/Reader9/Browser/intellinux/nppdf.so
276343 blocks
 ファイルが作業ディレクトリに作成されるので注意してください。
$ rpm2cpio AdbeRdr9.5.5-1_i486linux_enu.rpm | cpio -id ./opt/Adobe/Reader9/Browser/intellinux/nppdf.so
$ cp ./opt/Adobe/Reader9/Browser/intellinux/nppdf.so /usr/lib[64]/mozilla/plugins
$ cp ./opt/Adobe/Reader9/Browser/intellinux/nppdf.so $HOME/.mozilla/plugins
不要なファイルを削除します。
$ rm -rf ./opt/Adobe/Reader9/Browser/intellinux/nppdf.so
 インストールが無事に完了すれば、FirefoxでもAdobe Readerの利用できるようになります。

●adobe flashをインストールする

 http://get.adobe.com/jp/flashplayer/からRPMファイルをダウンロードする。ちなみにダウンロードしたファイルはadobe-release-x86_64-1.0-1.noarch.rpmです。 このRPMをインストールする。
# rpm -Uvh adobe-release-x86_64-1.0-1.noarch.rpm
準備中…                ########################################### [100%]
1:adobe-release-x86_64   ################################### [100%]
 yum.repos.d以下にadobe-linux-x86_64.repoが作成されます。YUMでデータベースを更新します。
# yum update
flashを探します。
# yum search flash
読み込んだプラグイン:fastestmirror, langpacks, refresh-packagekit Loading mirror speeds from cached hostfile * fedora: ftp.kddilabs.jp * updates: www.ftp.ne.jp ======================================== N/S matched: flash ======================================== gnash.i686 : GNU flash movie player python-webflash.noarch : Portable flash messages for WSGI apps 0xFFFF.i686 : The Open Free Fiasco Firmware Flasher f2fs-tools.i686 : Tools for Flash-Friendly File System (F2FS) f3.i686 : Utility to test for fake flash drives and cards flash-plugin.i386 : Adobe Flash Player 11.2 flasm.i686 : Flash bytecode assembler disassembler gallery2-flashvideo.noarch : Flashvideo module for Gallery 2 iguanaIR-reflasher.noarch : Reflasher for Iguanaworks USB IR transceiver libquvi.i686 : A cross-platform library for parsing flash media stream mnemosyne.noarch : Flash-card learning tool pcsc-cyberjack-cjflash.i686 : Flash tool for cyberJack python-django-flash.noarch : A Django extension to provide support for Rails-like flash texlive-flashcards.noarch : A class for typesetting flashcards texlive-flashcards-doc.noarch : Documentation for flashcards texlive-flashmovie.noarch : Directly embed flash movies into PDF files texlive-flashmovie-doc.noarch : Documentation for flashmovie anki.noarch : Flashcard program for using space repetition learning flashrom.i686 : Simple program for reading/writing BIOS chips content gnash-klash.i686 : Konqueror flash movie player plugin gnash-plugin.i686 : Web-client flash movie player plugin heimdall.i686 : Flash firmware on to Samsung Galaxy S devices ignuit.i686 : Memorization aid based on the Leitner flashcard system kwordquiz.i686 : Flash Card Trainer libnxt.i686 : Utility for flashing LEGO Mindstorms NXT firmware ming.i686 : A library for generating Macromedia Flash files ming-devel.i686 : A library for generating Macromedia Flash files - development files ming-perl.i686 : A Perl module for generating Macromedia Flash files using the Ming library ming-php.i686 : A PHP module for generating Macromedia Flash files using the Ming library ming-python.i686 : A Python module for generating Macromedia Flash files using the Ming library ming-tcl.i686 : A TCL module for generating Macromedia Flash files using the Ming library ming-utils.i686 : Utilities for generating Macromedia Flash files mtd-utils.i686 : Utilities for dealing with MTD (flash) devices nspluginwrapper.i686 : A compatibility layer for Netscape 4 plugins parley.i686 : Vocabulary Trainer synfig.i686 : Vector-based 2D animation rendering backend texlive-flacards.noarch : Generate flashcards for printing totem-mozplugin-vegas.i686 : Mozilla flash plugin for Totem urjtag.i686 : A tool for communicating over JTAG with flash chips and CPUs Name and summary matches only, use "search all" for everything.
 表示されているflush-pluginをインストールします。
# yum install flash-plugin
 Firefoxを再起動して、プラグインを確認します。「Shockwave Flash****」が存在すればOKです。

 まれにflash-pluginのバージョンが2つ(24.0.*.*及び11.2.*.*等)表示される場合があります。
 この原因は、異なるバージョンがインストールされているか、異なるバージョンのlibflashplayer.soが設定されているかのいずれかと思われます。
 前者の場合、古い方をアンインストールするか2つのバージョンをアンインストール後、最新版をインストールしてください。
 後者の場合、まず、FirefoxのURL入力欄に「about:plugin」と入力し、flush-pluginの保存場所を確認します(2つ表示されるはずです)。最新版をインストールしているにもかかわらず2つのバージョンが表示されるのは、古いバージョンである/home/***/.mozilla/plugins/libflashplayer.soが存在しているためです。したがって、これを削除すれば最新版で動作するようになります。

●SSH鍵のコピー

 
 
 

●ホームディレクトリの日本語ディレクトリ名から英語ディレクトリ名へ変更する
 $ LANG=C xdg-user-dirs-gtk-update

上記で上手く出来ないときは下記で

 $ LC_ALL=C xdg-user-dirs-gtk-update --force
 ウィンドウが開くので、「Update Names」を押下する。

●GNOME Tweaksのインストール

 Rocky Linux 9はデフォルトでデスクトップ上にアイコンも無く、日本語入力機能を有効化出来ない等の使い勝手が非常に悪いです。
 これでは非常に使いにくいですので、拡張機能(旧Tweaks)を利用して使いやすいようにカスタマイズします。
 以前は、gnome-shell-extensionをインストールしていましたが、拡張機能で事足りるのであればインストールは不要です。
 拡張機能は「アクティビティ」をクリックすると、「検索ワードを入力」欄に「拡張機能」と入力することで表示されます。

 CentOS StreamやRockyのデスクトップ環境であるGNOMEはデフォルトで使いづらいので、GNOME Tweaksをインストールします。
 ついでに、GNOME Shell Extensionやテーマ等もインストールします。
# dnf install -y gnome-tweaks
# dnf install -y gnome-shell-extension-*
# dnf install -y gnome-theme

※何でもかんでも
# dnf install -y gnome-* 
 あとは、GNOME Tweaksを起動して使いやすいように設定すればいいです。
 (Rocky 9では、「拡張機能」で設定できました。)

●GNOME Shell Fripperyのインストール

 GNOME 3.xのデスクトップ環境が使いにくいため、「GNOME Shell Frippery」をインストールします。  なかなか結構使えるツールです。

●GNOME Shellの拡張機能

 [4]Fedoraを自分好みにカスタマイズ(外部リンク)

●GNOMEデスクトップ環境の設定

 GNOMEデスクトップ環境を設定するためには、gnome-weak-toolをインストールしておく必要があります。
 テーマを下記のように設定します。

 ウィンドウ → simple
 GTK+ → Windows10
 アイコン → Windows
 カーソル → Crystal*****
 GNOME SHELL テーマ → Wood'n'Tux

1.ウィンドウ
 ウィンドウは、GNOME標準の中から「simple」を選択します。

2.GTK+
 GTK+は、「Windows10.tar.gz」を解凍し、フォルダ及びファイル全てを$HOME/.themesに保存します。

3.アイコン
 アイコンは、「Windows.tar.gz」を解凍し、フォルダを$HOME/.iconsに保存します。

4.カーソル

 参考URL:GNOME(18.04)でマウスポインターのサイズと外観を変更する方法

 カーソルサイズは、dconf-editorをインストールことで対応可能です。
 インストール後、[システムツール]-[dconf エディター]を開きます。
 org/gnome/desktop/interface/cursor-sizeのようにたどっていくと、カーソルサイズを設定できる画面が開きますので、必要な設定をすれば完了です。

 カーソルは、「Crystalcursors.tar」を解凍します。
$ cd Crystalcursors
$ make
$ make install
 $HOME/.iconsに保存されます。

 下記のようなエラーが表示された場合があります。
identify: コマンドが見つかりません
convert: コマンドが見つかりません
 このような場合は、ImageMagickをインストールしてください。
xcursorgen: コマンドが見つかりません
 このような場合は、xorg-x11-appsをインストールしてください。

5.GNOME SHELL テーマ
 テーマは、「Wood_n_Tux.tar.gz」を解凍し、フォルダを$HOME/.themesに保存します。

●SELinuxの無効化・有効化

 SELinuxを無効化・有効化するには、以下のようにします。

 SELinuxの無効化
# getenforce ← SELinux状態確認
Enforcing ← SELinux有効
# setenforce 0 ← SELinux無効化
# getenforce ← SELinux状態確認
Permissive ← SELinux無効
:SELinuxモジュールによるアクセス制御が無効になっている場合は「Disable」と表示されます。
 上記の設定は一時的な変更であるため、再起動すると元に戻ってしまいます。そこで、下記のようにSELinux設定ファイルを編集します。
# vi /etc/sysconfig/selinux ← SELinux設定ファイル編集
SELINUX=enforcing

SELINUX=disabled ← システム起動時にSELinuxを無効化
 設定を反映させるため、再起動します。
# shutdown -r now
# getenforce ← SELinux状態確認
Disable ← モジュールによる無効化

 SELinuxの有効化
# getenforce ← SELinux状態確認
Permissive ← SELinux無効
:SELinuxモジュールによるアクセス制御が無効になっている場合は「Disable」と表示されます。
# setenforce 1 ← SELinux有効化
# getenforce ← SELinux状態確認
Enforcing ← SELinux有効
 上記の設定は一時的な変更であるため、再起動すると元に戻ってしまいます。そこで、下記のようにSELinux設定ファイルを編集します。
# vi /etc/sysconfig/selinux ← SELinux設定ファイル編集
SELINUX=disabled

SELINUX=enforcing ← システム起動時にSELinuxを有効
 設定を反映させるため、再起動します。
# shutdown -r now
# getenforce ← SELinux状態確認
Enforcing ← SELinux有効

 起動すらしなくなったら?

 enforcingモードで起動すらしなくなった場合は、bootパラメータを修正しpermissiveモードで起動させることができます。FC6では以下の手順で可能です。

1. Grub起動画面で「e」を入力
2. 次の画面でOSを選択して「e」を入力
3. 次の画面で「kernel〜」で始まる行を選択して「e」を入力
4. 行末に「 single」(半角スペース必要)を追加し、リターンを入力する。
5. 次の画面で「b」を入力する。

●バッファオーバーフロー対策
[root@centos ~]# cat /proc/sys/kernel/exec-shield
1 ← exec-shield無効
[root@centos ~]# echo 2 > /proc/sys/kernel/exec-shield
[root@centos ~]# cat /proc/sys/kernel/exec-shield
2 ← exec-shield有効
[root@centos ~]# vi /etc/sysctl.conf
kernel.exec-shield = 2 ← 最終行に追加(起動時に有効にする)

●ファイアーウォールの停止

 ファイアーウォールの設定について不慣れな場合、デフォルトで有効になっているファイアーウォール機能を停止します。
# service iptables stop
# chkconfig iptables off
# chkconfig --list iptables
iptables       	0:off	1:off	2:off	3:off	4:off	5:off	6:off
 これで再起動してもファイアウォールは起動しなくなります。

●GUIでrootでのログインが出来ない

 LinuxをアップデートしたらGUI画面からrootでログイン出来なくなりました。
 セキュリティ上、好ましくないと分かっていても一時的にrootでログインしたい事は時々あります。

 まず、CUIでログインします。
 GUIログイン画面の場合は前に書いた通り[CTRL]+[Alt]+[F6]を押せばCUIに切り替わります。

 普通にログインしてsuコマンドでroot権限になります。
#vi /etc/pam.d/gdm
(/etc/pam.d/gdm-passwordも変更します)
auth required pam_succeed_if.so user != root quiet
 ↓ 書き換える
auth required pam_succeed_if.so user != quiet
 上記の方法で動作しない場合は、「/etc/pam.d/gdm」、「/etc/pam.d/gdm-password」両方のファイルで下記のようにコメントアウトします。
#auth required pam_succeed_if.so user != root quiet
 これで再起動させればOKです。

●新規ユーザの作成

 useraddのデフォルト設定を確認する

 useraddコマンドに「 -D 」オプションを指定する事で、作成されるユーザーのデフォルトの設定値を確認する事ができます。
$ su -
パスワード: ← rootのパスワード入力
# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
GROUP グループIDを100に設定する。Red Hat系のディストリビューションの場合、/etc/login.defs で GID_MIN が 500 と設定されているので、グループIDは 500 から順番に与えられる。
HOME デフォルトのホームディレクトリの場所。この場合、「 /home/ユーザー名 」でホームディレクトリが作成される。
INACTIVE ユーザーのパスワードが無効になってから、そのユーザーのアカウントが無効になるまでの期限。「 -1 」は無期限を意味する。
EXPIRE ユーザーアカウントの有効期限。値が無い場合は無期限を意味する。
SHELL デフォルトのログインシェル名。
SKEL 新規ユーザーのホームディレクトリのテンプレート。この場合、/etc/skel のコピーが新規ユーザーのホームディレクトリに作成される

 なお、/etc/default/useraddファイルでも確認できます。
# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel

 useraddのデフォルト設定を変更する

 useraddコマンドに「 -D + オプション 」で、オプションに与えられた値に応じてデフォルト値を変更する事が可能です。

-b default_home 新規ユーザのホームディレクトリへのパス。default_home の後にユーザ名を付け加えたものが新規ディレクトリ名として使われる。
-e default_expire_date ユーザアカウントが無効となる日付。日付は YYYY-MM-DD の形式。
-f default_inactive パスワードの使用期限が切れてからアカウントが使用不能となるまでの日数。「 -1 」で無期限。
-g default_group 新規ユーザの属する主グループのグループ名またはグループ ID。グループ名はすでに存在するものでなければならない。グループ ID は、すでに存在するグループに対応するものでなければならない。
-s default_shell 新規ユーザのログインシェル。

例:ホームディレクトリを「 /home/users 」に、ユーザーのパスワードが無効になってからアカウントを60日で無効にする。
# useradd -D -b/home/users -f60
# useradd -D ← 確認
GROUP=100
HOME=/home/users ← 変更OK
INACTIVE=60 ← 変更OK
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
 /etc/default/useraddファイルを直接変更してもデフォルト設定の変更は可能です。

 useraddで新規ユーザーを追加する

 useraddコマンドに、追加したいユーザー名を指定する事で新規ユーザーを作成できます。オプションの指定無しで、デフォルト設定のユーザーと、ホームディレクトリが作成されます。

新規ユーザーhogehogeを作成します。
# useradd -D ← 初期設定確認
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
# useradd hogehoge ← ユーザー作成
# id -a hogehoge ← ユーザー確認
uid=514(hogehoge) gid=514(hogehoge) 所属グループ=514(hogehoge)
# ls -ld /home/hogehoge/ ← ホームディレクトリ確認
drwx------  4 hogehoge hogehoge 4096  4月 15 01:12 /home/hogehoge/

 useraddのその他のオプション

 デフォルト設定じゃないユーザーを作成したい場合はオプションを指定してユーザーを作成します。

例:ユーザIDを600、主グループをusers、サブグループsub1とsub2に属すユーザーhogeを作成する。
# useradd -u 600 -g users -G sub1,sub2 hoge ← ユーザー作成
# id -a hoge
uid=600(hoge) gid=501(users) 所属グループ=501(users),503(sub1),514(sub2)
以下オプション詳細です。

-M ホームディレクトリを無しにする。
-c comment 新規ユーザのコメント。
-d home_dir ホームディレクトリを指定する。
-e expire_date ユーザアカウントが無効となる日付。日付は YYYY-MM-DD の形式。
-f inactive_days パスワードがの使用期限が切れてから、このオプションで与えた日数経過するとアカウントは永久に使用不能となる。値として 0 を指定すると、パスワードが失効した直後にアカウントは使用不能となり、-1 を指定すると、この機能は無効となる。デフォルト値は -1 である。
-g initial_group ユ ーザの属する主グループのグループ名またはグループ ID。
-G group,[...] ユーザの属するサブグループのグループ名またはグループ ID。グループはコンマで区切り、空白を含めてはいけない。
-s shell ユーザのログインシェル名。
-u uid ユーザ ID。
-o UIDの重複を許可する。


 「 -o 」オプションを使用する事により、UIDを重複させてアカウントを追加する事が可能です。
これを利用すると、同一のユーザーが、異なるログインシェル、ホームディレクトリを使用してログインする時に、各アカウントに同一のアクセス権を与える事ができるようになります。

●ファイアーウォール内からyumを実行できるようにする(proxy)

 参照URL:CentOSのProxy設定一覧

 ファイアーウォールが設置されている企業内のLinux端末(Fedoraを想定)からyumコマンドを利用できるようにするには、下記のようにします。
# vi /etc/yum.conf
proxy=http://(プロキシサーバ名またはIPアドレス):(ポート番号)/ ← 追記
proxy_username=プロキシ認証ユーザ ← 必要な場合は追記
proxy_password=プロキシ認証パスワード ← 必要な場合は追記
 上記の記載方法の場合、全ユーザが対象となります。個別に指定する場合は、各ユーザの環境変数$http_proxyに指定します
export http_proxy="http://プロキシ認証ユーザ:プロキシ認証パスワード@プロキシサーバ名:ポート番号"

●yum update でアップデートを除外したいパッケージの指定

 yum updateでまとめてupdateするのはいいが、特定のパッケージだけアップデートを除外する場合は、/etc/yum.conf の[main] に以下のような行を追加します。
# vi /etc/yum.conf
[main]
exclude= gcc* kde* openssh* kernel-smp*

●日本語環境にする

 日本語環境にしたい場合は以下のようにします。
 日本語関連のパッケージをグループインストールします。
# yum -y groupinstall "Japanese Support"
 システムの文字セットを変更します。
# vi /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
#source /etc/sysconfig/i18n
#echo $LANG
ja_JP.UTF-8 ← 変更を確認
 システム全体の文字セットは変更せず、ユーザ固有で日本語環境にするなら、以下のように個別設定をしてください。
$vi ~/.bash_profile
###### 最終行に追記します
LANG=ja_JP.UTF-8
export LANG
$source ~/.bash_profile
$echo $LANG 
ja_JP.UTF-8 ← 変更を確認


●日本語入力ソフトMozcで日本語入力切替キーを追加する

 EPELリポジトリの設定(「EPELを利用するための設定方法」)は完了しているものとします。
 MOZCをインストールします。
# dnf install --enablerepo=epel ibus-mozc mozc
 「アプリケーション」−「システムツール」−「設定」−「地域と言語」の入力ソースで「日本語(Mozc)」を追加し、表示上一番上に設定します。

●日本語入力ソフトAnthy(または、Kana-Kanji)で日本語入力切替キーを追加する

 「アプリケーション」−「システムツール」−「設定」−「地域と言語」の入力ソースで「日本語(Anthy)」と「日本語」が登録されている状態となっていましたので、「日本語」を削除します。
 「日本語(Anthy)」だけになりますので、その下にあるギアのようなマークをクリックし、Ibus-Anthyの設定変更を実施します。
 「キー割り当て」タブをクリックし、コマンド「on_off」に設定されているショートカットキーに「Zenkaku」及び「Hankaku」追加します。
 これにより、「半角/全角」キーで英文字↔日本語の入力切り替えができるようになります。
 最後に「地域と言語」の画面を終了させます。

 ※Rocky linux 9の場合

 「アクティビティ(または、アプリケーション)」ー「設定」ー「Keyboard」ー「入力ソース」ー「+を押下」ー「日本語(Anthy)」を選択します。

●パスワードポリシーを設定する

 セキュリティを向上させるためにも、パスワードの設定は必要最低限の事項です。容易なパスワードでは辞書アタック等により乗っ取られてしまう可能性もあります。それを防ぐためシステムでの強制的にルールを定める必要があります。パスワードポリシーはシステム側で設定しましょう。

 パスワードの有効期限を設定する

 ユーザーに設定した日数以内にパスワードを変更させるようにします。
 ただし、この設定はアカウント新規作成時のみ有効です。既存のアカウントには影響しません。この設定がされていない既存ユーザーに設定する場合は「chage -M 日数 ユーザー」で設定します。
# vi /etc/login.defs
PASS_MAX_DAYS 60 ← パスワードの有効期限を60日に設定

 パスワードの最短利用日数を設定する

ユーザーはパスワードを変更してからこの期間内はパスワードを変更できない。 ただし、この設定はアカウント新規作成時のみ有効。既存のアカウントには影響しない。 当設定がされていない既存ユーザーに設定する場合は「chage -m 日数 ユーザー」で設定。
# vi /etc/login.defs
PASS_MIN_DAYS 2 ← パスワードの最短利用日数を2日に設定

 パスワードの有効期限が来る前に警告を発する期間の日数を設定する

 この設定はアカウント新規作成時のみ有効です。既存のアカウントには影響しませんこの当設定がされていない既存ユーザーに設定する場合は「chage -W 日数 ユーザー」で設定できます。
# vi /etc/login.defs
PASS_WARN_AGE 7 ← パスワードの有効期限が来る前に警告を発する期間の日数を7日に設定

 過去に使用したパスワードの使用を制限する

 ユーザーは設定された世代以内に同じパスワードを再び設定することができなくなります。
# vi /etc/pam.d/system-auth
 ↓ 過去5世代のパスワードの再利用を禁止する
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5

 パスワードの最低文字数を設定する

 ユーザーは設定された文字数未満のパスワードは設定できないません。以下ではminlen=*が設定に相当しますが、その他の値(後述)もminlenと連動しているため、設定しなくとも値を0にして指定しておく必要があります。
# vi /etc/pam.d/system-auth
 ↓ パスワードの最低文字数を8文字に設定する
password    requisite    pam_cracklib.so try_first_pass retry=3 minlen=8 dcredit=0 ucredit=0 lcredit=0 ocredit=0

 パスワードに数字N文字を含む

 パスワードに数字がN文字以上含まれていなければならない。(dcredit=-N)
# vi /etc/pam.d/system-auth
 ↓ パスワードに数字が2文字以上含まれることを要求する
password    requisite    pam_cracklib.so try_first_pass retry=3 minlen=8 dcredit=-2 ucredit=0 lcredit=0 ocredit=0

 パスワードに大文字をN文字以上含む

 パスワードに大文字がN文字以上含まれていなければならない。(ucredit=-N)
# vi /etc/pam.d/system-auth
 ↓ パスワードに大文字が1文字以上含まれることを要求する
password    requisite    pam_cracklib.so try_first_pass retry=3 minlen=8 dcredit=-2 ucredit=-1 lcredit=0 ocredit=0

 パスワードに記号をN文字以上含む

 パスワードに記号がN文字以上含まれていなければならない。(ocredit=-N)
# vi /etc/pam.d/system-auth
 ↓ パスワードに記号が1文字以上含まれることを要求する
password    requisite    pam_cracklib.so try_first_pass retry=3 minlen=8 dcredit=-2 ucredit=-1 lcredit=-1 ocredit=-1

 変更前のパスワードと記号をN文字以上異なるようにする

 変更後のパスワードが現在のパスワードとN文字以上異なることを要求する。(difok=N)
# vi /etc/pam.d/system-auth
 ↓ 変更後のパスワードが現在のパスワードと3文字以上異なることを要求する
password    requisite    pam_cracklib.so try_first_pass retry=3 difok=3

 ログインの失敗回数を設定する

 ユーザーは設定された値の回数を超えて連続でログイン失敗するとアカウントがロックされるようにします。
# vi /etc/pam.d/system-auth
# 以下のように2行追記する。失敗回数は「deny=*」で設定し、以下の例では5回連続失敗でロックする
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth    required    pam_env.so
auth    required    pam_tally2.so deny=5
auth    sufficient  pam_fprintd.so
auth    sufficient  pam_unix.so nullok try_first_pass
auth    requisite   pam_succeed_if.so uid >= 500 quiet
auth    required    pam_deny.so
account required    pam_unix.so
account required    pam_tally2.so
account sufficient  pam_localuser.so
account sufficient  pam_succeed_if.so uid < 500 quiet
account required    pam_permit.so
# あるユーザーの失敗回数を確認する
# pam_tally2 -u cent
Login    Failures    Latest failure    From
cent     7           02/23/11 13:10:26 tty1
# ロックされたユーザーを開放する
# pam_tally2 -r -u cent

 パスワードの暗号化方式を変更する

 システムの設定値が変更されるのみで既存ユーザーには影響しないため、暗号化方式変更後はユーザーにパスワード変更してアップデートしてもらう必要があります。「chage -d 0 user」とすれば、次回ログイン時に強制的にパスワード変更させることができます。
# 現在の暗号化方式を調べる
# authconfig --test | grep hashing
password hashing algorithm is md5
# 暗号化方式を sha512 に変更
# authconfig --passalgo=sha512 --update
# authconfig --test | grep hashing
password hashing algorithm is sha512

●SSHやTelnet接続時の自動ログアウト方法

 LinuxでローカルやSSHやtelnetによってログインした後のセッションにおいて、ある一定時間操作が行われないとタイムアウトしてログアウトするように設定する方法は次の通りです。
 シェルに対して、環境変数「TMOUT」を読み込ませるようにします。今回は、5分間アイドルが続くとログアウトする設定にしてみます。この場合、環境変数は次のようになります。
TMOUT=300
 この値をシェルに読み込ませる方法はいくつかありますが、今回は、全てのユーザに対して設定を適用するようにしますので、/etc/profileを編集することにします。
#vi /etc/profile
export TMOUT=300
 これでユーザが5分でタイムアウトするようになります。/etc/profileはログイン時にしか読み込まれませんので、編集後、ログインし直さないと設定は反映されません。

●GNOME-terminalの設定

 GNOME-terminalの設定(外部リンク)

●マルチホーミング(NIC複数枚)におけるデフォルトルートの設定

 ネットワークインターフェースカード(以下、NIC)を複数枚挿入されている状態でデフォルトルートを選択する方法を説明します。

 ifcfg-eth*を直接編集

 インターフェースの状態(eth0、eth1)は下記のとおりです。
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT=yes
HWADDR=**:**:**:**:**:**
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.0.11
PREFIX=24
GATEWAY=192.168.0.254
DNS1=***.***.***.***
DNS2=***.***.***.***
DOMAIN=bigbang.dyndns.org
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
UUID=5fb0****-0***-7***-4***-d6ed********
# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
NM_CONTROLLED="yes"
ONBOOT="yes"
HWADDR=**:**:**:**:**:**
TYPE=Ethernet
BOOTPROTO=none
IPADDR=1.0.0.5
PREFIX=24
GATEWAY=1.0.0.254
DNS1=***.***.***.***
DNS2=***.***.***.***
DNS3=***.***.***.***
DOMAIN=bigbang.dyndns.org
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"
UUID=9c92****-6***-3***-e***-8a47********
 通常、起動時にeth0、eth1・・・の順で読み込まれます。CentOSの場合、最初に読み込まれたNICに記載されているゲートウェイがデフォルトゲートウェイとして認識されます。これは「route」コマンドを実行することにより確認することができます。
 上記の場合、デフォルトのままだとeth0に設定されている「192.168.0.254」がデフォルトゲートウェイとなります。
 この状態で「1.0.0.254」をデフォルトゲートウェイに変更するには下記のようにします。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
~省略~
#GATEWAY=192.168.0.254
~省略~
# service network restart
 これで「1.0.0.254」がデフォルトゲートウェイに変更されます。
 下記の場合、デフォルトゲートウェイが認識されない場合があるようです。その場合、「0」を削除して対応してみてください。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
~省略~
GATEWAY0=192.168.0.254
~省略~
# service network restart

 /etc/sysconfig/networkを利用する

 上記の方法以外に/etc/sysconfig/networkを利用する方法もあります。
 この場合、ifcfg-eth*に記載されている「GATEWAY=***.***.***.***」の行をすべてのインターフェースでコメントアウトしておきます。
 その後、下記のように設定します。
# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=********.bigbang.dyndns.org
GATEWAY=1.0.0.254
# service network restart
 これで「1.0.0.254」がデフォルトゲートウェイに変更されます。

●2枚目のNICが自動接続にならない場合の対処方法

 Rocky Linux 9で2枚目のNICを新たに接続しバックアップ用に利用しようとしたが、正常にIPアドレスが付与されなかった。
 1枚目のNICに割り当てたアドレスを aaa.aaa.aaa.aaa として設定し、また、デフォルトゲートウェイ及びDNSサーバの設定を実施しました。
 NIC1枚利用時は再起動しても、正常に認識されていました。
 次に、購入した2枚目のNICを接続し、アドレスを bbb.bbb.bbb.bbb として設定し、(バックアップ用に接続できればいいので)デフォルトゲートウェイ及びDNSサーバの設定等はしませんでした。
 この状態で再起動したところ、1枚目のNICは自動接続されず、2枚目のNICのみ自動接続されるようになってしまいました。
 (想定していたのは、1枚目のNICも2枚目のNICも自動接続し、正常にIPアドレスが割り当てられた状態です。)
 1枚目のNICは自動接続されず、2枚目のNICのみ自動接続されている状態で、GUIの[設定]ー[ネットワーク]で自動接続していない1枚目のNICを[オン]とすることで、1枚目のNICは自動接続できるようになった。
 しかし、再起動すると事象が再発してしまい、1枚目のNICは自動接続されませんでした。
 自動接続されないNICの設定情報は下記です。
# cat /etc/NetworkManager/system-connections/enp2s0f3.nmconnection 
[connection]
id=enp2s0f3
uuid=********-****-****-****-************
type=ethernet
autoconnect=false
timestamp=1681876104

[ethernet]

[ipv4]
address1=192.168.10.80/24
ignore-auto-dns=true
ignore-auto-routes=true
method=manual

[ipv6]
addr-gen-mode=default
method=disabled

[proxy]
 自動接続されるNICの設定情報は下記です。
# cat /etc/NetworkManager/system-connections/enp2s0f1.nmconnection 
[connection]
id=enp2s0f1
uuid=********-****-****-****-************
type=ethernet
autoconnect-priority=-999
interface-name=enp2s0f1
timestamp=1681875007

[ethernet]

[ipv4]
address1=192.168.1.8/24,192.168.0.254
dns=192.168.1.1;192.168.1.2;
dns-search=bigbang.mydns.jp;
ignore-auto-dns=true
method=manual

[ipv6]
addr-gen-mode=eui64
method=disabled

[proxy]
 2枚目のNIC設定情報を参考に自動接続されない1枚目のNIC設定情報を下記のように変更しました。 
※変更箇所のみ抜粋
autoconnect=false
 ↓
autoconnect-priority=-998
interface-name=enp2s0f3
 上記の変更により、再起動しても2枚とも正常に自動接続されるようになりました。

●Gnomeのお気に入りアイコン

 参照したURL 手動ダウンロードしたアプリケーションをGNOME 3のDockに表示させる方法

 dconfというコマンドで確認、設定ができるらしい。
$ dconf read /org/gnome/shell/favorite-apps
['firefox.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop', 'thunderbird.desktop', 'org.gnome.Terminal.desktop',\
 'yelp.desktop', 'vinagre.desktop']
ヘルプのアイコンとリモートデスクトップビューアーのアイコンの位置を入れ替えてみた
$ dconf write /org/gnome/shell/favorite-apps "['firefox.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop',\
 'thunderbird.desktop', 'org.gnome.Terminal.desktop', 'vinagre.desktop', 'yelp.desktop']"

●GUIとCUIの切り替え方法

 参照URL Fedora/CentOS を GUI/CUI に切り替えたい
 参照URL CentOS 7 での CUI と GUI の切り替え

 CUIに変更するには下記を実行してください。
一時的な変更
# systemctl isolate multi-user.target
永続的な変更
# systemctl set-default multi-user.target
 GUIに変更するには下記を実行してください。
一時的な変更
# systemctl isolate graphical.target
永続的な変更
# systemctl set-default graphical.target
 OSを再起動すると、設定したとおり起動するようになります。
 設定内容を確認します。
# systemctl get-default
graphical.target
 上記の場合は、GUIで起動します。

●SSHログイン時の表示を無効にする方法

 CentOS Stream 8やRocky Linux 8でSSHログイン時に表示される下記メッセージを表示しないようにします。
Activate the web console with: systemctl enable --now cockpit.socket

This system is not registered to Red Hat Insights. See https://cloud.redhat.com/
To register this system, run: insights-client --register
 /etc/motd.d以下を確認します。
# ls -lh /etc/motd.d
合計 0
lrwxrwxrwx. 1 root root 17 12月  7 07:46 cockpit -> /run/cockpit/motd
lrwxrwxrwx. 1 root root 41 12月  7 21:23 insights-client -> /etc/insights-client/insights-client.motd
 これらのシンボリックシンクを削除します。
# cd /etc/motd.d
# rm -f cockpit insights-client
# shutdown -r now

 再起動後、SSHで再ログインして表示されなくなっていればOKです。