WindowsからLinuxにアクセスする場合、DNSなどで名前を定義しなくてもアクセスできるようになります。
(Windows同士なら、互いの端末名が見えたり、端末名でアクセスできますよね? あれです)
FTPとか、SCPで十分って人には必要ありません。
(1)インストール
aptitude update
aptitude install samba
(2)設定ファイル変更
/etc/samba/smb.conf のバックアップ
cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
あとはエディタで開いて編集
vim /etc/samba/smb.conf
私の場合はこんな感じ?
# Windowsと一緒のワークグループに変更
workgroup = WORKGROUP
# Apache用のフォルダ
[web_root]
comment = Apache Folder
path = /var/www
writable = yes
browseable = yes
create mode = 0775
directory mode = 0777
public = no
guest only = no
read only = no
# 全部見えるけど、書き込みは許さない
[system_root]
comment = Root Folder
path = /
writable = no
browseable = yes
create mode = 0775
directory mode = 0777
public = no
guest only = no
read only = no
以上の変更を行った後、ファイルを上書きしてサービスの再起動。
/etc/init.d/samba restart
ちなみに、restartのところには、他に、start、stop、reloadなんてものがある。
他にもあるかもしれないけれど、使ったこと無いなぁ。
(3)samba用のパスワードを変更
アクセスしたいユーザ(システムに存在するユーザであること)が「hoge」だった場合は、以下のようにする。
smbpasswd hoge
あとは、新しいパスワードを聞かれるので入力すればよい。
rootでやらないと、現在のパスワードを聞かれてしまうので注意。
設定前は不明なのですよ。
(4)Windowsからアクセスしてみる。
マイコンピュータのアドレスに以下のように指定すると、共有の一覧に表示されます。
\\端末名\
※「browseable = no」にしている場合だったか、共有名の最後に「$」をいる場合だったか忘れたけれど、そうすると共有が一覧にはでないので注意。
一覧に表示しないように設定した場合は、以下のように共有名を指定するだけ。
サンプルだと「web_root」というところですね。
\\端末名\共有名
端末名はインストール時に指定しているけれど、わからなくなってしまった場合は以下のコマンドでわかるはず。
ファイルに書かれているんですよ。
cat /etc/hostname

