Linux
 Computer >> コンピューター >  >> システム >> Linux

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

Linuxは当初から、マルチユーザー環境をサポートするように調整されていました。稼働中のシステムに多くのユーザーとグループがある場合、同じグループのユーザー間で共有されるディレクトリに遭遇することは非常に一般的であり、ディレクトリ内のファイルの共有から問題が発生します。この記事では、スティッキービットを使用して共有ディレクトリのファイルアクセス許可を微調整する方法について説明します。

説明のために、john1、john2、john3の3人のユーザーがいるシステムがあり、すべてが共通グループ「johns」のメンバーです

「john1」が「johns」グループのすべてのユーザー間で共有されることを意図した「shared-dir」という新しいディレクトリを作成するとします。

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

lsを使用 コマンドを実行すると、「shared-dir」の権限を表示できます。これは、次の表で解釈できます。

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

「john1」のみがディレクトリの内容を読み取り、ディレクトリに書き込むことができます。共有ディレクトリを使用しているため、グループのすべてのユーザーが「shared-dir」に書き込めるようにする必要があります。

このため、chmodを使用して権限を変更します 指図。以下に示すように、「johns」グループのすべてのユーザーに「書き込み」権限を追加します。

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

以下に示すように、「shared-dir」の更新された権限を表示できます。黄色で下線が引かれた部分は、「johns」グループに「書き込み」権限が付与されていることを示しています。

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

共有ディレクトリへのファイルの追加

ここで、「john1」は2つのファイル(j1_file1.txtとj1_file2.txt)を「shared-dir」に追加します

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

わかりやすくするために、ファイル名の最初の2文字はユーザー名と同義です。

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

同様に、「john2」はディレクトリ「shared-dir」に「書き込む」こともできます

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法 Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

現在、「shared-dir」には4つのファイルがあります。

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

現在の設定に問題はありますか?

ファイル「j1_file1.txt」は「john1」によって作成され、「john1」がファイル所有者になりました。これで、「john2」がログインしてこのファイルを削除しようとすると、削除できるようになります。

「john1」はファイルの所有者でしたが、「johns」グループのすべてのメンバーに「書き込み」権限が付与されていたため、「john2」はファイルを削除できました。

このシナリオは理想的ではありません。すべてのユーザーがディレクトリに書き込めるようにしたいのですが、ファイルを削除できるのはファイル所有者だけです。これはどのように達成できますか?

スティッキービットの紹介

スティッキービットは、アクセス権を持つグループに「書き込み」権限が設定されているディレクトリに設定できる特別な権限です。このビットにより、グループのすべてのメンバーがディレクトリに書き込むことができますが、ファイルを作成した人、つまりファイルの所有者だけがファイルを削除できます。

chmod +tを使用したコマンド フラグを使用して、ディレクトリにスティッキービットを設定できます。

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

更新された権限は以下で確認できます。

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

これで、「john2」が「john1」によって作成されたファイル「j1_file2.txt」を削除しようとした場合、その操作は許可されません。

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

以下に示すように、「その他」の「実行」権限を削除した場合:

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

ディレクトリ上のスティッキービットの存在は、許可文字列の「その他」の部分にある大文字の「T」で表されます。ディレクトリのスティッキービットの動作は同じままです。

Linuxでスティッキービットを使用して共有ディレクトリ上のファイルを管理する方法

「chmod」コマンドのバリエーション

chmodの数値形式 コマンドを使用して、ディレクトリにスティッキービットを設定することもできます。

chmod nxyz <file_name>

ここで、

  • n =1、スティッキービットを参照。 「n」の他の値は、他の特別な権限を示します。
  • x:ファイル所有者に付与された権限
  • y:ファイルへのアクセス権を持つグループに付与された権限
  • z:他の人に与えられた許可

「shared-dir」にスティッキービットを設定するには、次のコマンドを使用します。

chmod 1755 shared-dir

これは、+tを使用した場合と同じ結果を生成します 既存のデフォルトの権限について。

スティッキービットの使用法はディレクトリにのみ有効であり、ファイルに使用することは意味がありません。


  1. LinuxでZipファイルを抽出する方法

    Zipファイルは、ダウンロード速度が遅く、保存されたすべてのバイトが重要だったときほど一般的ではありません。それでも、これはかなり一般的なファイルタイプです。遅かれ早かれ、おそらく1つ開く必要があります。 使用するディストリビューションによっては、zipアーカイブを抽出するのはおそらくかなり簡単です。それでも、zipファイルを開いてその内容を処理するためのより高度な方法を知っていても問題はありません。 GUIを使用した解凍 ほとんどのLinuxデスクトップ環境では、ファイルを解凍するのは簡単です。ファイルを右クリックするだけで、いくつかのオプションが表示されます。通常、「ここで抽出」または

  2. LinuxでZsyncを使用してファイルの一部を転送する方法

    ISOイメージのような大きなファイルをダウンロードすることは、大きな苦痛になる可能性があります。インターネット接続によっては、ダウンロードに時間がかかる場合があり、ハードドライブの容量を大量に消費します。次に、更新されたバージョンが必要になった場合は、プロセス全体をもう一度実行する必要があります。 ただし、解決策はあります。 ZsyncはLinux用のファイル同期ツールであり、すべてを再度ダウンロードすることなく、変更されたファイルの一部のみを更新できます。 Zsyncは、ファイルとディレクトリを同期するためのもう1つの人気のあるLinuxツールであるrsyncに基づいており、非常に使いや