web-dev-qa-db-ja.com

chmod + wが他に書き込み権限を与えないのはなぜですか(o)

chmod +w filenameを実行すると、otherへの書き込み権限が付与されず、userおよびgroupへの書き込み権限が付与されるだけです。

このコマンドを実行した後

chmod +w testfile.txt

実行中ls -l testfile.txt印刷

-rw-rw-r-- 1 ravi ravi 20 Mar 10 18:09 testfile.txt

ただし、+rおよび+xの場合、正しく機能します。

chmod ugo+w filenameを使用したくない。

18
Ravi Sevta

あなたの特定の状況

特定の状況では、現在のumask002(これは一般的なデフォルト値です)であると推測できますが、これは驚きを説明しています。

umask値が002(すべての数値は8進数)である特定の状況では。

  • +rugo+rであり、すべてのビットを設定できるため、002 & 444000を意味します
  • +xugo+xであり、すべてのビットを設定できるため、002 & 111000を意味します
  • ただし、+wug+wであり、「o」ビットを設定できないため、002 & 222002を意味します。

その他の例

  • umask 022の場合、+wu+wを意味します。
  • umask 007の場合、+rwxug+rwxを意味します。
  • umask 077の場合、+rwxu+rwxを意味します。

何があなたの期待に一致しましたか

umask000に変更するときは、

umask 000

あなたの端末で

chmod +w file

権限をugo + wに設定します。

サイドノート

Ilkkachuによって提案されているように、umask 000は誰でもすべてのファイルを読み書きできることを意味するわけではないことに注意してください。

ただし、umask 000は、マシン上のanyユーザーアカウント(サーバーサービスofcを実行するプログラムを含む場合があります)に何らかのアクセス権を持つすべてのユーザーがそのマスクをアクティブにして、変更しないすべてのファイルを読み書きします(ルートまでのディレクトリのチェーンもそれらを許可している場合)。

26
Prvt_Yadav

と:

chmod +<perms>

権限はsergroupおよびotherに追加されますが、umaskは引き続き適用されます。新しく作成されたファイルよりも多くの権限がファイルに付与されないようにします。

Umaskに関係なくsergroupsおよびotherに権限を追加する場合は、

chmod a+<perms>

の略

chmod ugo+<perms>
25

chmod o+w testfile.txtを使用して、otherなどのアクセス許可を誰に与えるかを指定する必要があります

0
Jaken551