質問: static:5000 適切な許可ビットを設定しようとする小さなスクリプトがありますが、明らかに間違っています。# ensure permissions are set on directories chown -r vmail:vmail /var/mail/*.com chmod -r 0660 /var/mail/*.com chmod -r g+rwxs /var/mail/*.com # chown -r dovecot:dovecot /var/mail/*.com/users ディレクトリのアクセス許可を設定し、サブディレクトリとファイルにそれらのアクセス許可を継承させることに関するsuperuserの質問からchmod -r g+rwxsを取得しました(たとえば、 新しいファイルが同じアクセス許可を継承するようにファイルのアクセス許可を設定する方法 、- linuxのディレクトリの下に新しく作成されたファイルとサブディレクトリのデフォルトのアクセス許可を設定しますか? 、および 新しいファイルのアクセス許可を親ディレクトリから継承させる方法は? )。2つの質問: 現在の権限の何が問題になっていますか? 想定される権限は何ですか?
回答: xビット(数値形式を使用する場合は= drw-rws---)がないため、ディレクトリの所有者でさえディレクトリに入ることができないため、ディレクトリの権限1は間違っています。通常のユーザー(rootではない)としてこれを行うことにより、これを自分でテストできます。$ mkdir -m 2670 /tmp/testdir $ ls -ld /tmp/testdir drw-rws--- 2 vmail vmail 4096 apr 3 23:16 /tmp/testdir $ cd /tmp/testdir bash: cd: /tmp/testdir: permission denied 現在のスクリプトの次の行は次のように思います。chmod -r 0660 /var/mail/*.com chmod -r g+rwxs /var/mail/*.com 代わりにすべきです:chmod -r 2770 /var/mail/*.com