次のように入力すると:
ls -l file.txt
ファイルに「456」と同じ権限があることを確認しました。
- 4 = 所有者(r--)
- 5 = グループ(受信)
- 6 = その他(RW-)
あなたはどんな権利を持っていますか?根この場合は? 777はありますか?
ルートが所有者よりも少ない権限を持つように権限を変更できますか?
答え1
私は確認しますこのページは終了しました。ファイル権限について詳しく説明します。
しかし、あなたの質問に直接答えるには、次のことをしないでください。
スーパーユーザー「root」はシステム上のすべてのファイルにアクセスできます。
たとえば、あなたの例でファイルがsayに所有されていて、bob
グループ所有者も所有している場合は、bob
次のようなものが表示されます。
-r--r-xrw-. 1 bob bob 8 Jan 29 18:39 test.file
others
ルートはこのグループの一部であるため、3番目のビットグループ(rw)もルートに適用されます。 rootでファイルを編集しようとすると、問題がないことがわかります。
ただし、理論をさらにテストするには、ファイルがルート所有の場合:
-r--r-xrw-. 1 root root 8 Jan 29 18:40 test.file
その後、ファイルを再編集すると、編集に問題がないことがわかります。
最後に極端な場合:
chmod 000 test.file
ls -lh test.file
----------. 1 root root 8 Jan 29 18:41 test.file
その後、ファイルを再編集すると(少なくともvi / vimでは)"test.file" [readonly]
。しかし、まだファイルを編集して強制的に:wq!
。
シェルスクリプトファイルを使用して @Stéphane Chazelas の文をテストします。
#!/bin/sh
echo "I'm alive! Thanks root!"
[root ~]# ls -lh test.sh
----------. 1 atgadmin atgadmin 31 Jan 30 10:59 test.sh
[root ~]# ./test.sh
-bash: ./test.sh: Permission denied
[root ~]# sh test.sh
I'm alive! Thanks root!
@Shadurはすでに話しているので、もう一度言及せずに引用します。
注:実行ビットがあることを確認し、ルートで利用可能であることを確認してください。
答え2
設計上、rootユーザーはシステム上のすべてのファイルへのフルアクセス権を持ちます。誤ってファイルが削除されないようにするには、次のようにします。
chattr +i file
これにより、GNU / Linuxに不変フラグが設定されます。-i
削除する代わりに使用できます+i
。
FreeBSDでは、次のものを使用できます。
chflags schg file
代替noschg
実行をキャンセルschg
します。
ルートでファイルを表示できないようにするには、ファイルを別のシステムに保存するか、最後の手段として暗号化を使用する必要があります。
答え3
ルートが所有者よりも少ない権限を持つように権限を変更できますか?
Shure、とても簡単です。ルートのuidが0にならないようにpasswdファイルを変更するだけです。一方、そうしないでください。悪い考えです。
この質問をした人はあなたが初めてではありません。それらのいくつかは機能についてのアイデアを出しましたが、それについては後で議論します。まず、権限システムの仕組みを理解することから始めましょう。
アクセスの確認を開始するコンピュータの部分はあなたの名前を知らないが、uid またはユーザ識別子という番号であなたを識別します。同様に、あなたが属しているグループの名前は知らず、gidだけがわかります。 uidとnameの間のマッピングはpasswdファイルにあり、gidはgroupsファイルにマッピングされます。
これで、ファイルを開くときに4つの確認が行われます。確認をスキップする権限があるか、ユーザーとして許可されるか、グループメンバーとして許可されるか、許可するようになっています。ここでは、ネームサービススイッチ、アクセス制御リスト、読み取り/書き込み実行などのいくつかの項目をスキップしますが、興味があるのは最初のテストです。
時にはファイル権限テストをスキップできます。なぜ?そして(非常に重要)いつですか?他の人が実行できないようにする必要がある作業があり、ファイル権限モデルにうまく収まらない場合があります。低いポートでネットワーク接続を開く、パーティションのマウント、権限確認のスキップなど、さまざまな操作が可能です。最近では、これらのことを能力と呼びます。過去のUID0にはこれらすべての機能があり、これにできることはありませんでした。これで他のユーザーに機能を提供または削除できますが、デフォルトは以前の動作です。
ルートを制限する別の方法は、セリヌックスのようなものを使用することですが、これは別のワックスボールです。
答え4
この場合、ルートの権利は何ですか? 777はありますか?
はい。
前述のように、ルートには読み取りおよび書き込み権限は適用されません。ただし、実行権限はまだ確認されているため、実行フラグが設定されていないと、ルートはそのファイルを実行できません。グループにフラグがあるため、ここではそうではありませんx
。
また、書き込み許可の有無にかかわらず、ルートまたは他の人は、読み取り専用ファイルシステムに格納されたファイルへの書き込みアクセスを拒否されます。
ファイルがリモートでマウントされたディレクトリ(NFSなど)に保存されている場合、rootユーザーは所有者よりも少ない権限を持つことができます。
最後に、シンボリックリンク権限は本質的に意味がありません。