2010年3月22日月曜日

CentOS rootユーザでのSSH接続禁止

(1)一般ユーザの作成
[root@server ~]# useradd hoge ← 一般ユーザhogeの作成
[root@server ~]# passwd hoge ← centosのパスワード設定
Changing password for user centos.
New UNIX password:  ← centosのパスワード応答
Retype new UNIX password:  ← centosのパスワード応答(確認)
passwd: all authentication tokens updated successfully.



(2)rootになれるユーザを制限(管理者のみ)する
# vi /etc/group の wheel に hoge を追加
wheel:x:10:root,hoge

wheel グループだけが root になれるように設定
# vi /etc/login.defs
SU_WHEEL_ONLY yes を追加

# vi /etc/pam.d/su
#auth required /lib/security/pam_wheel.so use_uid
の先頭の # を削除します。
auth required /lib/security/pam_wheel.so use_uid

これで root(スーパーユーザー)に変更できるユーザの制限が行えるようになりました。



(3)ルートのログイン制御
/etc/ssh/sshd_config内にあるPermitRootLoginです。
CentOSの場合は、 sshd_configにあらかじめデフォルト設定がコメントアウトされて書いてあるので、容易に見つけられると思います。

下記の行のコメントをはずして、noにします。
#PermitRootLogin yes

PermitRootLogin no
こうすることで、rootはいかなる方法でもSSHサービスにはログインできません。

SSHサービスをリロードします。
# service sshd reload

2010年3月7日日曜日

CentOSのディレクトリ構成

Windowsでフォルダと呼ばれているものを、Linuxではディレクトリと呼んでいます。Linuxのディレクトリ構成は、ツリー構造といわれルートディレクトリ(/)を頂点にしており、その下にサブディレクトリが作られ、階層化する構造になっています。

以下はCentOSのディレクトリ構成になります。

/---
bin バイナリのコマンド群
boot 起動時に必要とするファイル群
dev デバイスファイル
etc システムの環境設定ファイル群
home ユーザーのホームディレクトリ
lib 共有ライブラリ群
lost+found
misc
opt ソフトウェアの拡張パッケージ群
proc
root ルートユーザーのホームディレクトリ
sbin システム管理者が利用するコマンド群
sys
tmp テンポラリファイル群。再起動後に削除される。
usr さまざまなファイルを格納するための第二階層
var 動的なデータを格納する場所


【/bin】
一般ユーザーも利用可能なコマンドがあり、基本的な操作に欠かせないコマンドを格納するディレクトリである。

【/boot】
Linux の起動に関するファイルが置かれている。

【/dev】
Linux で使用するデバイスに適応するためのデバイスファイルが置かれている。

【/etc】
システム設定ファイルが入っているディレクトリである。

【home】
ユーザーのホームとなるディレクトリがこの下に置かれる。例えば、"testuser"というユーザーがいれば、/home の下に/testuserというディレクトリが存在し、ホームディレクトリとなる。

【/lib】
システムを起動するのに必要なドライバモジュールやライブラリファイル用のディレクトリである。

【/lost+found】

なんらかの理由で破損し、行き先不明となったファイルを格納する場所である。

【/misc】
ファイルシステムを自動的にマウントする仕組みであるautofsによって利用される。

【/opt】
追加アプリケーションを格納する場所である。

【/proc】
システムのプロセスを維持するための各種ファイルが置かれている。

【/root】
ルートユーザーのホームディレクトリである。

【/sbin】
システム管理用のコマンドが置かれる場所である。

【/sys】
sysfsのディレクトリである

【/tmp】
プログラムが動作するときに必要な一時ファイルを格納するディレクトリである。

【/usr】
各種プログラムが置かれる場所である。さまざまなアプリケーションやその設定ファイル、ライブラリを格納する。

【/var】
ログ、メール、プリントスプールなどのいろいろなシステムファイルが格納されるディレクトリであり、追加・更新など日常的に内容が変化するファイルが置かれている



さらに、

├ media
├ mnt
├ net
├ selinux
├ srv



【/media】
CD-ROMやフロッピーディスクなどの外付けメディア用のディレクトリである。

【/mnt】
CD-ROM やフロッピーディスク、他のOS のパーティションなどをマウントする場所である。

【net】
/miscディレクトリと同様に、ファイルシステムを自動的にマウントする仕組みであるautofsによって利用される。

【/srv】
HTTP,FTPなどのサービス用のデータが入るディレクトリである。