Samba:Debian上のスタンドアロンサーバー

皆さん、こんにちは!。 独立したサーバーが必要な場合(スタンドアロン)リソースを共有する 私たちのワークステーションから。 またはマシンの小グループの場合。 または、MicrosoftスタイルのドメインコントローラーがないLANの場合は、Sambaを使用して行うのが最も簡単です。

この目的のためのいくつかのグラフィカルツールと、Web«SWAT»を介してSambaを管理するためのツールがあります。 しかしながら、 お勧め この素晴らしい世界で手動で始める初心者に。 多くの人が考えるほど難しくも悪魔的でもありません。 そしてその過程で、SMB / CIFSネットワークとLinuxファイルシステムの権限と権利について多くを学びます。

続行する前に、以下を読むことをお勧めします。

見えない Sambaを使用してプリンターを共有する方法。 これらの目的でこのスイートを使用したい場合は、に示されている付属のドキュメントを読むことをお勧めします。 サンバ:必要な紹介。 記事も読むことができます CUPS:簡単な方法でプリンターを使用および構成する方法.

考慮すべき基本的なポイント

  • Active Directoryとそのドメインコントローラーを取り巻くすべてのオーラにもかかわらず、多くの場合、必要ではないか、十分に活用されていませんが、独立したSambaサーバーのインストールと構成は有効で信頼できるオプションです。
  • 独立サーバーは、ニーズに応じて安全または非安全にすることができ、単純または複雑な方法で構成できます。
  • ユーザー認証は、リソースが存在するサーバー自体で実行されます。
  • ユーザーがリモートコンピューターからリソースにアクセスできるようにするには、それらもSambaユーザーベースに登録されている必要があります。
  • Sambaユーザーデータベースに追加できるのは、サーバーまたはデスクトップマシンにすでに存在するユーザーのみです。
  • スタンドアロンのSambaサーバーは、ドメインコントローラーのようにネットワークログインを提供しません。 また、ドメインへのログインも提供しません。
  • ファイルへのパラメータの変更や追加が少ないほど /etc/smb.conf 私たちが何を達成したいのかを最初に詳細に知ることなく、それははるかに良いでしょう。
  • Sambaのリソース共有サービスは、固有のセキュリティを含め、Linuxファイルシステムで動作します。 多くの問題は、ファイルとディレクトリのアクセス許可に十分な注意を払うことで解決されます。
  • ファイルからファイルシステムの動作を処理する方法を理解することが不可欠です smb.conf、UNIX / Linuxファイルシステムのセキュリティがどのように機能するかを理解するだけでなく。
  • フォルダや共有リソースの名前にアクセント、エニ、スペースを使用しないことをお勧めします。 名前には小文字を使用することをお勧めします。
  • LAN上で共有名を繰り返すことはできません。 それぞれの名前は一意です。
  • LAN上にWINSサーバーがない場合は、«を追加することでSambaをそのように動作させることができます。全体的な»ファイルから smb.conf パラメータ サポートを獲得=はい。、これを強くお勧めします。

サンプルサーバー

お名前:miwheezy。 ドメイン:amigos.cu。 IP:10.10.10.20。 ユーザー:xeon、zeus、triton。 追加のグループ:カウンター

インストール

Synapticまたはコンソールを介してパッケージをインストールします サンバ.

sudo aptitude インストール samba

パッケージもインストールすると非常に便利です smbclient。 チェックに使用します。

その過程で、パッケージがインストールされます-しかし、以前にスイートに関連する他のいくつかをインストールしました- samba、samba-common, サンバ共通ビン y tdb-ツール。 また、ファイルが作成されます /etc/samba/smb.conf。 このファイルは、パッケージがインストールされている限り作成されます サンバコモン y サンバ共通ビン、およびそれらをアンインストールするまで、システムから削除されません。

smb.confファイルはSambaスイートで最も重要です

Sambaには膨大な数の構成オプションがあり、そのほとんどはサンプルには示されていません。 smb.conf デフォルトでインストールされます。 オプションは«でコメントされています;»表示するのに十分重要であると見なされ、それらのデフォルト値はSambaの動作のデフォルトとは異なります。 構成オプションは«でコメントされています#«、Sambaのデフォルトがあり、表示することも重要と見なされます。

