CentOS 初期設定

基本コマンド

・起動

CentOS6まで
/etc/init.d/xxx start (7は使えない)
service xxx start (7はsystemctlにリダイレクト)
CentOS7では
systemctlとなる。

・自動起動

CentOS6まで
chkconfig xxx on | off (7はsystemctlにリダイレクト)
CentOS7では
systemctlとなる。

yumとrpm

yumの内部でrpmが呼ばれている。

利用可能かどうかと、インストール済み両方表示。
yum list xxx

パッケージを探す
yum search xxx

パッケージ情報
yum info

yum -y install php
(-yは全てyes回答)

yum remove xxx
削除する場合

アップデート
yum update
yum update xxx

インストール済みでアップデートがあるかどうか
yum check-update

SSHの設定

基本はそのまま接続できるはず、VirtualBoxに接続の場合、
設定>ネットワーク>割り当て
をブリッジアダプターに変更して、自動取得のIPに繋げれば大丈夫。

・SSHの状態確認
systemctl status sshd.service

・ファイアーウォールの確認
firewall-cmd –list-all

・rootのパスワード認証を不可にする。

PasswordAuthentication no
ChallengeResponseAuthentication no

になっているかどうか確認。

ユーザーを追加し、
PermitRootLogin no
にするかrootのままにするなら、
PermitRootLogin without-password
にする。

・ポート番号変更(49152 – 65535辺り)

firewall-cmd –add-port=49152/tcp –zone=public –permanent
firewall-cmd –reload
ポートを開ける。

systemctl restart sshd

現在の接続を切る前に接続できるか試す。

問題なければポートを閉じる。

firewall-cmd –remove-service=ssh –zone=public –permanent
firewall-cmd –reload

・再起動

systemctl restart sshd
systemctl enable sshd

firewalld

publicゾーンにnicが割り当ててあるか確認。
(active)は有効かどうかという意味ではなく、ゾーン指定しないときの対象かどうかという意味。

定義されているサービス
firewall-cmd –get-services

許可されている情報
firewall-cmd –list-all –zone=public
–list-all
–list-services
–list-port

リロード
firewall-cmd –reload

サービスを許可する
firewall-cmd –add-service=http –zone=public –permanent

許可したサービスを削除
firewall-cmd –remove-service=http –zone=public –permanent

許可するポートの追加
firewall-cmd –add-port=22/tcp –zone=public –permanent

ポートを追加。(接続元を指定する場合)
firewall-cmd –permanent –zone=public –add-rich-rule=”rule family=ipv4 source address=192.168.13.2 port protocol=tcp port=80 accept”

許可するポートの削除
firewall-cmd –remove-port=22/tcp –zone=public –permanent

定義済みサービス(編集はしない)
/usr/lib/firewalld/services

定義済みゾーンの確認
firewall-cmd –list-all-zones

アクティブなゾーンの確認
firewall
cmd getactivezones

Nicに対するデフォルトゾーンの確認
firewall-cmd –get-default-zone

NICのゾーンを変える(permanetが不要という記事ある要確認)
firewall-cmd –change-interface=lo –zone=public

NICをゾーンから削除(permanetが不要という記事ある要確認)
firewall-cmd –remove-interface=lo

だいたいの流れ。本来サービス登録なんだろうけど。

登録済みのサービスを消す。
firewall-cmd –remove-service=http –zone=public –permanent
firewall-cmd –remove-service=ssh –zone=public –permanent
firewall-cmd –remove-service=dhcpv6-client –zone=public –permanent

必要なポート追加。
firewall-cmd –add-port=54424/tcp –zone=public –permanent
firewall-cmd –add-port=80/tcp –zone=public –permanent

・ターゲット

定義にマッチしないパケットをどうするかをターゲットといい、ACCEPT,DROP,REJECT(default)がある。

ACCEPT:全て許可。
DROP:拒否ルールに該当すると拒否。
REJECT:拒否ルールに該当すると拒否。(エラーコードを返す)

vimrc

vimrcを作成し以下を記述。
Ubuntuとほぼ同じで自動補完の部分を削除。

bashrc

Ubuntuから必要最低限のみ持ってきた。

LAMP

CentOS(ConoHa) 初期設定 LAMP

.NET Core

https://www.microsoft.com/net/learn/dotnet/hello-world-tutorial
を参考にする。

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum install dotnet-sdk-2.1

基本アプリ

dotnet new console -o myapp
cd myapp
dotnet run

ASP.NET CoreWeb

ASP.NET CoreWebアプリケーションのプロジェクトを作成。
Webアプリケーション(モデルビューコントローラー)を選択。
HTTPS用の構成のチェックを外す。

ビルド>xxxの発行
にて作成されたファイルを転送し、転送フォルダにて、
dotnet xxx.dll
のように実行する。

その他

dotnet –info
でバージョン確認できる。

FTPの設定

VSから発行したいのでFTPを入れる。

インストール
yum install -y vsftpd

設定ファイル
/etc/vsftpd/vsftpd.conf

変更
anonymous_enable=NO
listen=YES
listen_ipv6=NO
tcp_wrappers=NO

コメントアウト削除
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
ls_recurse_enable=YES

追加
use_localtime=YES
allow_writeable_chroot=YES

起動
systemctl start vsftpd

スタートアップ
systemctl enable vsftpd

ファイアーウォール
firewall-cmd –add-service=ftp –zone=public –permanent
firewall-cmd –reload
firewall-cmd –list-all –zone=public

ユーザー制御
userlist_enableを有効にすると、userlist_denyも有効になる。
ブラックリストがデフォなので対象のユーザー名を削除のみ実行。

ブラックリスト(デフォルト)
userlist_enable=YES
userlist_deny=YES or 記述なし

ホワイトリスト
userlist_enable=YES
userlist_deny=NO

ファイルのパス(必要なら)
userlist_file=/etc/vsftpd/user_list

userlist_enableを優先度が高い禁止リスト
/etc/vsftpd/ftpusers

user_listとftpusersから対象のユーザー名を削除する。