ACLを使用した「x」(実行可能)ビットの設定

ACLを使用した「x」(実行可能)ビットの設定

生成されたファイルにxビットを設定できません。

archemar@foobar:~/D> echo echo hello world > v.sh
archemar@foobar:~/D> ls -l v.sh
-rw-rw-r--+ 1 archemar group1 17 Apr 12 08:12 v.sh

xビットはありません。 aclを見てみましょう。

archemar@foobar:~/D> getfacl v.sh
# file: v.sh
# owner: archemar
# group: group1
user::rw-
group::rwx                      #effective:rw-
group:group1:rwx             #effective:rw-
mask::rw-
other::r--

group1がrwxaclにあります!

ローカルディレクトリのaclを見てみましょう。

archemar@foobar:~/D> getfacl .
# file: .
# owner: FTP_D_adm
# group: admin
user::rwx
group::rwx
group:group2:rwx
group:admin:rwx
group:group1:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:group1:rwx
default:mask::rwx
default:other::r-x

私はグループ1のメンバーです:

archemar@foobar:~/D> id
uid=1001(archemar) gid=1001(group1) groups=1001(group1),16(dialout),33(video)

実行してみましょう。

archemar@foobar:~/D> ./v.sh
-bash: ./v.sh: Permission denied

g + xの設定は簡単ですが、実際のファイルはftp経由で送信されます。ビットxを設定する方法はありますか?

オペレーティングシステムは suse 11.4 で、ディレクトリには NFS 3 がマウントされており、ACL はファイルシステムに設定されています。

ベストアンサー1

ACLを強制することはできないようです。置く権限ビット。

使用Linux ACL のマニュアルページちなみに、ファイル権限にはデフォルトのACLがコピーされていますが、

  1. モードパラメータに指定された権限以外の権限が含まれないように、ファイル権限ビットに対応するアクセスACLエントリを変更します。 【与えるopen()などcreat()

権限ビットマスクはグループ権限ビットに対応するため、ここで影響を受けます。

デフォルト ACL が存在しない場合、umaskデフォルト ACL が使用されますが、同じブロックは引き続き実行されます。

もちろん、これは、モードを使用して実行権限を除外したり、モードを使用して他のユーザーがファイルにアクセスできないようにするなど、ファイルが作成されたときに渡される権限に権限をopen制限できるプログラムの一般的な慣行と一致します。 06660600

おすすめ記事