samba インストール

sambaをインストール

yum -y install samba

 

新規ユーザーを作成

useradd smb_user

passwd smb_user

 

既存ユーザをSambaサーバーアクセス用ユーザに設定

pdbedit -a smb_user

new password: +++++++

retype new password: +++++++

 

 共有ディレクトリ作成

mkdir /var/www/

chown nobody:nobody /home/samba

 

Samba設定ファイル編集

vim /etc/samba/smb.conf

*******************************************************************

[global]

        # Linux側日本語文字コード

        unix charset = UTF-8

        # Windows側日本語文字コード

        dos charset = CP932

        # Linux側日本語文字コード

        display charset = UTF-8

 

        workgroup = WORKGROUP

        # ログイン時 ユーザー名 & パスワード の認証が必要

        security = user

 

        # 内部からのアクセスのみ許可

        hosts allow = 192.168. 127.

 

        # (プリンタ共有無効化)※Sambaでプリンタを共有しない場合

        load printers = no

        # (プリンタ共有無効化)※Sambaでプリンタを共有しない場合

        disable spoolss = yes

 

[homes]

        comment = HomeDirectories

        # /home/ユーザー名/sambaをホームディレクトリにする

        path = %H/samba

        browseable = no

        writable = yes

        #  ※ファイル削除時に自動的にごみ箱へ移動されるようにする

        vfsobjects = recycle

        # ごみ箱のディレクトリ名(/home/ユーザ名/.recycle)

        recycle:repository = .recycle

        # ごみ箱へ移動時にディレクトリ構造を維持しない

        recycle:keeptree = no

        # 同名のファイルがごみ箱にある場合に別名で移動

        recycle:versions = yes

        # ごみ箱へ移動時にタイムスタンプを更新しない

        recycle:touch = no

        # ごみ箱へ移動するファイルのサイズ上限(0:無制限)

        recycle:maxsize = 0

        # ここで指定したファイルはごみ箱へ移動せずに即削除する

        recycle:exclude = *.tmp~$*

 

[public]

        comment = Public Stuff

        path = /home/samba

        public = no

        writable = yes

        only guest = yes

        #  ※ファイル削除時に自動的にごみ箱へ移動されるようにする

        vfsobjects = recycle

        # ごみ箱のディレクトリ名(/home/ユーザ名/.recycle)

        recycle:repository = .recycle

        # ごみ箱へ移動時にディレクトリ構造を維持しない

        recycle:keeptree = no

        # 同名のファイルがごみ箱にある場合に別名で移動

        recycle:versions = yes

        # ごみ箱へ移動時にタイムスタンプを更新しない

        recycle:touch = no

        # ごみ箱へ移動するファイルのサイズ上限(0:無制限)

        recycle:maxsize = 0

        # ここで指定したファイルはごみ箱へ移動せずに即削除する

        recycle:exclude = *.tmp~$*

        # sambaログの吐き出しルールを記述

 

       vfs objects = full_audit

       full_audit:facility = local1
       full_audit:prefix = %m|%I|%S
       full_audit:failure = connect disconnect mkdir rmdir pwrite rename unlink
       full_audit:success = connect disconnect mkdir rmdir pwrite rename unlink

*******************************************************************

 

Samba起動

service smb start

nmb起動

nmb start

 

Samba / nmb 自動起動設定

chkconfig smb on

chkconfig nmb on

 

rsyslogでsambaのログ吐き出しルールを設定

ログの吐き出し先を/etc/rsyslog.confに記述する。
現状だと/var/log/messagesに設定したログが吐き出されてしまうが、
messagesはsamba以外のログも吐き出されるので、sambaのログと切り分ける。

vim /etc/rsyslog.conf

$template sharetmpl, "/var/log/samba/%$year%-%$month%.log"
local1.* ?sharetmpl

 

 

ごみ箱内ファイル自動削除スクリプト作成

(1週間ごとに30日間アクセスのないごみ箱内のファイルを自動的に削除)

vim /etc/cron.weekly/recyclewatch

************************************************************

#!/bin/bash

for user in `ls /home/`

do

    if [ -d /home/$user/.recycle ]; then

        tmpwatch -f 720 /home/$user/.recycle/

    fi

done

************************************************************

 

スクリプトに実行権限付加

chmod +x /etc/cron.weekly/recyclewatch

 

SELinuxの停止法

vim /etc/sysconfig/selinux

SELINUX=enforcing

 ↓

SELINUX=disabled

 

 

sambaユーザの確認

pdbedit -L

 

sambaユーザー削除

pdbedit -x hoge