MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
インストール - Sambaのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
インストール - Samba
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == ここでは、Sambaを使用してファイルサーバを構築する。<br> ネットワークに接続していないと、Sambaをインストールしても外部からアクセスができないので、既存のネットワークに接続すること。<br> 必ず、Linuxを固定IPアドレスに設定すること。(ここでは192.168.1.5とする)<br> <br><br> == Sambaのインストール == ==== パッケージ管理システムからインストール ==== 最新パッケージリストを取得する。<br> # CentOS sudo yum update # SUSE sudo zypper update # Raspberry Pi sudo apt-get update <br> Sambaをインストールする。<br> # CentOS sudo yum install samba samba-client # SUSE sudo zypper install samba samba-client # Raspberry Pi sudo apt-get install samba <br> ==== ソースコードからインストール ==== Sambaのビルドに必要なライブラリをインストールする。<br> Kerberos 1.15.1以降が必要となることに注意する。<br> # CentOS sudo yum install tar gcc gdb rpcgen docbook-style-xsl dbus-devel readline-devel zlib-devel gnutls-devel systemd-devel \ gpgme-devel keyutils-libs-devel krb5-workstation jansson-devel libacl-devel libaio-devel cups-devel \ libarchive-devel libattr-devel libblkid-devel libtasn1 libtasn1-tools libxml2-devel libxslt \ lmdb-devel openldap-devel pam-devel perl perl-ExtUtils-MakeMaker perl-Parse-Yapp popt-devel \ python36-devel python3-cryptography python3-dns python3-gpg python3-markdown # SUSE sudo zypper install tar gcc gdb rpcgen gnutls-devel gpgme-devel zlib-devel dbus-1-devel \ readline-devel libjansson-devel keyutils-devel krb5-server krb5-devel libacl-devel \ libaio-devel libarchive-devel libattr-devel libblkid-devel libtasn1-devel systemd-devel \ libxml2-devel libxslt-devel docbook5-xsl-stylesheets lmdb lmdb-devel openldap2-devel pam-devel \ perl perl-ExtUtils-MakeMaker perl-Parse-Yapp popt-devel cups-devel \ python3-devel python3-cryptography python3-dnspython python3-gpg python3-Markdown \ python3-talloc-devel libtalloc-devel libcmocka-devel libtdb-devel tracker-devel libnscd-devel \ glusterfs-devel libtirpc-devel libntirpc-devel libavahi-devel <br> [https://download.samba.org/pub/samba/ Sambaの公式Webサイト]にアクセスして、ソースコードをダウンロードする。<br> ダウンロードしたファイルを解凍する。<br> tar xf samba-<バージョン>.tar.gz cd samba-<バージョン> <br> Sambaをビルドおよびインストールする。<br> <u>ビルドディレクトリを作成する場合、Sambaのビルドに失敗することに注意する。</u><br> ./configure --prefix=<Sambaのインストールディレクトリ> --enable-cups --with-systemd --systemd-install-services make -j $(nproc) make install <br> Sambaの設定ファイルを作成する。<br> vi /<Sambaのインストールディレクトリ>/etc/smb.conf <br> # /<Sambaのインストールディレクトリ>/etc/smb.confファイル <br> SambaのSystemdサービスファイルを、/etc/systemd/systemディレクトリにコピーする。<br> sudo cp /<Sambaのインストールディレクトリ>/lib/systemd/system/* /etc/systemd/system <br> SambaのSystemdサービスファイルを読み込む。<br> sudo systemctl daemon-reload <br><br> == Sambaの設定 == ホームディレクトリにSambaで使用する共有ディレクトリを作成する。<br> mkdir ~/Common <br> Samba の設定ファイルであるsmb.confを編集する。<br> sudo vi /etc/samba/smb.conf <br> smb.confの末尾に以下の記述を追加して保存する。<br> # [global]セクションの直下に、以下の2行を追記する unix charset = UTF-8 dos charset = CP932 # [global]セクションのworkgroupキー # ドメインを設定している場合は変更する workgroup = WORKGROUP # [global]セクションのhosts allowキーおよび各共有設定のセクションに追記 # アクセス制限を行う場合は、アクセスを許可するIPアドレスを指定する hosts allow = 192.168.2. 192.168.1.20/24 # 126行目あたり : 認証なしでアクセスする場合は追記する security = <ユーザ名> passdb backend = tdbsam map to guest = Bad User # 末尾に以下を追記する [Common] comment = Shared Directory on Samba path = /home/<ユーザ名>/Common read only = no browsable = yes public = no guest ok = no available = yes valid users = <Sambaに登録したユーザ名1> <Sambaに登録したユーザ名2> <Sambaに登録したユーザ名3> ... #force user = <サーバのユーザ名> <br> 設定項目の意味を、以下に示す。<br> * available, valid users *: 以下の2つをセットで設定する時、hogeユーザ以外はログインできない。 *: available = yes *: valid users = hoge *: <br> * force user *: どのユーザでログインしても、内部的にhogeでログインして接続する。この時、そのユーザ名とパスワードが求められる。 *: force user = hoge *: <br> * public, guest ok *: パスワードなしでアクセスするためguestを許可する。publicキーとguest okキーは同じ意味のキーである。 *: public = yes *: guest ok = yes *: <br> * map to guest *: Sambaにアクセスする時、有効なユーザとして認証されなかった場合の動作を指定するパラメータである。 *: <br> *: 設定値を以下に示す。 ** Never **: 不正なパスワードによるユーザのログイン要求を拒否して、ゲスト認証は許可しない。 ** Bad User **: 存在するユーザに対する不正なパスワードによるログイン要求は拒否する。 **: 存在しないユーザを指定された場合は、ゲスト認証であるとみなして、guest accountパラメータに定義されたユーザでログインする。 ** Bad Password **:存在しないユーザを指定された場合に加えて、存在するユーザに対する不正なパスワードによるログイン要求も、ゲスト認証であるとみなして、 **: guest accountパラメータに定義されたユーザでログインする。 ** Bad Uid **: Sambaがドメインモードのセキュリティで構成されている環境において、認証が成功したにも関わらずUNIX側のユーザアカウントが存在しない場合に、 **: guest accountパラメータに定義されたユーザでログインする。 **: ただし、Sambaでwinbinddが機能している場合、WindowsのユーザがUnixのユーザとして動作できるようになるため、 **: 認証に成功したにも関わらずUNIX側のユーザアカウントが存在しない、ということは発生しない。 **: そのため、winbinddが機能するSamba 3以降ではBad Uidはほとんど利用されていない。 **: <br> **: なお、Samab 2.x系では、Bad Uidがデフォルトとして設定されている。 <br> Sambaを再起動する。<br> sudo systemctl restart smbd sudo systemctl restart nmbd <br> ファイアーウォールを有効にしている場合は、Sambaサービスの許可が必要である。<br> sudo firewall-cmd --permanent --add-service=samba または sudp firewall-cmd --permanent --add-port=445/tcp sudo firewall-cmd --reload <br> SELinuxを有効にしている場合は、SELinuxコンテキストの変更が必要である。<br> sudo setsebool -P samba_enable_home_dirs on sudo restorecon -R /home/<ユーザ名>/Common <br><br> == 動作の確認 == エクスプローラまたは[ファイル名を指定して実行]にて、<br> 下記のように、IPアドレスまたはホスト名を入力して、共有ディレクトリが表示できるか確認する。<br> \\192.168.1.5 または \\RASPBERRYPI <br><br> == Sambaへのユーザ登録 == Sambaは独自でユーザの管理をするので、Sambaへのユーザ登録をすることができる。<br> <br> Sambaと通常サーバは、別々にユーザを管理するが、同一のユーザ名とパスワードで問題ない。<br> クライアントからSambaにアクセスしたときに、認証画面において、ユーザ名とパスワードを入力することになる。<br> <br> Sambaのユーザ名とパスワードを登録する方法を、以下に示す。<br> <u>ただし、登録できるユーザは、既にサーバに存在するユーザのみである。</u><br> <br> また、Sambaのユーザ登録のコマンドは、Samba2.xでは<code>smbpasswd</code>コマンド、Samba3.xでは<code>pdbedit</code>コマンドとなる。<br> # Sambaのユーザ名の一覧を表示 sudo pdbedit -L # 詳細なユーザ名の一覧を表示 sudo pdbedit -L -v # ユーザを登録する (パスワードを2回入力して設定する) sudo pdbedit -a <ユーザ名> # Sambaのユーザを削除する sudo pdbedit -x <ユーザ名> <br> Sambaユーザのパスワードを変更する場合、<code>smbpasswd</code>コマンドを使用する。<br> sudo smbpasswd <ユーザ名> <br> 次に、/etc/samba/smb.confファイルを以下のように編集する。<br> sudo vi /etc/samba/smb.conf <br> # /etc/samba/smb.confファイル public = no # force user = pi # コメントする valid users = <登録するユーザ名> <br> 最後に、Sambaを再起動する。<br> sudo systemctl restart smbd sudo systemctl restart nmbd <br> Sambaユーザのパスワードがサーバとは別管理になる理由は、<br> Linuxのパスワード管理の暗号化方式と、Sambaのパスワード管理の暗号化方式が異なるためである。<br> Sambaは、Windowsのパスワード管理の暗号化に合わせているため、同一のユーザ名とパスワードであっても、Sambaに登録をする。<br> <br> 暗号化方式を統一することもできるが、セキュリティ面から標準の設定の方がよい。<br> <br><br> __FORCETOC__ [[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]]
インストール - Samba
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse