====== Samba ====== ===== 概要 ===== * Windows で使われているファイル共有サービスを *nix でも使えるようにしたサービス ===== インストール ===== $ sudo apt install samba $ sudo smbpasswd -a USER * ''smbpasswd'' で共有したディレクトリを開く際に尋ねられるユーザ名 (''USER'') とパスワードを設定する。 ===== 設定 ===== * ''/etc/samba/smb.conf'' をエディタで開き、編集する。 ==== 全体の設定 ==== * ''[global]'' 以下に記述する\\ dos charset = CP932 unix charset = UTF-8 dos filemode = yes dos filetimes = yes dos filetime resolution = yes wide links = yes follow symlinks = yes unix extensions = no client min protocol = SMB2 server min protocol = SMB2 acl allow execute always = yes oplocks = no blocking locks = no map system = yes map read only = yes map hidden = yes map archive = no workgroup = WORKGROUP server string = %h * ''dos charset'': Windows 側で表示する文字コード * ''unix charset'': *nix 側で表示する文字コード * ''dos filemode = yes'': 他のユーザも書き込めるようにする * 参考サイト: [[https://thinkit.co.jp/article/766/1?page=0%2C2 | 共有フォルダの運用パラメーター | Think IT(シンクイット)]] * ''dos filetimes = yes'', ''dos filetime resolution = yes'' はタイムスタンプに関する設定 * 参考サイト: [[https://thinkit.co.jp/article/790/1?page=0%2C1 | 利用環境に合わせたパラメーター | Think IT(シンクイット)]] * ''wide links = yes'', ''follow symlinks = yes'', ''unix extensions = no'' は、シンボリックリンクを有効にする設定 * 参考サイト: [[http://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=samba%A5%B5%A1%BC%A5%D0%A1%BC%A4%CE%C0%DF%C4%EA#p10 | sambaサーバーの設定 - ふなWiki]] * ''client min protocol = SMB2'', ''server min protocol = SMB2'': WannaCry 対策 * 参考サイト: [[http://roserogue.blogspot.com/2017/06/wannacrysmb1-samba.html | エレクトリック・ボディ・ビート: WannaCry対策をする(SMB1からの決別)]] * ''acl allow execute always = yes'': 共有ディレクトリ上のプログラムを実行する (通常は実行しようとすると弾かれる) * 参考サイト: [[https://kb.upken.jp/samba-share-execute.html | Samba4 の共有フォルダーにあるアプリケーションが起動できない事象の対処]] * ''oplocks = no'', ''blocking locks = no'' * 参考サイト * [[https://unix.stackexchange.com/questions/425934/windows-clients-will-not-refresh-linux-samba-file-locally-if-reading-file-at-int | command line - Windows clients will not refresh Linux samba file locally if reading file at intervals <= 10 seconds - Unix & Linux Stack Exchange]] * [[https://www.kannon.link/fuku/index.php/2016/12/23/01-28/ | Windowsファイル共有(SMB)で「遅延書き込みデータの紛失」によりファイルが破損する | KISO-REN]] * ''workgroup = WORKGROUP'': ワークグループ名 * ''server string = %h'': ネットワーク一覧で表示されるコンピュータ名 (''%h'' はマシンで設定されているホスト名になる) ==== 共有ディレクトリの設定 ==== [SHARE_DIRECTORY_NAME] path = SHARE_DIRECTORY_PATH force user = USER_NAME force group = GROUP_NAME create mode = 0664 directory mode = 0755 writeable = yes browsable = yes map system = yes map read only = yes map hidden = yes map archive = no ;guest ok = yes ;guest only = yes * ''[SHARE_DIRECTORY_NAME]'': 共有ディレクトリ名 (ネットワーク一覧からマシンを選択した後に表示されるディレクトリ一覧に表示される名前 ''SHARE_DIRECTORY_NAME'' を指定) * ''path = SHARE_DIRECTORY_PATH'': 実際に共有されるディレクトリのパス ''SHARE_DIRECTORY_PATH'' を指定 * ''force user = USER'': Windows 側でファイルが作成された際に *nix 側でどのユーザ ''USER'' で作成したことにするかの指定 * ''force group = GROUP'': Windows 側でファイルが作成された際に *nix 側でどのグループ ''GROUP'' で作成したことにするかの指定 * ''create mode = 0664'': Windows 側でファイルが作成された際に *nix 側でどのパーミッションで作成したことにするかの指定 (この場合は ''644'' にする (chmod 実行時の番号の前に 0 を付けると良い)) * ''directory mode = 0755'': Windows 側でディレクトリが作成された際に *nix 側でどのパーミッションで作成したことにするかの指定 (この場合は ''755'' にする (chmod 実行時の番号の前に 0 を付けると良い)) * ''writeable = yes'': 共有ディレクトリ内に書き込みを許可する設定 * ''browsable = yes'': 共有ディレクトリ内を閲覧する許可する設定 * ''map system = yes'': Windows のファイルプロパティのシステム属性を保持する設定 * ''map read only = yes'': Windows のファイルプロパティの読み込み専用属性を保持する設定 * ''map hidden = yes'': Windows のファイルプロパティの隠し属性を保持する設定 * ''map archive = no'': Windows のファイルプロパティのアーカイブ属性を保持する設定 * 参考サイト: [[https://qiita.com/haoling/items/b306b23c41c7110e9e35 | sambaでファイルを上書きすると実行属性が付いてしまう場合の対処 - Qiita]] * '';guest ok = yes'': 共有ディレクトリ選択時にユーザ名やパスワードを設定しないでアクセスできるようにする設定 (この場合、行のはじめに '';'' を付けてコメントアウトしているのでこの設定は無効化されている) * '';guest only = yes'': ゲストユーザのみのアクセスを許可 (この場合、行のはじめに '';'' を付けてコメントアウトしているのでこの設定は無効化されている) {{tag>Linux サーバ}}