Вобщем столкнулся с очень интересным и не понятным мне траблом… Один пользователь user из группы group создает папку test,
$ getfacl test/
# file: test/
# owner: user
# group: group
user::rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:mask::rwx
default:other::r-x
в этой директории user2 с windows создает текстовый файл, редактирует, сохраняет. Удалить не удается, система ругается на отсутствие прав.
Права на директорию, в которой создается файл — 775, создается файл с правами 775, как только делаю на директорию права 777, файл удаляется нормально, пользователь точно содержится в группе этой директории, почему у него удается только создать и отредактировать, но не удалить?
net-fs/samba-3.2.13-r2
2.6.30-gentoo-r1
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
А как ты делаешь на директорию права 777? Не так случаем:
?
=)
Из этого путаного объяснения я понял, что самба создала в папке test файлик, и пользователю не можно его удалять. Так? Если да, то это естественная ситуация. Посмотри права на файлик. Там права типа: -rw-rw-r-- pcguest:pcguest. То есть его удалять могут лишь состоящие в группе pcguest или пользователь pcguest.
Вообще, конечно, права на создаваемый самбой файлик зависят от настроек самбы. Но при дефолтных настройках оно примерно так и будет, как я говорю.
На директорию права 775, на файлик 777, директорию создавал иной пользователь, но их объединяет общая группа, файлик создавал МОЙ пользователь, с правами 777 и он же и не может его удалить до тех пор, пока я на директорию не сделаю права 777, но создать то он может!!! почему не может удалить???
setfacl -d -m u::rwx,g::rwx,o::rwx,m::rwx test
setfacl -m u::rwx,g::rwx,o::r-x,m::rwx test
^^^ а вот так я задавал права на директорию, в которой, в последствии, и создавал файлик!
Вобщем кое что уже понял, если удаляю у каталога acl расширения (setfacl -b dir), тогда всё работает адекватно и с винды, если снова назначаю acl (в ext4 файловой системе), снова такие не адекватные проблемы… А acl у ext4 мне нужно, ибо часть пользователей ходит через nfs часть через samba, пробовал собрать samba без флага acl, но результата не дало…
Примечательным оказалось то, что директории пользователь с Windows удалять все-таки может, а вот файлы может удалять только с собственноручно созданных директорий (где он является владельцем, а не всего лишь входит в группу)
Ну что? нет никаких соображений? белеберда какая то…
Может стоит сменить ext4 ? :D Просто симптомы уж очень похожи на баг
Похоже дело еще хуже — это не баг, а фича.
http://ext4.wiki.kernel.org/index.php/Talk:New_ext4_features#posix_and_windows_acl_support
Э… Испытал с ФС ext2, результат тот же… Даже оказалось интересней, вообще не удаляет, даже если удаляю acl расширения, но все-таки удаляет, если дам права на директорию 777, или пользователя сделаю соответственно владельцем этой директории.
Вопрос. А нафига в правах есть group, если оно работает только при создании, но не при удалении? Чую я, Windows как то иначе использует права при создании и при удалении, ведь с Linux samba клиентов всё работает замечательно…
Попытался в винде создать группу Users не помогло, попытался создать в линуксе группу Пользователи, тоже не помогло, больше всего странно то, что вот директории он удалять может, а файлы может удалять только из тех директорий, где является владельцем!! %)
отчасти решил, отказавшись от групп, задаю права на директорию:
setfacl -d -m u::rwx,u:username:rwx,u:usernameX:rwx,g::rwx,o::rwx test
setfacl -m u::rwx,u:username:rwx,u:usernameX:rwx,g::rwx,o::r-x test
[global]
workgroup = sort
server string = Slin
security = SHARE
guest account = dm
[public]
browseable =yes
path = /home/ftp
guest ok = Yes
guest only = Yes
writeable = Yes
На сайте smb-conf.ru давали как пример по которому любой может получить доступ к расшареному каталогу
У меня не дает, хотя в списке на ХР машине САМБА сервер виден. но войти нельзя.
Сеть заводская на базе NT4(где все как полагается)
Очень нужно!
В какос смысле «войти нельзя"? Нельза шару открыть или вообще список шар просмотреть? Что в логах самбы?
Еще меня смущает твой «guest account». Почему не умолчальный 'nobody’? Если гостевой аккаунт хочется свой поиметь, то его недостаточно просто указать в smb.conf. Его надо еще в системе завести (в /etc/passwd то есть).
У меня еще вопрос :)
Мне нужно чтобы сервер Samba был контроллером группы, например mygroup и вел себя так, как ведет себя при уровне безопасности SHARE, причем на сервере нужно расшарить некоторые директории и нужно чтобы все эти директории можно было посмотреть (даже список их) только после авторизации по логину/паролю. глобальный конфиг:
вот на счет директорий тут получается только после того как добавляю
а вот контроллер группы из него получается плохой при добавлении этой строки в конфиг… Т.е. никто не может просмотреть группу. Что необходимо исправить?