コメント付きのオプションを考慮せずにファイルの内容を表示したい場合は、«;"または"#«、実行する必要があります:

 egrep -v '#|; | ^ * $' / etc / samba / smb.conf

«でコメントされたオプションを考慮せずにファイルの内容を表示したい場合#«、実行する必要があります:

egrep -v '#| ^ * $' / etc / samba / smb.conf

最初にやらなければならないことは、ファイルのコピーです /etc/samba/smb.conf。 ファイル自体に、Sambaが作業コピーの作成を推奨する方法があります。これについては以下で詳しく説明します。 なので ルート 実行します:

cd / etc / samba mv smb.conf smb.conf.master testparm -s smb.conf.master> smb.conf
root @ miwheezy:/ etc / samba#ls -l
合計32-rw-r --r--1ルートルート8年10月2002日gdbcommands-rw-r --r--1ルートルート805Aug 4 12:05 smb.conf -rw-r --r--1ルートルート12173 4月12日05:XNUMXsmb.conf.master

この方法で生成されたsmb.confと元のsmb.confのサイズの違いに注意してください。 サイズが小さいほど、Sambaチームの指示に従ってサーバーのパフォーマンスが向上します。

ファイルの最初の内容 /etc/samba/smb.conf 次のようになります(プリンタ共有は開発しないことに注意してください)。

[グローバル]
        ワークグループ= FRIENDSNetBIOS名= MIWHEEZYセキュリティ=ユーザー
        サーバー文字列=%hサーバーマップからゲスト=不正なユーザーがpamの制限に従う=はいpamパスワードの変更=はいpasswdプログラム= / usr / bin / passwd%u passwd chat = * Enter \ snew \ s * \ spassword:*%n \ n *再入力\ snew \ s * \ spassword $ unix password sync =はいsyslog = 0ログファイル= / var / log / samba / log。%m最大ログサイズ= 1000dnsプロキシ=ユーザー共有を許可しないゲスト=はいパニックアクション= / usr / share / samba / panic-action%d idmap config *:backend = tdb [homes] comment =ホームディレクトリ有効なユーザー=%S create mask = 0700ディレクトリマスク= 0700ブラウズ可能=いいえ

太字で強調表示されている値は、最初に変更する必要がある唯一の値です。 Sambaのデフォルトの動作であるにもかかわらず、オプションを明示的に宣言していることに注意してください セキュリティ=ユーザー その非常に重要性を考えると。

LAN上にWINSサーバーがない場合は、«を追加することでSambaをそのように動作させることができます。全体的な»ファイルから smb.conf パラメータ サポートを獲得=はい。、これを強くお勧めします。

黄金律:何を達成したいのかを最初に詳細に知らずに、パラメータを変更したりsmb.confファイルに追加したりすることが少なければ少ないほど、はるかに優れています。

