CentOS/Linuxを使っている人に役立つかもしれないTIPS集です。(順不同)
ユーザーをグループに追加
ユーザーをグループに追加するコマンド
# usermod -a -G GROUPS USER
例えば、ユーザー名alice
をapache
グループに追加する場合は
# usermod -a -G apache alice
とします。複数のグループに追加したい場合は
# usermod -a -G apache,wheel alice
のようにコンマを使って列挙します。
CRONの設定
CRONを設定すると毎日○時とか毎時○分などに自動でコマンドを実行することができます。
設定するにはcrontab
に必要なコマンドを記述します。
# vi /etc/crontab
書き方は次のような感じです。
5 10 20 * * username /path/to/command
※順に「分」「時間」「日」「月」「曜日」「ユーザー名」「コマンド」となっています。
上の例では毎月20日の10時5分にusername
が/path/to/command
を実行するという意味になります。
ちなみに、*/10
のようにすることで10分ごとにコマンドを実行することもできます。
*/10 * * * * username /path/to/command
パスワードによるSSHでのログインを禁止する
セキュリティの都合上、SSHのパスワードログインを禁止したい場合は/etc/ssh/sshd_config
の下記部分を変更します。
PasswordAuthentication yes
なお、パスワードログインを禁止する場合はSSHを利用するユーザーのホームディレクトリ$HOME/.ssh/authorized_keys
に予めid_rsa.pub
の内容を追加しておく必要がありますので、ご注意ください。
$ cat /path/to/id_rsa.pub >> ~/.ssh/authorized_keys
SSHDの再起動
sshd_config
の変更を適用したい場合など、SSHを再起動したい場合は次のコマンドを実行します。
# systemctl restart sshd.service
システムの状態を調べる方法
CPU負荷やIO負荷などの状態を調べたい場合はvmstat
が便利です。
$ vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 0 867080 227652 477607 0 0 42 42 2 2 18 1 80 1 0
継続してシステムの状態を調べたい場合はdelay
オプションを使ってdelay秒ごとに継続してシステムの状態を表示することができます。
vmstat [delay]
各値の意味は次のようになっています。
memory | swpd | the amount of virtual memory used |
free | the amount of idle memory | |
buff | the amount of memory used as buffers | |
cache | the amount of memory used as cache | |
swap | si | Amount of memory swapped in from disk (/s) |
so | Amount of memory swapped to disk (/s) | |
io | bi | Blocks received from a block device (blocks/s) |
bo | Blocks sent to a block device (blocks/s) | |
system | in | The number of interrupts per second, including the clock |
cs | The number of context switches per second | |
cpu | us | Time spent running non-kernel code |
sy | Time spent running kernel code | |
id | Time spent idle | |
wa | Time spent waiting for IO | |
st | Time stolen from a virtual machine |
ifconfig
とnetstat
CentOSにはifconfig
やnetstat
が標準でインストールされていませんので、必要な場合はnet-toolsをインストールしてください。
インストールしたくない場合はip
やss
のコマンドを使ってみてください。
$ ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff inet ***.***.***.***/24 brd ***.***.***.*** scope global eth0 valid_lft forever preferred_lft forever inet6 ****::****:****:****:****/64 scope link valid_lft forever preferred_lft forever
$ ss -antup Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp LISTEN 0 128 :::80 :::*
yumを使ったパッケージのインストール
パッケージの検索
# yum search キーワード
パッケージの情報を表示
# yum info パッケージ名
パッケージのインストール
# yum [-y] install パッケージ名
※-y
オプションを追加するとyes/noプロンプトで自動でyesを選択するようになります。
パッケージのアンインストール
# yum [-y] remove パッケージ名
※-y
オプションの意味はinstallの場合と同じです。
システムのアップデート
アップデートが必要なパッケージの確認
# yum check-update
アップデートの実行
# yum update
Apacheで有効になっているモジュールのリスト
Apacheで有効になっているモジュールのリストを表示するには-M
を使います。
# httpd -M
モジュールが有効になっているサーバーと有効になっていないサーバーで共通の.htaccess
を使いたい場合はIfModule
で分岐することもできます。
<IfModule mod_rewrite.c> RewriteEngine On # 以下、省略 </IfModule>
CentOSリンク集
12.2. yum Commands(yumコマンドのオプションについて)
https://www.centos.org/docs/5/html/5.1/Deployment_Guide/s1-yum-useful-commands.html
Documentation – Manual Pages – firewall-cmd | firewalld(firewall-cmdコマンドのオプションについて)
https://firewalld.org/documentation/man-pages/firewall-cmd.html
VPS活用ガイド‐月額780円からのVPSというサイトで公開していた記事です。誤字脱字などの修正を除いて当時のまま移転していますのでやや古い内容も含まれています。ご理解の上、参照して頂ければと思います。