Linuxをファイルサーバーとして使用して小さなホームネットワークをセットアップしようとしていますが、フォルダーのアクセス許可に関して、解決できないような問題が発生しました。セットアップ:
家の中のすべての人にLinuxファイルサーバーのユーザー名/パスワードが与えられており、SSH /パテ/その他の問題を使用してサーバーにログインできます。
Linuxファイルサーバー上のSambaは、書き込み可能モードのいくつかのディレクトリをWindowsに共有するように構成されており、すべてのクライアントマシンがこれを認識し、ファイルの読み取りと書き込みを行うことができます。例として、/ media / data / photosが\ fs01 \ photosとして共有されているとします。すべてのWindowsユーザーはこの写真ディレクトリに書き込むことができ、それはうまく機能します。彼らはサブディレクトリを作ったり、写真を載せたり、何でも、すべてがうまくいくことができます。
問題は、これらの共有(およびその下のすべてのディレクトリ)をすべての人が無料で利用できるようにすることです。すべてのユーザーは、これらのフォルダーから任意のファイルを編集/名前変更/移動/コピー/削除できる必要があります。この問題は、あるユーザーが他のユーザーによって作成されたファイルを移動/整理/削除/名前変更しようとすると発生します。したがって、ユーザーAが/ media / data / photos / 2014NewYearsEveを作成し、ユーザーBが実際には/ media / data / photos / 2014 / NewYearsEveである必要があると判断したとします。今設定した方法で、パーミッションエラーが発生し続けます。
Linuxのデフォルトでは、ファイルを作成したユーザーがファイルの所有者であることを理解しているので、エラーの発生元を特定し、手動で修正する方法を知っています(chownとchmodを使用すると、すべてのユーザーが操作できます)ファイルは問題ありません)。ただし、共有(/ media / data / photosなど)は「共通」であるため、ファイルとディレクトリの作成時にこれを自動的に反映する権限が必要です。Windowsのバックグラウンド(これは私の最初の実際のLinuxセットアップです)から来て、私はこれを修正する方法についてかなり混乱しています。
これが私が試したことです(インターネット、スタックエクスチェンジなどのたくさんの記事に基づいています):
ディレクトリ/ media / data / photosのグループを "nogroup"に変更しました(sudo chown nobody:nogroup / media / data / photos)/ media / data / photosディレクトリにsetgidフラグを設定しました(sudo chmod g + s / media / data / photos)。
この後、共有に配置されたファイルは正しいグループ割り当てを取得しているように見えます(ls -lは、新しいファイルとサブディレクトリのグループがないことを示しています)。しかし、ファイルを移動するために必要な実行権(私はその必要な権利だと思いますか?)がグループから欠落しているようです(ls -lの権限はファイルの場合は-rwxrw-rw-、ディレクトリの場合はdrwxr-sr-x +です)。
Linuxにファイルとディレクトリの両方のグループのxビットを自動的に追加させるにはどうすればよいですか?または、もっと一般的には、どうすれば共有をすべての人に無料にすることができますか?
ファミリーと呼ばれる新しいグループを作成します。samba共有に接続されているすべてのフォルダーにファミリーRWXアクセス許可(777)を付与し、ファミリーをフォルダーの所有グループにします。次に、各家族をグループ家族に追加します。
groupadd family
chown -Rv root:family /linux/path/to/samba/share
useradd -G family *username for mom*
useradd -G family *username for dad*
chmod -Rv 0777 /linux/path/to/samba/share
新しいアイテムは所有者から権限を継承しますが、所有者がのメンバーでfamily
ある場合は問題ありません
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加