インストール
# yum -y install samba samba-client
iptables設定
# vi /etc/sysconfig/iptables
-A INPUT -p udp -s 192.168.0.0/24 --dport 137 -j ACCEPT
-A INPUT -p udp -s 192.168.0.0/24 --dport 138 -j ACCEPT
-A INPUT -p tcp -s 192.168.0.0/24 --dport 139 -j ACCEPT
-A INPUT -p tcp -s 192.168.0.0/24 --dport 445 -j ACCEPT
smb設定
# vi /etc/samba/smb.conf
[global]
unix charset = UTF-8 ← 追加(Linux側日本語文字コード)
dos charset = CP932 ← 追加(Windows側日本語文字コード)
# workgroup = NT-Domain-Name or Workgroup-Name
workgroup = MYGROUP
↓
workgroup = WORKGROUP ← 変更(Windowsのワークグループ名を指定)
※マイコンピュータのプロパティ⇒コンピュータ名タブ内のワークグループ欄を参照
; hosts allow = 192.168.0. 192.168.2. 127.
hosts allow = 192.168.0. 127. ← 追加(内部からのみアクセスできるようにする)
# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
; load printers = yes ← 行頭に;を追加(プリンタ共有無効化)※Sambaでプリンタを共有しない場合
load printers = no ← 追加(プリンタ共有無効化)※Sambaでプリンタを共有しない場合
disable spoolss = yes ← 追加(プリンタ共有無効化)※Sambaでプリンタを共有しない場合
[homes]
comment = Home Directories
path = %H
browseable = no
writable = yes
各ユーザー専用のごみ箱機能追加(ここから)
※ファイル削除時に自動的にごみ箱へ移動されるようにする
vfs objects = recycle ← ごみ箱の有効化
recycle:repository = .recycle ← ごみ箱のディレクトリ名(/home/ユーザー名/.recycle)
recycle:keeptree = no ← ごみ箱へ移動時にディレクトリ構造を維持しない
recycle:versions = yes ← 同名のファイルがごみ箱にある場合に別名で移動
recycle:touch = no ← ごみ箱へ移動時にタイムスタンプを更新しない
recycle:maxsize = 0 ← ごみ箱へ移動するファイルのサイズ上限(0:無制限)
recycle:exclude = *.tmp ~$* ← ここで指定したファイルはごみ箱へ移動せずに即削除する
各ユーザー専用のごみ箱機能追加(ここまで)
以下を最終行へ追加
[public]
comment = Public Stuff
path = /home/samba
public = yes
writable = yes
only guest = yes
共有ディレクトリのごみ箱機能追加(ここから)
※ファイル削除時に自動的にごみ箱へ移動されるようにする
vfs objects = recycle ← ごみ箱の有効化
recycle:repository = .recycle ← ごみ箱のディレクトリ名(/home/ユーザー名/.recycle)
recycle:keeptree = no ← ごみ箱へ移動時にディレクトリ構造を維持しない
recycle:versions = yes ← 同名のファイルがごみ箱にある場合に別名で移動
recycle:touch = no ← ごみ箱へ移動時にタイムスタンプを更新しない
recycle:maxsize = 0 ← ごみ箱へ移動するファイルのサイズ上限(0:無制限)
recycle:exclude = *.tmp ~$* ← ここで指定したファイルはごみ箱へ移動せずに即削除する
共有ディレクトリのごみ箱機能追加(ここまで)
smbユーザ作成
# useradd centos ← Linuxへユーザー新規登録(例としてcentosとする)
# passwd centos ← パスワード設定
# pdbedit -a centos ← Linuxに登録済のユーザーをSambaサーバーアクセス用ユーザーとして新規登録(例としてcentosとする)
smb起動
# systemctl start smb ← Samba起動※CentOS7の場合
# systemctl start nmb ← nmb起動※CentOS7の場合
# systemctl enable smb ← Samba自動起動設定※CentOS7の場合
# systemctl enable nmb ← nmb自動起動設定※CentOS7の場合
特別なユーザが操作できるディレクトリを作る
# useradd user2
# passwd user2
# pdbedit -a user2
# vi /etc/samba/smb.conf
[special-user-dir] ##### ← share_folder
comment = special user directory
path = /mnt/special-user-dir
browseable = no
valid users = user2 ← グループな場合、@groupname に設定
public = no
writable = yes
# chown user2:user2 special-user-dir
sambaサーバにCentosからアクセス
# mount -t cifs //SERVER/share_folder /mount_point -o username=USERNAME,password=PASSWORD
アンマウント
# umount /mount_point
マウント一覧
# df -TH