表示されているいくつかのオプションの概要を以下に示します。 詳細については、実行してください 男 smb.conf.

  • workgroup:Webブラウザを作成するときに機器が表示されるワークグループを制御します。 このパラメーターは、オプションを使用するときにドメイン名も制御します セキュリティ=ドメイン チームがドメインに参加します。 後の記事でそれを見るでしょう。 デフォルト値は ワークグループ.
  • NetBIOS名:Sambaサーバーがネットワーク上で認識されるNetBIOS名を設定します。 デフォルトでは、の最初のコンポーネントと同じです。 FQDN ホストから。 この例では、 FQDN チームの miwheezy.amigos.cu。 Sambaサーバーのホストとは異なる名前を使用できます。 その場合は、CNAMEレコードを含めることをお勧めします DNS.
  • セキュリティ:クライアントがSambaに応答する方法に影響を与え、ファイルで最も重要なパラメーターのXNUMXつ smb.conf。 デフォルト値は user.
  • server string:チーム名の横にあるWebブラウザに表示されるコメントに表示される名前を制御します。
  • ゲストへの地図:設定時にのみ有効なパラメータ セキュリティ=ユーザー o セキュリティ=ドメイン。 値「BadUser」は、ユーザーが存在しない場合を除き、無効なパスワードを拒否するようにSambaに指示します。存在しない場合、ユーザーはゲストまたは「ゲスト«。 ゲストセッションを許可したくない場合は、その値を次のように変更する必要があります。 決して、これは正確にデフォルト値であり、パラメータも変更します usershareはゲストを許可します a いいえ、これはデフォルト値でもあります。
  • pamの制限に従う:SambaがPAM独自の制限に従う必要があるかどうかを制御します«プラグ可能な認証モジュール«、ユーザーアカウントとセッションの管理の指令について。 デフォルト値は いいえ.
  • pamパスワードの変更:SMBクライアントから要求されたパスワード変更にPAMを使用するようにSambaに指示します。 デフォルト値は いいえ.
  • passwdプログラム:ユーザーのUNIXパスワードを設定するために使用されるプログラム。
  • passwdチャット:悪魔の間で行われる会話を制御するチェーン smbd 前のパラメータで定義されたパスワード変更のためのローカルプログラム。
  • UNIXパスワード同期:前者が変更されている限り、SMBパスワードをUNIXパスワードと同期するようにSambaに指示します。 デフォルト値は いいえ.
  • valid users:共有へのログインを許可されているユーザーのリスト。

Sambaサービスを再起動またはリロードします

特にセクション«で重要な変更を加えるときはいつでも[グローバル]"の smb.conf、サービスを再起動する必要があります。 すでにサーバーにユーザーが接続している場合は、Sambaを再起動するたびにユーザーを切断します。 そのため、実際にはこれからは、共有リソースを追加または変更したときにのみサービスをリロードします。 サービスを再起動するには、次のように実行します ルート:

サービスサンバの再起動

サービスを再充電するには:

サービスサンバリロード

システムとSambaユーザーデータベースにユーザーを追加します

Sambaユーザーデータベースに追加できるのは、ローカルサーバーにすでに存在するユーザーのみです。

この例では、ユーザー ゼオン Wheezyのインストール中に追加されました。 したがって、チームユーザーには追加しません。 ユーザーグループ システムに存在し、インストール中に作成されました。

いくつかのコマンドオプション smbpasswd 音:

  • -a:指定したユーザーをローカルファイルsmbpasswdに追加します。
  • -x:示されたユーザーは、ローカルファイルsmbpasswdから削除する必要があります。 次の場合にのみ使用可能 smbpasswd として実行されます ルート.
  • -d:示されたユーザーアカウントを無効にする必要があります。 次の場合にのみ使用可能 smbpasswd として実行されます ルート.
  • -e:オプションの反対 -d ユーザーのアカウントが無効になっている限り。

チームでユーザーを作成するには、よく知られたコマンドを使用して作成します adduser.

adduser zeus adduser triton

グループを作成するには カウンター:

addgroupカウンター

Sambaデータベースにユーザーを追加するには:

smbpasswd-ルート
smbpasswd -a xeon smbpasswd -a zeus smbpasswd -a triton

グループに参加します カウンター 必要なユーザーへ:

adduserxeonカウンターadduserzeusカウンターaddusertritonカウンター

作成した各ユーザーをグループに参加させることをお勧めします users、特定のリソースで、作成したすべてのユーザーにアクセス許可を付与する場合。 複数のユーザーをグループに参加させる簡単な方法は、ファイルを直接編集することです。 /etc/group、およびコンマで区切られたユーザーのリストを追加します。 彼らはグループによって導かれることができます カウンター。 ユーザーをグループに参加させることを前提としています users.

ワークステーションで、を使用して作成された表示ユーザーを削除するには adduser、ファイルを編集する必要があります /etc/gdm3/greeter.gsettings オプションのコメントを解除します disable-user-list = true、ログイン時にユーザーリストが表示されないようにします。 これは、ドメインに参加しているWindowsクライアントコンピューターの標準的な動作です。

同様に、作成したユーザーがリモートセッションを開始しないようにする場合 ssh、ファイルを編集します /etc/ssh/sshd_config ファイルの最後に命令を追加します ユーザーを許可。 例:

