[メモ] Xubuntuでおひとり様サーバーを立てるまで 1
- 2010-06-15
- カテゴリ: Client Side
- タグ: Linux Xubuntu
余ってた古いPCにXubuntu 10.04を導入して自分専用サーバーを立てたので、初期設定等を忘れないうちにメモ。
主要な用途はSambaとSFTPを使ったファイルサーバー。Webサーバーは立ててない。
Ubuntu Server Editionを使わずにXubuntuを選んだのは、XmingでアクセスしてGnuCashとFontForgeを使うため。
ついでに、VALUE DOMAINがDynamic DNSに対応していたので、これを使って外部から接続できるように設定してみた。
Xubuntuのインストール
普通にXubuntuの公式サイトからXubuntu 10.04のディスクイメージをダウンロードして、CD-Rに焼いてインストールしただけ。日本語周りの諸問題に対応するのが面倒だったので英語でインストールした以外は、至って普通にウィザード通りにインストール。
Xubuntuのインストールが完了したら、ターミナルを立ち上げて↓のコマンドでsshサーバーをインストール。
sudo aptitude install ssh
ifconfig
コマンドで割り当てられたIPアドレスを調べたら、あとはLAN内の別のマシンからSSHで接続して作業する。これでEnterのききが悪いキーボードとはおさらば。
基本的な設定
SSHでXubuntuサーバーに接続したら、まずは↓のコマンドで各種アップデート。
sudo aptitude update sudo aptitude -y full-upgrade sudo shutdown -r now
↓vimは心の友。
sudo aptitude -y install vim
↓漢のzsh。
sudo aptitude -y install zsh chsh -s /bin/zsh
↓一時的に外部サーバーにアップロードしておいた各種設定ファイルのダウンロード。
wget 'http://***/***/.zshrc' wget 'http://***/***/.vimrc' wget -O - 'http://***/***/.vim.tar' | tar -xf -
SSH関連の設定
SSHのポートは外部にも公開する予定だったので、それなりにセキュリティに気を使って設定する。
まずは公開鍵認証で使う公開鍵の登録。僕はWindowsでTera Termを使っているので、メニューバーの「設定」→「SSH鍵生成」を使って秘密鍵/公開鍵を生成して、公開鍵をXubuntuサーバーの~/.ssh/authorized_keys
に書き込む。以後はパスワード認証ではなくて、公開鍵認証でサーバーにログインする。
続いてSSHサーバーの設定。↓のコマンドでSSHサーバーの設定ファイルを編集する。
sudo vim /etc/ssh/sshd_config
基本的にはUbuntuの初期設定通りだけど、↓の部分は変更する。
PermitRootLogin no # rootログインは無効にする
PasswordAuthentication no # パスワード認証は無効にする
MaxStartups 10:30:60 # 大量の認証リクエストを拒否する
AllowGroups sshuser # sshuserグループのメンバーのみにSSH接続を許可する
↓の設定は最初から有効になっていたけれど、重要っぽいので一応確認しておいたほうがいいかも。
Protocol 2 IgnoreRhosts yes RhostsRSAAuthentication no HostbasedAuthentication no PermitEmptyPasswords no ChallengeResponseAuthentication no
↓設定でSSH接続をsshuserグループのメンバーのみに限定したので、sshuserグループを作成して自分自身を追加する。これは、要はSSH接続は手動でホワイトリストに登録したユーザーだけに許可する運用にしますよ、という意思表示。
sudo groupadd sshuser sudo usermod -a -G sshuser liosk
FTP関連の設定
iPhone関連で使ったりする (参考) ので一応FTPサーバーを立てる。
↓proftpdのインストール。途中、「standaloneにする?それともinetd?」と聞かれるので、inetdと答える。FTPはほとんど使わないからinetdで十分。
sudo aptitude -y install proftpd
↓のコマンドでproftpdの設定。
sudo vim /etc/proftpd/proftpd.conf
基本的にはUbuntuの初期設定のまま使うけど、↓の一文だけ有効にする。
DefaultRoot ~/Public
FTPユーザーをホームディレクトリのPublicディレクトリの中だけに閉じ込める。かなり厳しい制約だけど、SSHポートを開けてるんだから嫌ならSFTP使えってこと。もちろんanonymousアクセスも拒否。
Samba関連の設定
Windowsとファイルを共有するためのSamba関連の設定。
↓まずはインストール。
sudo aptitude -y install samba
↓そして設定。
sudo vim /etc/samba/smb.conf
例によって基本はUbuntu初期設定通りだけど、↓の部分は変更。
unix password sync = no
SambaユーザーパスワードとUNIXユーザーパスワードの同期は無効にする。SambaユーザーパスワードはどうせWindowsに暗記させるから、UNIXパスワードとは違って無駄に長いパスワードを設定しておくため。
共有するフォルダの設定は↓。
[homes] comment = Home Directories browseable = no read only = no create mask = 0644 directory mask = 0755 valid users = %S
各ユーザーのホームディレクトリに各ユーザーだけがアクセスできるように設定している。
↓続いて、Samba用のユーザーアカウントの作成。
echo $RANDOM `date` `dmesg` | openssl dgst -sha384 -binary | base64 > mysmbpass cat mysmbpass mysmbpass | sudo pdbedit -atu liosk
適当にシードになりそうな出力とSHAから十分な長さのパスワードを生成して、pdbedit
コマンドで新しく作ったSambaユーザーアカウントにそのパスワードを設定している。Windows側でもmysmbpassの中身を暗記させてやればok。
続く
長くなったので次回に続く。
関連記事
- [JavaScript] newは大事だよ!
- [メモ] Xubuntuでおひとり様サーバーを立てるまで 2
- [メモ] Xubuntuでおひとり様サーバーを立てるまで 1
- 乱数の精度を調べてたらOpera Miniのバグを見つけた
- JavaScriptの乱数の精度の話
トラックバック URL
- http://liosk.blog103.fc2.com/tb.php/200-d8a03ef6