Ответ 1
Наконец-то выяснилось, почему разрешение менялось. Путаница возникла из настройки map archive = yes
, которая является значением по умолчанию в Samba. После установки map archive = no
, владелец запускает бит, который начал вести себя так, как я ожидал, что он будет вести себя.
Нашел ответ, прочитав здесь документацию: http://www.samba.org/samba/docs/using_samba/ch08.html в Разрешениях и атрибутах файлов в MS-DOS и Unix. В нем четко упоминается этот побочный эффект:
Следовательно, нет никакой пользы ни для одного из трех исполняемых битов Unix, которые присутствуют в файле на диске Samba. Однако файлы DOS имеют свои собственные атрибуты, которые необходимо сохранить, когда они хранятся в среде Unix: архив, система и скрытые биты. Samba может сохранять эти биты, повторно используя исполняемые биты разрешения файла на стороне Unix - если это дано указание сделать это. Однако сопоставление этих битов имеет неприятный побочный эффект: если пользователь Windows хранит файл в общей папке Samba, и вы просматриваете его в Unix с помощью команды
ls -al
, некоторые исполняемые биты не будут означать, что вы ожидайте их.
Однако он также упоминает следующее:
Мы должны предупредить вас, что значение по умолчанию для параметра
map archive
равноyes
, а остальные два параметра имеют значение по умолчаниюno
. Это связано с тем, что многие программы работают неправильно, если бит архива не сохранен правильно для файлов DOS и Windows. Однако системные и скрытые атрибуты не являются критическими для работы программы и оставляются на усмотрение администратора.
Вы также можете узнать больше о бите архива здесь: http://en.wikipedia.org/wiki/Archive_bit