[ Samba ]

Samba (ファイル共有) インストール・設定

  • ファイル共有サーバーをインストール・設定します。
  • yum コマンドで、Samba をインストールします。
    • samba-4.2.10 は、Mac(Macintosh)からの接続ができない不具合がある為、samba-4.2.3 をインストールする。

Samba インストール

##■ Samba インストールされているか否か確認
[root@localhost ~]# rpm -qa | grep samba
[root@localhost ~]#

##■ 上記で結果が返ってこなければ、インストールする
[root@localhost ~]# yum install samba-4.2.3

	~ 中略 ~

====================================================================================================================
 Package                           アーキテクチャー      バージョン                    リポジトリー            容量
====================================================================================================================
インストール中:
 samba                             x86_64                4.2.3-12.el7_2                updates                602 k
依存性関連でのインストールをします:
 libwbclient                       x86_64                4.2.3-12.el7_2                updates                 95 k
 samba-client-libs                 x86_64                4.2.3-12.el7_2                updates                4.3 M
 samba-common                      noarch                4.2.3-12.el7_2                updates                269 k
 samba-common-libs                 x86_64                4.2.3-12.el7_2                updates                156 k
 samba-common-tools                x86_64                4.2.3-12.el7_2                updates                443 k
 samba-libs                        x86_64                4.2.3-12.el7_2                updates                259 k

トランザクションの要約
====================================================================================================================
インストール  1 パッケージ (+6 個の依存関係のパッケージ)

総ダウンロード容量: 6.1 M
インストール容量: 21 M
Is this ok [y/d/N]: y [Enter]		# ← 応答 [y] を入力して、[Enter]

	~ 中略 ~

インストール:
  samba.x86_64 0:4.2.3-12.el7_2

依存性関連をインストールしました:
  libwbclient.x86_64 0:4.2.3-12.el7_2                          samba-client-libs.x86_64 0:4.2.3-12.el7_2
  samba-common.noarch 0:4.2.3-12.el7_2                         samba-common-libs.x86_64 0:4.2.3-12.el7_2
  samba-common-tools.x86_64 0:4.2.3-12.el7_2                   samba-libs.x86_64 0:4.2.3-12.el7_2

完了しました!
[root@localhost ~]#

Samba 起動

##■ smbd(ファイル共有機能等) を起動する
[root@localhost ~]# systemctl start smb.service
[root@localhost ~]#

##■ nmbd(ブラウジング機能等) を起動する
[root@localhost ~]# systemctl start nmb.service
[root@localhost ~]#

Samba用Linuxユーザ 作成

##■ Linuxユーザを新規作成する
[root@localhost ~]# useradd -m -s /bin/bash -c "Samba" samba
[root@localhost ~]#

Samba用Linuxユーザ パスワード設定

##■ パスワードを設定する
[root@localhost ~]# passwd samba
ユーザー samba のパスワードを変更。
新しいパスワード:				# ← パスワード応答
新しいパスワードを再入力してください:		# ← パスワード応答(確認)
passwd: すべての認証トークンが正しく更新できました。
[root@localhost ~]#

Sambaユーザー 登録

##■ Sambaサーバーのアクセス用ユーザーに、Linuxの登録済ユーザーを新規登録する
[root@localhost ~]# pdbedit -a samba
new password:				# ← パスワード応答
retype new password:			# ← パスワード応答(確認)

	~ 中略 ~

[root@localhost ~]#

##■ Samba ユーザーアカウントを確認する
[root@localhost ~]# pdbedit -L
samba:1006:Samba
[root@localhost ~]#

共有ディレクトリ 作成・設定

  • /home/samba/smb 以下のディレクトリに共有ディレクトを設定する
##■ 共有ディレクトリの作成と所有者を変更する
[root@localhost ~]# mkdir /home/samba/smb
[root@localhost ~]#
[root@localhost ~]# chown samba:samba /home/samba/smb
[root@localhost ~]#

##■ 共有ディレクトリ(セクション)を作成する
[root@localhost ~]# mkdir -p /home/samba/smb/{public,temp,test}
[root@localhost ~]#

##■ 共有ディレクトリ(セクション)の所有者を変更する
[root@localhost ~]# chown nobody:nobody /home/samba/smb/*
[root@localhost ~]#

##■ 共有ディレクトリ(セクション)のパーミッションを変更する
[root@localhost ~]# chmod 777 /home/samba/smb/*
[root@localhost ~]#

Samba 設定

##■ Samba設定ファイルをバックアップする
[root@localhost ~]# cp -a /etc/samba/smb.conf /etc/samba/smb.conf.org
[root@localhost ~]#

##■ Samba 設定ファイルを編集する
[root@localhost ~]# vi /etc/samba/smb.conf

--------------------------------------------------
[global]
	##★ Linuxの日本語文字コード を追加
	unix charset = UTF-8

	##★ Windowsの日本語文字コード を追加
	dos charset = CP932


	##★ ワークグループ名
	workgroup = MYGROUP
	  ## ↓ 変更する
	#workgroup = MYGROUP
	workgroup = WORKGROUP


	##★ ネットワークコンピュータ名
;	netbios name = MYSERVER
	  ## ↓ 追記する
;	netbios name = MYSERVER
	netbios name = my_samba  (※例 vm-lan)


	##★ ネットワークコンピュータ名の別名を追加する
	netbios aliases = share_server public_server (例 vm_lan vm.lan)


	##★ アクセスを許可するIPアドレス
;	hosts allow = 127. 192.168.12. 192.168.13.
	  ## ↓ 変更する
;	hosts allow = 127. 192.168.12. 192.168.13.
	hosts allow = 127. 192.168.


	##★ 認証なし設定
	security = user
	passdb backend = tdbsam
	  ## ↓ map to guest を追記する
	security = user
	passdb backend = tdbsam
	map to guest = Bad User


	##★ ブラウジング
