インストール時に「ベーシックWebサーバー」を選択していたおかげで、CentOS6系で行っていた作業が一部軽減されている。
ランレベルも最初から「3:マルチユーザーモード(テキストログイン)」になっているし、管理用ユーザーもインストール時に選択済み。
パッケージのアップデート
yum -y update
SELinuxの無効化
setenforce 0 ←起動中のSELinuxを無効化
# vi /etc/sysconfig/selinux ←設定ファイルを編集し、再起動後もSELinuxを無効に
#SELINUX=enforcing ←コメントアウト
SELINUX=disabled ←追記
一般ユーザーの作成
今度は、一般ユーザーの作成。
useradd アカウント名
passwd アカウント名
ユーザー (アカウント名) のパスワードを変更。
新しいパスワード: ←ここでパスワードを入力
新しいパスワードを再入力してください: ←もいっちょ、パスワードを入力
passwd: 全ての認証トークンが正しく更新できました。 ←このメッセージが出てくればOK
この時点では、一般ユーザーも su コマンドでrootになれてしまうので、管理者グループ(=wheel)に属してるユーザだけが、su コマンドでroot になれるように設定する。
vi エディタを使って、/etc/pam.d/su というファイルを編集。
# vi /etc/pam.d/su
#auth required pam_wheel.so use_uid (5行目辺り)
auth required pam_wheel.so use_uid ←コメントアウトを解除
この設定をしておくと、wheelグループのユーザーのみが、su コマンドでrootになれる。
[testuser@lc-srv ~]$ su ←一般ユーザーからrootへパスワード:(正しいrootのパスワードを入力)su: 拒否されたパーミッション
[hogeadm@lc-srv ~]$ su ←wheelに追加済みユーザーからrootへパスワード:(正しいrootのパスワードを入力)最終ログイン: 2016/04/08 (金) 10:21:32 JST日時 pts/1[root@lc-srv ~]# ←rootになれた。パッケージ管理yumでセキュリティー関連のパッケージだけ、自動でアップデート
参考:http://kakarikl09092.blog.fc2.com/blog-entry-1.html
yum-cronを使って、パッケージのアップデートを自動化する方法も紹介されていたが、全パッケージ自動更新は実験台サーバーとしてはちょっと余分。
が、公開サーバーにもするので、セキュリティー関連はアップデートしておきたい。
ということで、yum-cronの導入と設定変更を行う。
# yum -y install yum-cron ←yum-cronのインストール
# vi /etc/yum/yum-cron.conf ←設定ファイルの修正
[commands]
# What kind of update to use:
# default = yum upgrade
# security = yum --security upgrade
# security-severity:Critical = yum --sec-severity=Critical upgrade
# minimal = yum --bugfix update-minimal
# minimal-security = yum --security update-minimal
# minimal-security-severity:Critical = --sec-severity=Critical update-minimal
update_cmd = default
→ update_cmd = security #セキュリティー関連のパッケージを対象とする
(中略)
# Whether updates should be applied when they are available. Note
# that download_updates must also be yes for the update to be applied.
apply_updates = no
→ apply_updates = yes #自動アップデートをするように変更
service yum-cron start ←yum-cronのデーモンを起動
systemctl is-enabled yum-cron ←yum-cronのデーモンが自動起動になっているか確認
*enabledと表示されなければ下記コマンド
systemctl enable yum-cron
SSHでrootで直接ログイン抑制&空パスワード禁止
# vi /etc/ssh/sshd_config
#PermitRootLogin yes
→ PermitRootLogin no #rootログインを禁止
#PermitEmptyPasswords no
→ コメント解除し、空パスワードの禁止
管理用ユーザーのホームディレクトリからデータ用パーティションにシンボリックリンクを貼る
$ cd /exData
$ sudo mkdir hoge (*1)
$ sudo chown hoge.hoge hoge (*2)
$ cd */home/hoge
$ ln -s /exData/hoge exData (*3)
[hoge@localhost hoge]$ ll
合計 0
lrwxrwxrwx 1 hoge hoge 15 1月 7 17:56 2016 exData -> /exData/hoge
基本的にこの自宅サーバーはデータ置き場としてRAID化したパーティションを用意し、そちらにファイルを置いていくことにするのだが、FTPソフトなどを使ってファイルをやり取りすることを考えると、ユーザーの”ホームディレクトリ”からすんなりアクセスできるのが望ましい。
ということで、シンボリックリンクの登場。Windows的に言うと『フォルダへのショートカット』ですね。
RAID化したパーティションは”/exData”としている。
もちろん、そこへリンクを貼っても良いかもしれないが、”exData”の中もユーザーごとのディレクトリを切ったほうが良いだろうということで、ユーザー名でディレクトリを作成。(*1)の操作。
パーティションはシステムのインストール時に作成しているので、当然所有者は”root”。なので、sudoコマンドを併用している。
ディレクトリ作成後、chownコマンドで所有者情報を変更している(*2)ので、以降は普通にファイルの作成やシンボリックリンクの作成(*3)が可能になる。
yumリポジトリの追加(EPEL、RPMForge)
標準のリポジトリ以外によく利用される、EPEL、RPMForgeのリポジトリを追加。
$ sudo yum -y install epel-release ←EPELリポジトリの追加
$ sudo sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel.repo ←常時探しに行くのではなく、必要に応じてEPELリポジトリ参照させる。
$ sudo yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm ←RPMForgeリポジトリの追加
$ sudo sed -i -e "s/enabled = 1/enabled = 0/g" /etc/yum.repos.d/rpmforge.repo ←常時探しに行くのではなく、必要に応じてRPMForgeLリポジトリ参照させる。
考えている用途
- Gitの自分専用のリモートリポジトリ
- 自宅内のDLNAサーバー
- Webサーバーのコンテンツ置き場
- 各種素材類の置き場所

コメント