
権限は敏感なので、特定のユーザーがコマンドを実行できるかどうかを知ることは重要ですかchmod
?
答え1
いいえ、すべてのユーザーがこのコマンドを実行できるようにする必要があります。このコマンドは、ユーザーがディレクトリまたはファイルの許可ビットを操作する方法です。これは、シェルスクリプトを実行可能にしたり、ユーザーが所属できるグループにアクセスできるディレクトリを作成するために重要です。
はい
実行可能スクリプト
$ ls -l reset* -rwxrwxr-x 1 saml saml 378 Sep 2 02:46 reset_raw_sorted.bash
カタログ訪問
$ ls -ld adir drwxrwxr-x 2 saml saml 4096 Oct 19 21:28 adir
これで、このディレクトリの実行ビットを無効にします。
$ chmod -x adir $ ls -ld adir drw-rw-r-- 2 saml saml 4096 Oct 19 21:28 adir
cd
これでこのディレクトリに入ることはできません。$ cd adir/ bash: cd: adir/: Permission denied
ファイルとディレクトリのグループアクセス制御
このグループにユーザーがいるとしましょう。
$ groups saml vboxusers jupiter newgrp blah
blahグループの他のユーザーにアクセス権を与えたいと思います。
adir
$ ls -ld adir drwx---r-x 2 saml blah 4096 Oct 19 21:28 adir
以下のように、
chmod
他のユーザー権限を削除し、saml
ユーザーとグループへのアクセスを制限するために使用できます。blah
$ chmod o-rwx,g+rwx adir $ ls -ld adir drwxrwx--- 2 saml blah 4096 Oct 19 21:28 adir
答え2
すべてのユーザーはchmod
自分が所有するすべてのファイルに対する権限を呼び出して変更できます(通常、ルートだけでなくすべてのファイルの権限を変更できます)。ユーザーは自分に属していないファイルの権限を変更できません。これにより、ファイルセキュリティが完全に破損します!ファイルへの書き込み権限はファイルの内容にのみ適用され、メタデータ(権限など)には適用されません。
Unixの実装ランダムアクセス制御:ファイルの所有者は、他のユーザーがファイルにアクセスすることを自由に許可できます。
Linuxのセキュリティフレームワーク(SELinux、AppArmorなど)など、rootがroot以外のユーザーがオーバーライドできない方法で特定のリソースへのアクセスを制限できるようにする、さまざまな種類の必須アクセス制御があります。ただし、これは専用ユーザーとして実行されているアプリケーションを隔離し、破損した場合に発生する可能性がある損傷を制限するように設計されています。これは、システムユーザー間で必要なアクセス制御を強制するのに役立ちません。 MACが必要な場合、複数のユーザーを持つUnixシステムは正しい環境ではなく、ネットワークがない、または非常に厳密に制御されたネットワーク、リムーバブルドライブなどのないクローズドシステムが必要です。各ユーザーは自分のコンピュータを持っています。