私は長い間LinuxとUnixを使ってきました。私がUnixを初めて学んだとき、多くの学生がいるコンピュータ教室で、先生は私がssh
通っていた大学が提供するリモートワークステーションにログインするためにそれを使用できると言いました。
この場合、ワークステーションよりも学生が多かったので、Unixがマルチユーザーオペレーティングシステムであることがすぐにわかりました。 (ハトハウスの原理。)
とにかく長年使用した後、デフォルトでは何(デフォルトは022はユーザーへの書き込み権限、002はユーザーグループ(チームなど)への書き込み権限)とフォルダに対するユーザーumask
(および新規ユーザー)の基本権限が何であるかを知りました。 。ファイル。755
644
しかし、もう少し考えてみると、これらのマルチユーザーオペレーティングシステムではデフォルトの権限設定は安全ではないようです。データ共有は簡単になりますが、他のユーザーのホームディレクトリにあるファイルを簡単に一覧表示してコピーできることはまだありません。
それでは、多くのUnixシステムでは、umask 002または022がデフォルト値であるのはなぜですか?歴史的な理由はありますか?伝統的なUnixはこのデザインを選択しましたか?
(私が考えることができる理由の1つは、1970年から1980年の間にコンピュータが主に科学研究に使用され、コンピューティングのパフォーマンスが非常に制限されていたことです。)設定する必要があると判断しました。
ベストアンサー1
Unixはもともとプロの環境で長く使用されてきました。専門的な環境では、同僚などのトピックに取り組むのが一般的です。一部のファイルは機密です。たとえば、私が見たすべての電子メールプログラムは、所有者だけが読み取ることができるファイルを生成します(モード600)。ただし、基本的にファイルを一般的に読みやすいように設定するのは妥当です。ほとんどのファイルは機密ではありません。
パーソナルコンピュータでは、ユーザーは1人だけなので、この質問は意味がありません。
頻繁にコラボレーションしない複数のユーザーがいると予想されるシステムによっては、077をumaskとして使用します。システム管理者が決定します。
中央リポジトリとネットワークプロトコルを介してアクセスされる複数の作業コピー(CVS、Subversion、git、mercurialなど)を持つバージョン管理システムは、今日非常に一般的であるため、ユーザーが同じファイルに直接アクセスすることはまれです。これが一般的ではなかった1990年代までは、ユーザーが他の人が作業しなければならないファイルに読み取り権限を与えることを忘れてしまうのは一般的な問題でした。
ファイルの実行を忘れた場合でも常にファイルをプライベートに保つには、そのchmod
ファイルをプライベートディレクトリに保存します。
mkdir ~/private
chmod 700 ~/private
~/private
権限が何であれ、誰も(もちろんルートを除く)その下のファイルにアクセスできません。