●Sambaのインストール
参考URL:Windowsファイルサーバー構築(Samba)
参考URL:sambaサーバ構築 centos7
●Sambaサーバーアクセス用ユーザー作成
Sambaサーバーアクセス用ユーザーを作成します。
●ホームディレクトリの作成
新規ユーザーの場合
●共有ディレクトリの作成
共有ディレクトリを作成します。
●Sambaの設定
設定ファイルのバックアップまたはサンプルファイルコピー後、編集します。
●smb.confファイルの構文チェック
smb.confファイルの構文が正しいかどうかをチェックします。
●Sambaの起動
自動起動の設定及び起動を実施します。
●Sambaが通信できるようにFirewallを設定する
Linux側でsambaの通信が行えるよう、firewallの設定を変更する。
●SELinuxの設定変更
SELinuxが有効の場合、SELinuxの設定を変更し、sambaの利用を許可する。
●ごみ箱内ファイルを自動削除する設定
1週間ごとに30日間アクセスのないごみ箱内のファイルを自動的に削除するようにします。
●特定ユーザーのみ読み書き可能なフォルダを作成
ただし、読み書き可能とするユーザーsmbuser1、smbuser2はすでに登録済とします。
特定ユーザーのみ読み書き可能とするディレクトリ(例:/home/private1)を作成します。
●特定グループのみ読み書き可能なフォルダを作成
特定グループのみ読み書き可能とするディレクトリ(例:/home/private2)を作成します。
●
●
見出し2
●
●
参考URL:Windowsファイルサーバー構築(Samba)
参考URL:sambaサーバ構築 centos7
# yum install samba samba-client samba-common -y
●Sambaサーバーアクセス用ユーザー作成
Sambaサーバーアクセス用ユーザーを作成します。
---------- 新規にユーザーを作成する場合はここから ---------- Linuxへユーザー新規登録 # useradd smbuser パスワード設定 # passwd smbuser Changing password for user smbuser. New password: Retype new password: passwd: all authentication tokens updated successfully. ---------- 既存のユーザーをSambaサーバーアクセス用ユーザーとする場合はここから ---------- # pdbedit -a smbuser new password: retype new password: Unix username: smbuser NT username: Account Flags: [U ] User SID: S-1-5-21-4111753210-2934671219-1498331940-1001 Primary Group SID: S-1-5-21-4111753210-2934671219-1498331940-513 Full Name: smbuser Home Directory: \\smbserver\smbuser HomeDir Drive: Logon Script: Profile Path: \\smbserver\smbuser\profile Domain: Linux Account desc: Workstations: Munged dial: Logon time: 0 Logoff time: 木, 07 2月 2036 00:06:39 JST Kickoff time: 木, 07 2月 2036 00:06:39 JST Password last set: 土, 01 8月 2020 02:01:44 JST Password can change: 土, 01 8月 2020 02:01:44 JST Password must change: never Last bad password : 0 Bad password count : 0 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
●ホームディレクトリの作成
新規ユーザーの場合
# mkdir /etc/skel/samba既存ユーザーの場合
# vi mkhomedir.sh #!/bin/bash for user in `ls /home` do id $user > /dev/null 2>&1 [ $? -eq 0 ] && \ [ ! -d /home/$user/samba ] && \ mkdir /home/$user/samba && \ chown $user:$user /home/$user/samba && \ echo "/home/$user/samba create" done既存ユーザーsamba用ディレクトリ作成スクリプト実行
# sh mkhomedir.sh既存ユーザーsamba用ディレクトリ作成スクリプト削除
# rm -f mkhomedir.sh
●共有ディレクトリの作成
共有ディレクトリを作成します。
# chmod -R 0777 /share # chown -R nobody:nobody /share
●Sambaの設定
設定ファイルのバックアップまたはサンプルファイルコピー後、編集します。
# mv /etc/samba/smb.conf /etc/samba/smb.conf.bk または # cp -p /etc/samba/smb.conf.example /etc/samba/smb.conf # vi /etc/samba/smb.conf設定ファイルの内容
[global] workgroup = BIGBANG server string = Samba Server %v # ブラウズリストでコンピュータ名の横に表示されるテキスト netbios name = linux # セキュリティレベル(デフォルトを採用)。クライアントがどのように Samba に応答するかを決めるもの security = user # 内部からのみアクセスできるようにする hosts allow = 192.168.0. # このパラメーターは、SECURITY = security モードが security = share 以外の時、すなわち user、server、 domain のときにのみ有用である。 # 存在するユーザーに対する不正なパスワードによるログイン要求は拒否する。 # 指定されたユーザーが存在しなかった場合はゲストログインとして扱い、 guest account で指定されたアカウントにマッピングする。 map to guest = bad user dns proxy = no # 管理者はユーザーとグループ情報の格納に、どのような機構(backend)を使用するか passdb backend = tdbsam # inux側日本語文字コード unix charset = UTF-8 # Windows側日本語文字コード dos charset = CP932 # 長いファイル名の文字化け対処 mangled names = no # 上記対処でファイルアクセス不可になる一部文字の置換 vfs objects = catia # 上記対処でファイルアクセス不可になる一部文字の置換 catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6 [homes] comment = Home Directories # /home/ユーザー名/sambaをホームディレクトリにする path = %H/samba browseable = No #read only = No #inherit acls = Yes writable = yes # 各ユーザー専用のごみ箱機能追加(ここから) # ※ファイル削除時に自動的にごみ箱へ移動されるようにする # ごみ箱の有効化 vfs objects = recycle # ごみ箱のディレクトリ名(/home/ユーザー名/.recycle) recycle:repository = .recycle # ごみ箱へ移動時にディレクトリ構造を維持しない recycle:keeptree = no # 同名のファイルがごみ箱にある場合に別名で移動 recycle:versions = yes # ごみ箱へ移動時にタイムスタンプを更新しない recycle:touch = no # ごみ箱へ移動するファイルのサイズ上限(0:無制限) recycle:maxsize = 0 # ここで指定したファイルはごみ箱へ移動せずに即削除する recycle:exclude = *.tmp ~$* # 各ユーザー専用のごみ箱機能追加(ここまで) [share] #共有させるディレクトリ path = /share/ #マイネットワークに表示させるか否か browsable =yes #書き込み可能かどうか writable = yes #ゲストユーザのログインが可能かどうか guest ok = yes #読込みのみとするか read only = no # 共有ディレクトリのごみ箱機能追加(ここから) # ※ファイル削除時に自動的にごみ箱へ移動されるようにする # ごみ箱の有効化 vfs objects = recycle # ごみ箱のディレクトリ名(/home/ユーザー名/.recycle) recycle:repository = .recycle # ごみ箱へ移動時にディレクトリ構造を維持しない recycle:keeptree = no # 同名のファイルがごみ箱にある場合に別名で移動 recycle:versions = yes # ごみ箱へ移動時にタイムスタンプを更新しない recycle:touch = no # ごみ箱へ移動するファイルのサイズ上限(0:無制限) recycle:maxsize = 0 # ここで指定したファイルはごみ箱へ移動せずに即削除する recycle:exclude = *.tmp ~$* # 共有ディレクトリのごみ箱機能追加(ここまで) [SecTest] path = /home/sectest valid users = @smbuser guest ok = no writable = yes browsable = yes
●smb.confファイルの構文チェック
smb.confファイルの構文が正しいかどうかをチェックします。
# testparm Load smb config files from /etc/samba/smb.conf Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions (ここでReturnキーを押下すると結果が表示されます。) ※エラーの場合の例 Load smb config files from /etc/samba/smb.conf set_variable_helper(): value is not boolean! Error loading services.設定ファイルに問題などがある場合はWARNING・ERRORなどの情報が出力されますので、確認して下さい。
●Sambaの起動
自動起動の設定及び起動を実施します。
# systemctl enable smb.service # systemctl enable nmb.service # systemctl restart smb.service # systemctl restart nmb.service
●Sambaが通信できるようにFirewallを設定する
Linux側でsambaの通信が行えるよう、firewallの設定を変更する。
# firewall-cmd --permanent --zone=public --add-service=samba # firewall-cmd --reload
●SELinuxの設定変更
SELinuxが有効の場合、SELinuxの設定を変更し、sambaの利用を許可する。
# chcon -t samba_share_t /samba/share
●ごみ箱内ファイルを自動削除する設定
1週間ごとに30日間アクセスのないごみ箱内のファイルを自動的に削除するようにします。
# yum -y install tmpwatchごみ箱内ファイル自動削除スクリプトの作成。
# vi /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
●特定ユーザーのみ読み書き可能なフォルダを作成
ただし、読み書き可能とするユーザーsmbuser1、smbuser2はすでに登録済とします。
特定ユーザーのみ読み書き可能とするディレクトリ(例:/home/private1)を作成します。
# mkdir /home/private1特定ユーザーのみ読み書き可能とするディレクトリの所有者をnobodyに変更します。
# chown nobody:nobody /home/private1Samba設定ファイルを編集します。
# vi /etc/samba/smb.conf 下記を追加します。 [private1] comment = private1 path = /home/private1 public = yes writable = yes only guest = yes directory mask = 0700 create mask = 0700 valid users = smbuser1 smbuser2Sambaを再起動します。
# systemctl reload smb
●特定グループのみ読み書き可能なフォルダを作成
特定グループのみ読み書き可能とするディレクトリ(例:/home/private2)を作成します。
# mkdir /home/private2特定グループのみ読み書き可能とするディレクトリの所有者をnobodyに変更します。
# chown nobody:nobody /home/private2読み書き可能とするグループ(例:centos)を登録します。
# groupadd centos読み書き可能とするユーザー(例:centos1)をcentosグループへ登録します。
# usermod -G centos centos1読み書き可能とするユーザー(例:centos2)をcentosグループへ登録します。
# usermod -G centos centos2Samba設定ファイル編集します。
# vi /etc/samba/smb.conf 下記を追加 [private2] comment = private2 path = /home/private2 public = yes writable = yes only guest = yes directory mask = 0700 create mask = 0700 valid users = @centosSambaに設定を反映させます。
# systemctl reload smb
●
●
見出し2
●
●