CentOS/Linuxお役立ちTIPS

CentOS/Linuxを使っている人に役立つかもしれないTIPS集です。(順不同)

ユーザーをグループに追加

ユーザーをグループに追加するコマンド

# usermod -a -G GROUPS USER

例えば、ユーザー名aliceapacheグループに追加する場合は

# 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]

各値の意味は次のようになっています。

memoryswpdthe amount of virtual memory used
freethe amount of idle memory
buffthe amount of memory used as buffers
cachethe amount of memory used as cache
swapsiAmount of memory swapped in from disk (/s)
soAmount of memory swapped to disk (/s)
iobiBlocks received from a block device (blocks/s)
boBlocks sent to a block device (blocks/s)
systeminThe number of interrupts per second, including the clock
csThe number of context switches per second
cpuusTime spent running non-kernel code
syTime spent running kernel code
idTime spent idle
waTime spent waiting for IO
stTime stolen from a virtual machine
vmstatの各項目の説明

ifconfignetstat

CentOSにはifconfignetstatが標準でインストールされていませんので、必要な場合はnet-toolsをインストールしてください。

インストールしたくない場合はipssのコマンドを使ってみてください。

$ 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というサイトで公開していた記事です。誤字脱字などの修正を除いて当時のまま移転していますのでやや古い内容も含まれています。ご理解の上、参照して頂ければと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です