[....]#およびChallengeResponseAuthenticationを「no」に設定します。 UsePAMはいAllowUsersxeon

共有リソースを追加します

例1:フォルダを共有したい /ホーム/ xeon /音楽 すべての登録ユーザー向け。 権限は読み取り専用になります。 まず、フォルダを作成します /ホーム/ xeon /音楽 必要に応じて、所有者と権限を構成します。 ユーザーとして ジオン 実行します:

mkdir / home / xeon / music ls -l / home / xeon | grep music

次に、ファイルの最後に smb.conf 以下を追加します。

[music-xeon]コメント=個人の音楽フォルダパス= /ホーム/ xeon /音楽読み取り専用=はい有効なユーザー= @ users読み取りリスト= @ users

ファイルを変更した後、実行します testparm ユーザーとして ゼオン そして私達はとしてサービスを再充電します ルート。 次のような両方のコマンドを実行することもできます ルート:

testparmサービスサンバリロード

新しく構成されたサービスを確認するには、コンピューター自体で次のコマンドを実行します。

smbclient -L localhost -U%

例2:フォルダを共有したい /ホーム/ xeon /音楽 すべての登録ユーザー向け。 権限は読み取り/書き込みになります ゼオン グループに属する残りのユーザーは読み取り専用 users。 フォルダの所有者や権限を変更する必要はありません。 ファイルの共有設定を少し変更するだけです smb.conf.

[music-xeon]コメント=個人の音楽フォルダパス= /ホーム/ xeon /音楽読み取り専用=有効なユーザーなし= @ users書き込みリスト= xeon読み取りリスト= @ users

例3:フォルダを共有したい /ホーム/ xeon /アカウンティング ユーザーグループ用 カウンター。 すべてのグループメンバーには読み取り権限があります。 ユーザー トリトン y ゼウス 共有フォルダに書き込むことができます。

ここで、フォルダの所有者と権限を変更する必要がある場合 会計 作成後、書くことができるように トリトン y ゼウス グループのメンバーは誰ですか カウンター。 また、ファイルを作成または変更した最後のユーザーが絶対所有者にならないように注意する必要があります。これにより、書き込み権限を持つ他のユーザーがファイルを変更できるようになります。

からファイルシステムの動作を処理する方法を理解することが不可欠です。 smb.conf、UNIX / Linuxファイルシステムのセキュリティがどのように機能するかを理解するだけでなく。

これらの場合、次のことを行う必要があります。

  • 誰が所有者ユーザーになり、誰が共有ディレクトリの所有者グループになるかを都合のよいときに宣言します。
  • 所有者グループによる共有ディレクトリへの書き込みを許可します。
  • ビットを宣言する SGID (グループIDを設定する)作成中のディレクトリの。
  • ファイルで適切に宣言する smb.conf 共有リソース内にファイルとディレクトリを作成する方法。

実際に簡単で可能な解決策は、 として実行します ルート:

mkdir / home / xeon /アカウンティングchown-Rルート:カウンター/ホーム/ xeon /アカウンティングchmod-R g + ws / home / xeon /アカウンティングls-l / home / xeon

そして、smb.confファイルの最後に以下を追加します。

[アカウンティング]コメント=会計士のフォルダパス= /ホーム/ xeon /アカウンティング読み取り専用=有効なユーザーなし= @会計士書き込みリスト=トリトン、ゼウス読み取りリスト= @会計士強制作成モード= 0660強制ディレクトリモード= 0770

すぐにの基本的な構文を確認します smb.conf 介して testparm そして私達はを通してサービスを再充電します サービスサンバリロード。 実行することもできます smbclient -L localhost -U%。 ローカルサーバー上、および smbclient -L miwheezy -U% o smbclient -L miwheezy.amigos.cu -U% リモートコンピュータから。

時間は、リモートコンピューターから共有リソースに接続し、必要なすべてのテストを実行することです。 フォルダーとファイルを所有するユーザーが、リソース内で作成されるときにどのように変化するかを確認することをお勧めします。

