タグ: centos

fstabに追記

相手方がsambaで共有設定している場合はそれに合わせて

vi /etc/fstab

//192.168.1.2/D /media/D cifs username=hoehoe,password=moemoe 0 0

とか記述していく。

ただ単に自前のハードディスクをマウントさせたい場合は
CentOSの場合

/dev/sdc /media/D ext4 defaults 0 0

ubuntuの場合

UUID=adc077c2-f98e-40b6-8b6d-66d4d65ffd95 /media/D ext4 defaults 0 0

というようなカンジになる。
ubuntuはUUIDで書かないとマウントしてくれない。

ifcfg-eth0

vi /etc/sysconfig/network-scripts/ifcfg-eth0

で開けると

DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:00:00:00:00:00"
NM_CONTROLLED="yes"
ONBOOT="no"
TYPE="Ethernet"

しか書いてないので

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:00:00:00:00:00"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR="192.168.1.31"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
IPV6INIT="no"

ぐらいにしておく。

/etc/init.d/network restart

で再起動して

ifconfig

でIPが割り当てられていることを確認。

CentOS 6

vSphere にのっかった CentOS の設定とか。
基本はminimum構成でインストール。
ココにあるのはCentOS6でやったことが主です。CentOS7は別カテゴリに。

sambaの共有ディスクを自動マウント

samba-clientがインストールされていなかったら

yum install samba-client

で事前にインストールする。
自分が誰かに共有ディスクを配信するわけではないのでclientだけでOK。

vi /etc/fstab

で、以下のようなカンジで追記する。

# Drive-D
//192.168.1.1/media/D /mnt/D/ smbfs username=hoehoe,password=moemoe,defaults 0 0

変更・保存したら

mount -a

とやると、fstabに書いてあることを再度実行してくれるので、マウントできるか確認して終了。

NTPサーバと時刻合わせ

ntpdate IPアドレス

これだけ。
これをrc.localかcrontabにでも書いておけば定期的にやってくれる、はず。

これもめんどくさいということであれば、ntpd を使ってやる。

vi /etc/ntp.conf

で、22~24行目に

server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org

という記述があるので、ココを自分の好きなntpサーバに書き換える。
例えば、

server 192.168.100.109

のように。

書き換えたら保存して

/etc/init.d/ntpd start

で実行する。
ntpd はデフォルトでは自動起動しないようになっているので

chkconfig ntpd on

で再起動しても自動的に起動するように設定しておく。

kdumpを無効にしたい

vmware playerにCentOSを入れようとすると半自動化でインストールしてくれる。
途中のステップがすべて省かれるのでありがたいんだけど、途中で無効にしたいkdumpが有効で自動設定されてしまう。
で、割り当てているメモリが少ないのでkdumpは起動に失敗する。
なので無効にしたい。

chkconfig kdump off

で無効に。

chkconfig --list | grep kdump
kdump          	0:off	1:off	2:off	3:off	4:off	5:off	6:off

無効になっていることを確認して終了。

lynx http_proxy

proxy の設定をしないと外に出れない。。。
コマンドオプションをつけるわけではないらしく、設定ファイルを書換えということでした。

vi /etc/lynx.cfg

で編集画面に入って、[ http_proxy ] と書いてあるところを探します。
だいたい、1640行目あたり。

#http_proxy:http://some.server.dom:port/

みたいに書いてあるところがあるので、この行をコピペして編集し、
コメントアウトを外せばOKです。

内部ネットワークなど proxy を通したくない場合は、

no_proxy:some.server.dom

のように記述すれば指定したアドレスは proxy を通さないようになります。
no_proxy はアタマに [ http:// ] をつけていたり、末尾に [ / ] をつけていたりするとうまく動かないらしい。

yumのproxy越え

[ yum ] も社内からネットに接続するにはプロキシの設定が必要。

vi /etc/yum.conf

で以下の追記をしてみる。

proxy=http://IPアドレス:ポート番号/

追記したら

/etc/init.d/yum-updatesd restart

で再起動してから再度 [ yum update ] を試みる。
ちなみに追記が

proxy=http://katzplus.com/xxxxx.pac

では失敗しました。

公開鍵秘密鍵の生成

sshでログインするときにパスワード入力が面倒。
もしくはscpとかやるときに自動でログインしたい。
というときのために。

ssh がインストールされていなかったらクライアント側サーバ側ともに事前にインストールしておく。

yum install openssh-clients

クライアント側(あやつる側)(192.168.1.10)で

ssh-keygen -t rsa

これで鍵生成。
作るときに

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

とか聞かれる気がする。
passphrase 入れると毎回聞かれて自動でログインって言う目的に合致しないので、
今回入れない。
rootユーザでログインしていれば[ /root/.ssh/ ]配下に id_rsa と id_rsa.pub が出来るはず。
id_rsa.pub が公開鍵なので色々なところに使いまわす。
鍵を作ったクライアントがわかるように

mv id_rsa.pub id_rsa.pub.192.168.1.10

で変更しておく。

そのまま

scp id_rsa.pub.192.168.1.10 root@192.168.1.11:/root/.ssh/id_rsa.pub.192.168.1.10

で id_rsa.pub をサーバ側(あやつられる側)にコピーして。

サーバ側(192.168.1.11)にコピーされたことが確認できたらサーバ側で

cat id_rsa.pub.192.168.1.10 >> authorized_keys

とかやる。
authorized_keys ファイルが存在するかどうかは気にしない。追記だから。
むしろすでにあるならcpとかで下手に上書きしないように気をつける。

で、
authorized_keys が作成された場合はパーミッションが644あたりになっているので、

chmod 600 authorized_keys

でrootさん以外触れないようにしておく。

したらクライアント側(192.168.1.10)から

ssh -i /root/.ssh/id_rsa root@192.168.1.11

みたいにしてサーバ側にログインできるか確認する。
『-i』が秘密鍵を使用するよオプション。-iの後ろでファイル名を指定する。
ログインできたら後はscpなりなんなり。

クライアントはWindowsだ!
というわがままさんの場合はサーバ側で鍵生成、
出来たid_rsa.pubをそのままauthorized_keysにコピー、
id_rsaをWindowsのクライアントに持っていってログインする方法でも構わないです。
要はid_rsaとid_rsa.pubが対になっているということだけ。

イメージとしては

  1. 自分(クライアント)が鉄人(サーバ)のコントローラ(id_rsa)とその受信機(id_rsa.pub)を作る。
  2. 受信機(id_rsa.pub)を鉄人(サーバ)に埋め込む。
  3. コントローラ(id_rsa)を使って「うごけてつじーん!」

ってカンジ。

いまさらのBASIC認証

とりあえず Apache が動いていることは確認しておく。

htpasswd -c /etc/apache2/.htpasswd AuthUser

のようなカンジでAuthUserの .htpasswd ファイルを作成する。
入力すると次のように聞いてくるので、Password を2回タイプする。

New password:
Re-type new password:
Adding password for user AuthUser

2人目以降は「-c」は要らないです。

.htpasswd ファイルが出来上がったら apache の conf ファイルをいじる。
認証をかけたいディレクトリに以下の記述をプラス。

<Directory /var/www/html/>
AuthType Basic
AuthName "Private Area"
AuthUserFile /etc/apache2/.htpasswd
Require user AuthUser
</Directory>

ここまでできたら Apache を再起動。

service apache2 restart

で、いけるはず。

いまさらのDIGEST認証

とりあえず Apache が動いていることは確認しておく。

htdigest -c /media/D/.htdigest 'DigestAuthArea' AuthUser

のようなカンジでAuthUserの .htdigest ファイルを作成する。
「-c」はファイル作成の意味なので2人目以降は要らないです。
このファイルは、外から見れるディレクトリには置かない方が吉。だけど、rootしか見れないようなところに置くと、Apacheも読み込めなくなって起動できなくなるので注意。
「’DigestAuthArea’」は、認証時に出てくるタイトル部分?だと思う。
「AuthUser」は実際に入力するユーザー名なのでなんでも良し。

入力すると次のように聞いてくるので、Password を2回タイプする。

New password:
Re-type new password:

.htdigest ファイルが出来上がったら apache の conf ファイルをいじる。
認証をかけたいディレクトリに以下の記述をプラス。

AuthType Digest
AuthName "DigestAuthArea"
AuthDigestDomain /digest/
AuthUserFile /media/D/.htdigest
Require user AuthUser

「AuthName」は、上の.htdigestファイルを作成した時の認証時に出てくるタイトル部分?と同じものを。
「AuthDigestDomain」は、認証をかけたいディレクトリを指定。
実際には「<Directory /var/www/html/digest>」と書いているので、同じディレクトリ名を指定すればOK?
「AuthUserFile」は、上の.htdigestファイルを作成した場所。
「Require user」も、上の.htdigestファイルで書いたユーザー名。

ここまでできたら Apache を再起動。

service apache2 restart

で、いけるはず。

Invalid command 'AuthDigestFile', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!

みたいに、AuthDigestFile なんてコマンド知らないって言われたら、mods-enabled ディレクトリで auth-digest.load が読み込まれているか確認する。
読み込まれていなかったら、mods-available ディレクトリにある auth-digest.load のリンクを mods-enabled ディレクトリに作成して Apache を起動しなおす。