※過去ログ Linux をWindows のファイルサーバーにする

Linux にsamba をインストールしてみました。(私の環境でうまくいったよ~という話でベストプラクティスではありません。)参考URL:Windowsファイルサーバー構築(Samba) – CentOSで自宅サーバー構築

# yum install samba

iptables のファイアウォールのポート解放。Windows 側のセキュリティソフトがあれば、ローカルサービスのTCP とUDP のポート135~139 445 をプライベートネットワークで受信許可して下さい。service iptables restart で設定反映。

# vi /sysconfig/iptables
・・・
-A INPUT -p tcp -m tcp --dport 135:139 -j ACCEPT
-A INPUT -p udp -m udp --dport 135:139 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 445 -j ACCEPT
・・・
# service iptables restart

ここでSamba ユーザー登録。Linux のユーザー名で、Windowsのアカウント名と同名に限ります。が、一時的にWindows のアカウント名をLinux 側に合わせて変更し、一度資格情報を保存すればWindows側 のユーザー名は元に戻してもアクセスできました。

# pdbedit -a gusachan
new password
retype new password

設定ファイルを編集します

# vi /etc/samba/smb.conf
・・・
[global]
・・・
 workgroup = WORKGROUP
    server string = SECURENET
・・・
    passdb expand explicit = no

Samba ファイルサーバー起動

# service smb start
# service nmb start
# chkconfig smb on
# chkconfig nmb on

エクスプローラ起動
samba_securenet

Windows ネットワークにサーバーが見えました。クリックすると「・・アクセス許可がありません」と蹴られました。ディレクトリを作成してSELinux のコンテキスト設定します。

# mkdir /home/gusachan/samba/
$ mkdir /home/samba/share (訂正 root権限で作成するとアクセス不可
# chcon -t samba_share_t /home/samba/share -R

samba_gusachan

フォルダが表示されました。

追記)表示されたフォルダにアクセスできるか検証したところ、ディレクトリの所有権がroot になっており、書き込み、フォルダ作成不可でした。追加で所有権変更コマンド

# chown -R samba:samba /home/samba/share/

としました。(本来は最初から、ユーザー権限でディレクトリ作成すれば良いです。上記訂正してお詫び申し上げます。)