
私は現在のタスクを実行するために私の端末にSSHで接続している他のユーザーのためのホストとして機能するネットワークコンピュータでFedoraを実行しています。
/home
しかし、その人たちも私のフォルダにアクセスできることに気づきました。他の人がアクセスできないように権限を設定するにはどうすればよいですか?
答え1
世界の人々が読めないようにしています。基本的には次のようになります。
igalic@tynix /home % ls -lh
total 28K
drwxr-xr-x. 62 igalic igalic 4.0K Jun 20 10:24 igalic/
drwx------. 2 root root 16K Jun 1 15:54 lost+found/
igalic@tynix /home %
以下を使用して、自分(およびルート)を除く他の人のアクセスを拒否できますchmod o-rx
。
igalic@tynix /home % ls -lh
total 20K
drwxr-x---. 62 igalic igalic 4.0K Jun 20 10:28 igalic/
drwx------. 2 root root 16K Jun 1 15:54 lost+found/
igalic@tynix /home %
これはデフォルトのUnix権限です。よりきめ細かいアクセスには、拡張POSIX ACLを使用できます。
igalic@tynix /home % getfacl igalic
# file: igalic
# owner: igalic
# group: igalic
user::rwx
group::r-x
other::---
またはSELinux:
drwxr-x---. igalic igalic unconfined_u:object_r:user_home_dir_t:s0 igalic/
drwx------. root root system_u:object_r:lost_found_t:s0 lost+found/
答え2
こんな言葉特権または使用する権利Unixシステムではあまりにもあいまいです。問題を解決するには、権限の管理方法を理解し、意味するものをより正確に定義する必要があります。「アクセスできません」。
Unixの権限システムの概要
権限には3つのタイプがあります。
r
:読むw
:書くx
:実装する
この権限はディレクトリに対して特別な意味を持ちます。
r
:ディレクトリ内のファイルを一覧表示します(例ls
:。w
:カタログに新しい要素を追加します。x
:ディレクトリのファイルにアクセスします。
3つのレベルの権限を設定できます。
- ユーザー(ファイル/ディレクトリ所有者)
- グループ
- みんな
システムに新しいユーザーを作成すると、そのユーザーにグループを割り当てるように求められます。理由は簡単です。権限をよりよく管理するためです。
ファイルの権限を知る方法
方法はさまざまです。最も簡単な方法は以下を使用することですls -l
。
$ ls -l file
-rw-r----- 1 rahmu users 406 Jun 18 13:28 file
最初の列は権限を表します。
-rw-r-----
の最初のビット(-
)は、ファイルがディレクトリ、リンク、または一般ファイルであるかどうかを示します。今は無視してください。次の3桁の数字(rw-
)は、ユーザーレベルの権限を表します。これは、ユーザーがファイルrahmu
にアクセスできることを意味します。次の3桁()はグループレベルの権限で、グループ内のすべてのユーザーがアクセスできることを意味します。他のすべてのユーザーには権限がありません()。つまり、ファイルの読み取り、書き込み、実行はできません。read
write
r--
users
read
--
権限を変更する方法。
通常、chmod
ユーティリティを介して実行されます。複数の構文をサポートし、どちらが最善かは議論の余地がありますが、上記の説明の後には、次のものが最も適しています。
$ chmod [who]operator[permissions] file
who
u
ser、g
グループ、またはその他o
。 (また、a
3つのレベルをすべて一度に変更する場合もあります)。operator
はい+
または-
。permission
はいr
、w
またはx
。
例:
chmod u-w file
:write
ユーザー権限を削除します。chmod a+x file
:execute
全員に権限を追加します。
予防する方法使用する権利あなた/家にか。
私が言ったように、あなたはあなたが意味するものを定義する必要があります使用する権利。read
ディレクトリの内容を一覧表示したくないなど、アクセスを意味する場合は、最も簡単な方法はディレクトリから適切な権限を取得することです/home
。 (別のユーザーに接続すると仮定)
$ chmod o-rwx ~
答え3
すべてのファイル(およびディレクトリ)は常に1人のユーザーと1つのグループに属します。アクセス制御を管理するには、ファイルが属するユーザー、ファイルが属するグループ、その他すべての人(その他)の3つの権限セットを設定する必要があります。
ホームディレクトリの権限を確認してくださいls -l /home
。ホームディレクトリはユーザー名に属する可能性が高いです。つまり、他の人がそのホームディレクトリにアクセスできるかどうかは、グループ権限と他の権限によって異なります。ホームディレクトリへの読み取りアクセス権を持つすべての人はその内容のリストを検索でき、実行可能アクセス権を持つ人は誰でもそのディレクトリ内のファイルにアクセスできます。
ホームディレクトリ権限を最大限に制限するには、ホームディレクトリ権限を 700 に設定します。chmod 700 /path/to/your/home
これにより、あなたを除くすべてのユーザーがホームディレクトリにアクセスできなくなります。
SSHはこれとは何の関係もありません!
答え4
サードパーティのアプリをインストールする予定がある場合は確認してください。制限付きシェル。ファイルシステムのコマンドおよび/またはパスへのユーザーアクセスを制限するように構成できます。
また、接続がリモートで(SSH、FTPなどを介して)行われているかどうかを検出し、それに応じて他のアクションを実行することもできます。
あなたのユースケースの正確な設定を提供することはできませんが、次の説明を確認してください。利用可能なすべてのオプション、しかもサンプル構成ファイルプロジェクトのウェブサイトでホストされています。