[メモ] Xubuntuでおひとり様サーバーを立てるまで 1

[メモ] Xubuntuでおひとり様サーバーを立てるまで 1

余ってた古いPCにXubuntu 10.04を導入して自分専用サーバーを立てたので、初期設定等を忘れないうちにメモ。

主要な用途はSambaSFTPを使ったファイルサーバー。Webサーバーは立ててない。

Ubuntu Server Editionを使わずにXubuntuを選んだのは、XmingでアクセスしてGnuCashFontForgeを使うため。

ついでに、VALUE DOMAINDynamic 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。

続く

長くなったので次回に続く。

続きを書きました!

スポンサーサイト

関連記事

トラックバック URL

http://liosk.blog103.fc2.com/tb.php/200-d8a03ef6

トラックバック

コメント

コメントの投稿

お名前
コメント
編集キー