установка бита «x» (исполняемый) с использованием ACL

Я не могу установить бит 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-bit, давайте посмотрим на 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 – rwx в acl !!

давайте посмотрим на 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::rx default:user::rwx default:group::rwx default:group:group1:rwx default:mask::rwx default:other::rx по 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::rx default:user::rwx default:group::rwx default:group:group1:rwx default:mask::rwx default:other::rx по 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::rx default:user::rwx default:group::rwx default:group:group1:rwx default:mask::rwx default:other::rx по 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::rx default:user::rwx default:group::rwx default:group:group1:rwx default:mask::rwx default:other::rx по 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::rx default:user::rwx default:group::rwx default:group:group1:rwx default:mask::rwx default:other::rx 

Я являюсь частью группы 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 установлен в файловой системе.

2 Solutions collect form web for “установка бита «x» (исполняемый) с использованием ACL”

На эти вопросы ответили периферически:

Как umask влияет на ACL?

https://superuser.com/questions/180545/setting-differing-acls-on-directories-and-files

Соответствующие биты обычно составляют man setfacl :

Поле perms представляет собой комбинацию символов, указывающих на разрешения: read (r), write (w), execute (x), выполнение только в том случае, если файл является каталогом или уже имеет разрешение на выполнение для некоторого пользователя (X). В качестве альтернативы поле перм может быть восьмеричной цифрой (0-7).

(Акцент мой)

Соответствующий раздел из первого вопроса в anwser by @ slm ♦ следующий:

Обобщить

  • Файлы не получат разрешения на выполнение (маскирование или действие). Не имеет значения, какой метод мы используем: ACL, umask, или mask & ACL.

  • Каталоги могут получить разрешения на выполнение, но это зависит от того, как установлено поле маскировки.

  • Единственный способ установить права выполнения для файла, который находится под правами ACL, – это вручную установить их с помощью chmod.

Что в основном означает, что, похоже, вы не можете делать то, что хотите сделать с ACL, так как очень немногие программы на самом деле явно заявляют, что хотят создать исполняемый файл.

Я не думаю, что вы можете использовать ACL, чтобы принудительно установить бит разрешения.

Используя справочную страницу ACL Linux в качестве ссылки, ACL по умолчанию копируется в разрешения файла, но

  1. Записи ACL доступа, соответствующие битам разрешения файла, изменяются так, что они не содержат разрешений, которые не содержатся в разрешениях, заданных параметром mode [заданы как open() , creat() и т . Д.] .

Поскольку бит-бит разрешения соответствует битам разрешения группы, здесь это затрагивается.

Если ACL по умолчанию отсутствует, вместо этого используется umask , но эта же маскировка все еще выполняется.

Это, конечно, соответствует обычным обычаям программы, позволяющим ограничить права доступа к тем, которые она передает, чтобы open при создании файла, исключая разрешения на выполнение в режиме 0666 или исключая доступ других пользователей к файлу с режимом 0600 ,

  • Установка openssl на R
  • EUI64 и ipv6: как использовать собственный EUI64 для автоконфигурации IPv6
  • Как отключить автообследование DVD-дисков в SLES 11 SP2?
  • Как получить xconsole для отображения сообщений в системе с помощью journald?
  • Замена sntp для аргумента -P (подсказка)
  • Есть ли способ получить контрольную сумму пакета, используя `zypper`?
  • Какова связь между SLED и OpenSUSE?
  • ImportError при запуске приложения WSGI в Apache: undefined symbol: PyUnicodeUCS2_DecodeUTF8
  • Исходный код драйвера ATA_PIIX
  • Как переключиться в консольный режим в режиме графического интерфейса пользователя в Suse Linux Enterprise Server 10?
  • Как я могу доверять самозаверяющему сертификату для Zypper?
  • Linux и Unix - лучшая ОС в мире.