重要: ユーザー ルート またはユーザー ゼオン そして一般的にグループのメンバー カウンター、同じコンピュータで開始されたローカルセッションから、または ssh、つまり、SMB / CIFSプロトコルを使用しません。 フォルダまたはファイルをローカルで作成する場合は、適切な権限を再割り当てすることを忘れないでください。 確認する ls -l。 上記を行わないことは、多くの混乱の原因です。

友人の皆さん、記事の長さをお許しください。お役に立てば幸いです。 次の冒険まで!


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   エラヴ

    いつものように素晴らしい。 これらのタイプの記事は、サーバーを使用するときに高く評価されます。 😉

  2.   ユリウス·カエサル

    非常に良いfreekeですが、私にとってはそのようなことのためにFreeNASを使用する方が良いです
    😉

  3.   フェデリコ・アントニオ・ヴァルデス・トゥジャグ

    コメントしてくれてありがとう!!!。 Freeke、FreeBSDのFreeNASは別のワイルドストーリーであり、私はそれに記事を捧げるかもしれません。 結局、それはFreeBSD上のSambaです。

  4.   エリック

    非常に良い投稿です。数年前に投稿していたとしたら、多くの問題を回避できたと思いますが、誰かがsambaの設定方法を示してくれるのは良いことです。Greetings

    1.    フェデリコ・アントニオ・ヴァルデス・トゥジャグ

      ことわざにあるように、「幸福が良ければ遅刻することはない」と「遅刻することは決してない」ということわざがあります。 コメントありがとうございます。 私は2007年頃にSambaを使い始めました。今まで、それについて何も投稿することができませんでした。

      1.    エリック

        同じように、ほぼ同じ時期にサンバを使っていますが、完成度が高く、「幸せが良ければ手遅れになることはない」というのは正しいと思います。誰かが知識を共有することは非常に良いことです。多くの場合、あえて時間がないか、時間がないことがあります。私の場合は、それが最初の挨拶です。

  5.   ギスカード

    友達@fico、私はあなたの記事が本当に好きです。 それらは非常によく説明され、詳細に説明されています。 ありがとうございました。

    1.    フェデリコ・アントニオ・ヴァルデス・トゥジャグ

      お役に立てば幸いです。 それが目的です!!!。

      1.    ギスカード

        はい、それは🙂です

        ちなみに、あなたの記事が別のページに投稿されているのを見ました(http://www.infognu.com.ar/2013/08/samba-servidor-independiente-en-debian.html)そしてソースへの参照は本当に小さいです。 それは行われません。 それに値するメリット、くそー! ここから彼らがそれらの人々に物事を行う人に大きな違いをもたらすように頼むことができるかどうかはわかりません。 訓練されていない目には、彼らがそれを作成して投稿したかのように通過します。

  6.   オスカー

    投稿の著者さん、一般ユーザー向けにsambaを介してファイルを共有する方法に関する記事を作成した場合、LinuxからLinuxへ、LinuxからWindowsへ共有する方法など、それほど広範ではなく、よりグラフィックなものを意味します。専門的な方法ですが、自宅のPC間でファイルを共有する方法です。

    1.    フェデリコ・アントニオ・ヴァルデス・トゥジャグ

      その場合は、Linuxの場合はssh(Linux)を使用し、Windowsの場合はwinscp(Linux)を使用することをお勧めします。 この同じサイトにいくつかの記事があります。
      この同じ投稿は複雑に見えるかもしれませんが、含まれているいくつかのコマンドをコピーして貼り付けると、ホームネットワークでも機能します。

      1.    エリオタイム3000

        ただし、SMB / CIFSシステムを使用して、Windows用の同じファイル共有プロトコル(または略して共有フォルダー)を使用する方が実用的です。

        Windowsネットワークが共有フォルダとして認識できるように、GNU / Linux(私の場合はDebian Wheezy)で共有フォルダを作成する方法のチュートリアルを実行できるように実験を行います。

  7.   レベル

    非常に優れており、長さはそれだけの価値がありますが、Windowsを操作する前に、oslevelパラメーターについて早い段階で言及する必要があります。
    よろしく

    1.    フェデリコ・アントニオ・ヴァルデス・トゥジャグ

      これは、Windowsドメインコントローラーのないネットワークであることに注意してください。 ドメインに参加しているマシンを扱うときに、そのパラメーターを使用します。

  8.   最後の新人

    時間があれば
    [オフトピック] GIMPチュートリアルを投稿したいと思います。 できる?
    [/オフトピック]

  9.   フェデリコ・アントニオ・ヴァルデス・トゥジャグ

    友達@giskard、私はちょうど訪問しました http://www.infognu.com.ar/2013/08/samba-servidor-independiente-en-debian.html、そして私はこの投稿への参照を見ませんでした。 彼らは頬にコピー/ペーストをしました、ハハハハハハ。 少なくとも、投稿の品質が高いことを示しています。 いいえ?ハハハハハハ。

    1.    ギスカード

      小さな文字の終わり近くに、「ソース」と書かれ、このサイトを指すリンクがあります。 しかし、そうすることは、私には完全な無礼と尊敬の欠如のように思えます。 幸いなことに、ここでは著者が誰であるかを知っています🙂

    2.    ジュリアス・シーザー

      彼らは参照を置いていますが、記事の冒頭で言及しなければならなかったことにほとんど気付くことはできません

  10.   トルコ22

    arch wikiには、バージョン3.4以降、smbpasswdの代わりにpdbeditを使用することが推奨されていると書かれています。

    XNUMXつの質問、Sambaにユーザーを追加する前の友人によると、ユーザーはシステムで作成する必要がありますが、/ bin / false
    useradd -s / bin / false myuser
    0.oは本当ですか?

  11.   フェデリコ・アントニオ・ヴァルデス・トゥジャグ

    Friend @ truko22、そして一般的に、同様の質問をする人のために。 私たちは常に、 エントリーポイント 主題に。 また、付属のドキュメントを読むことをお勧めします。 結局のところ、サービスのカスタマイズは、サービスを実装する人の責任であり、ニーズと満足するセキュリティのレベルに対応する方法で行われます。

    たとえば、誰もがを使用して共有に書き込むことを許可すれば、権限の問題を回避できます chmodの777。 もちろん、それは安全な解決策ではありません。

    を介して作成した場合、ユーザーがローカルセッションまたはsshを介して開始するのを防ぐことができます adduser user –shell / bin / false。 つまり、このようにして作成されたユーザーは、端末やコンソールにアクセスできません。

    つまり、Sambaは、最も単純なものから最も複雑なものまで、さまざまな方法で構成できます。

    何が起こるのですか?。 Sambaに追加されたユーザーがローカルにログインすることを許可せずに投稿を書くと、彼らはきっと理由を尋ねるでしょう。 だからこそ、私たちは可能な限り最も古典的な方法でそれを書き、誰もが自分の結論を引き出すことを好むのです。

    @ truko22、前のコメントをするための正しいポイントを教えてくれてありがとう!!!

    1.    トルコ22

      どうもありがとうございました、今私は–shell / bin / falseについて理解しています😀

  12.   フェデリコ・アントニオ・ヴァルデス・トゥジャグ

    友達@ truko22、pdbeditを忘れてしまいました。 エッチング以来、私は使用に慣れました smbpasswd。 このコマンドは、システム上のすべてのユーザーが実行でき、その動作と結果は異なります。 pdbedit、も使用できますが、rootユーザーのみが呼び出すことができます。

    Sambaについては、そのコマンドの多くについて記事全体を書くことができます。

  13.   レオ

    これはとてもいいです!!
    よろしく

  14.   マルコス

    とても良い記事です。 おめでとうとそのような貢献に感謝します

  15.   ジョセウジン

    ドメインコントローラーとしてのsambaについての記事があり、Windowsサーバーなどのグループポリシーでドメインを既に制御できるかどうかを尋ねたいと思います。つまり、ネットワークアドレスのプロパティの変更や、ペンドライブの使用などを防ぐことを意味します。

  16.   リカルド・メジアス

    こんにちは、Ficoはどうですか、LDAPとLAM3.6を備えたSamba3.7をインストールしました-「パスワードを変更する権限がありません」と表示されるので、セクションを開始するときにユーザーがパスワードを変更できるようにする方法を知っているかどうか知りたいです挨拶..。