このWebサイト ひつじ帳 は、管理者がWEB関連の技術をまとめた備忘録サイトです。 Linux,CentOS,PHP,MySQL,Blogger,JavaScript,CSS について記録しています。

CentOS-7.1/Samba/インストール・設定

CentOS-7.1 ] [ 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 ~]#


Samba ]

0 件のコメント:

人気記事

このブログを検索