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 ~]#
動作確認
- Windows エクスプローラーを開く。
- アドレスバーに、下記のパスを入力して、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 ~]#
[ Samba ]
0 件のコメント:
コメントを投稿