Назад | Перейти на главную страницу

Samba - Пользователи не могут писать в каталоги, созданные не ими.

Вот соответствующие smb.conf раздел:

[someshare]
        path = /somewhere
        read only = No
        writeable = Yes
        guest ok = Yes
        create mask = 0777
        security mask = 0777
        directory mask = 0777
        force create mode = 0777
        directory security mask = 0777

Скажем, user1 создает каталог на этом общем ресурсе. Его разрешения будут: drwxr-xr-x а владельцем будет user1.

Хотя пользователь user2 может получить доступ к каталогу, созданному пользователем user1, он получает ошибку разрешения при попытке создать файл в этом каталоге.

Мне кажется странным, что права доступа к каталогу, созданному пользователем user1, не соответствуют 777, как указано в smb.conf ...

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

[2009/06/24 03:02:18,  0] smbd/trans2.c:unix_filetype(1130)
  unix_filetype: unknown filetype 0

Что мне не хватает?

Ты пропускаешь:

force directory mode = 0777

Кроме того, вы действительно хотите использовать 0666 для принудительного создания маски. Вероятно, нет веских причин для принудительного выполнения битов выполнения.

Изменение разрешений на 777 ВСЕГДА заставляет меня нервничать, даже если это домашний проект. Вместо этого добавьте всех своих пользователей samba в группу (например, samba_user), а затем в smb.conf добавьте строку:

force group = samba_user

Естественно, вы также должны выполнить chgrp для всех необходимых папок. Затем вы можете установить более тонкие разрешения, разрешить людям делать свои дела в папках других людей, и ваш сервер не станет бесплатным для всех. Кто-то хочет иметь личную папку? Просто измените группу этой папки с samba_user обратно на личную группу пользователя.

Я предполагаю, что это разрешения в smb.conf, которые используются в качестве маски вместе с теми, которые указаны в профиле пользователя, они будут объединены, а не перенаправлены, поэтому, если самба говорит 777, а маска пользователя - 755, тогда вы Получу 755 в результате.

Сообщение об отказе в разрешении, которое вы видите, просто соглашается с разрешениями, которые вы видите записанными для файлов. Хотя вы видите дополнительное сообщение об ошибке, я не уверен.