;	local master = no
;	os level = 33
;	preferred master = yes
	  ## ↓ 追記する
;	local master = no
;	os level = 33
;	preferred master = yes
	local master = yes
	os level = 200
	preferred master = yes


	##★ プリンタ共有を無効化
	load printers = yes
	  ## ↓ 変更する
	#load printers = yes
	load printers = no

	  ## ↓ 追記する
	disable spoolss = yes


##★ セクション設定
[public]
	##★ ディレクトリの説明欄に表示
	comment = Public Stuff

	##★ 共有フォルダを指定
	path = /home/samba/smb/public

	##★ 書き込みを許可する
	writable = yes

	##★ ゲストユーザーを許可する
	guest ok = yes

	##★ 全てゲストユーザーとして扱う (only guest と同義)
	guest only = yes

	##★ フルアクセスでファイルを作成する
	create mode = 0777

	##★ フルアクセスでフォルダを作成する
	directory mode = 0777

	##★ 表示もアクセスもさせたくないファイルやディレクトリを指定
	veto files = /Thumbs.db/.DS_Store/.Trashes/.TemporaryItems/.AppleDesktop/.AppleDouble/._*/

	##★ フォルダを削除する時に一緒に `veto files` で指定したファイルを削除する
	delete veto files = yes

	##★ ごみ箱機能を使う(ごみ箱の有効化)
	vfs objects = recycle

	##★ ごみ箱のディレクトリパス(/home/[ユーザ名]/.recycle 等)
	recycle:repository = .recycle

	##★ ごみ箱へ移動時にディレクトリ構造を維持する
	recycle:keeptree = yes

	##★ 同名のファイルがごみ箱にある場合に別名で移動する
	recycle:versions = yes

	##★ ごみ箱へ移動時にタイムスタンプを更新しない
	recycle:touch = no

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

	##★ ここで指定したファイルはごみ箱へ移動せずに即削除する
	recycle:exclude = *.tmp ~$* *.mdb *.ldb *.accdb *.laccdb
--------------------------------------------------

##■ 保存して編集終了
:wq
[root@localhost ~]#

Samba 起動設定

##■ Samba 再起動
[root@localhost ~]# systemctl restart smb.service
[root@localhost ~]#

[root@localhost ~]# systemctl restart nmb.service
[root@localhost ~]#

##■ 自動起動を設定する
[root@localhost ~]# systemctl enable smb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[root@localhost ~]#

[root@localhost ~]# systemctl enable nmb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/nmb.service to /usr/lib/systemd/system/nmb.service.
[root@localhost ~]#

##■ Firewall 設定
[root@localhost ~]# firewall-cmd --zone=public --add-service=samba --permanent
success
[root@localhost ~]#

##■ Firewall 再起動
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]#

Samba バージョン確認

[root@localhost ~]# smbd --version
Version 4.2.3
[root@localhost ~]#

動作確認

  1. Windows エクスプローラーを開く。
  2. アドレスバーに、下記のパスを入力して、public フォルダが表示されれば、成功。
    • 【\\sc.lan】
    • Sambaをインストールした\\IPアドレス 例:【\\192.168.11.200】

ごみ箱内ファイル 自動削除設定

※ 毎日、アクセスが30日間無い ごみ箱内のファイルを自動的に削除するようにする。

tmpwatch インストール

##■ Samba インストールされているか否か確認
[root@localhost ~]# rpm -qa | grep tmpwatch
[root@localhost ~]#

##■ 上記で結果が返ってこなければ、tmpwatch をインストールする
[root@localhost ~]# yum install tmpwatch

	~ 中略 ~

=============================================================================================
 Package               アーキテクチャー    バージョン                リポジトリー       容量
=============================================================================================
インストール中:
 tmpwatch              x86_64              2.11-5.el7                base               38 k
依存性関連でのインストールをします:
 psmisc                x86_64              22.20-9.el7               base              140 k

トランザクションの要約
=============================================================================================
インストール  1 パッケージ (+1 個の依存関係のパッケージ)

総ダウンロード容量: 179 k
インストール容量: 537 k
Is this ok [y/d/N]: y [Enter]		# ← 応答 [y] を入力して、[Enter]

	~ 中略 ~

インストール:
  tmpwatch.x86_64 0:2.11-5.el7

依存性関連をインストールしました:
  psmisc.x86_64 0:22.20-9.el7

完了しました!
[root@localhost ~]#

自動削除スクリプト 作成

##■ ごみ箱内ファイル自動削除スクリプトを作成する
[root@localhost ~]# vi /etc/cron.daily/samba_recyclewatch.cron

--------------------------------------------------
#!/bin/bash

for section in `ls /home/samba/smb`
do
	if [ -d /home/samba/smb/$section/.recycle ]; then
		tmpwatch --force --dirmtime 720 /home/samba/smb/$section/.recycle/
	fi
done
--------------------------------------------------

##■ 保存して編集終了
:wq
[root@localhost ~]#

##■ スクリプトに実行権限付加
[root@localhost ~]# chmod +x /etc/cron.daily/samba_recyclewatch.cron
[root@localhost ~]#

yum update 除外

※ yum のアップデート時に、samba は除外するように設定しておく

##■ ファイルを編集する
[root@localhost ~]# vi /etc/yum.conf

--------------------------------------------------
##★ 初めて設定する場合
exclude=samba*

##★ 既存の設定データがある場合は、追記する
exclude=httpd* samba*
--------------------------------------------------

##■ 保存して編集終了
:wq
[root@localhost ~]#

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-12-16 (金) 11:58:35 (672d)