touchコマンドでファイルのアクセス許可を設定する方法


16

touchパーミッションが-rw-r--r--に設定されたファイルを作成するときはいつでもそうです。

touch別のコマンドを使用してアクセス許可を構成する方法はありますか?

回答:


27

を変更してumask(ほとんどの実装で)より多くの読み取り/書き込み特権を許可することができますが、一般的に要求された許可はであるため、実行できません0666

あなたの場合umask022、あなたはわかりますtouch作る0644ファイルを。

興味深いことに、POSIXは次の点でこの動作を説明していますcreat

  1. ファイルが存在しない場合:

    レコード生成()関数は、次の引数で呼び出されます。

    • fileオペランドは、パス引数として使用されます。

    • ビット単位込みの値ORS_IRUSRS_IWUSRS_IRGRPS_IWGRPS_IROTH、およびS_IWOTHmode引数として使用されています。

そしてそれは、にリンクをたどり、にリンクしcreatopenに言及し、umaskにバックトラックしてopen(そしてcreatumask影響することを確認するだけですtouch

以下のためにumaskのみ影響するようにtouchコマンドを、サブシェルを使用します。

(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask

(いずれにせよ、ファイルが事前に存在していた場合、touchアクセス許可は変更されず、タイムスタンプが更新されるだけです)。


2

を操作できumaskます。一般的022に、ユーザーがファイルを作成するときにの許可を取得するように設定されます。必要に応じて0644操作できumaskます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.