•
По материалам статьи настроен файловый сервер:
[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
log file = /var/log/samba/log.%m
max log size = 1000
log level = 1
server role = standalone server
server min protocol = SMB2
map to guest = bad user
ntlm auth = yes
[docs]
path = /samba/docs
readonly = no
guest ok = no
vfs objects = recycle
recycle:repository = .recycle
recycle:versions = yes
recycle:keeptree = yes
hide dot files = yes
[public]
path = /samba/public
readonly = no
guest ok = yes
Папка /samba/docs имеет права 2770, владельцы admin и группа smbdocs (admin входит в группу)
Значение 2770 обозначает что мы предоставляем полные права владельцу и группе, для остальных доступ запрещен. А первая двойка устанавливает SGID для каталога, что обеспечивает присвоение группы каталога каждому создаваемому в нем файлу.
Я понял так, что внутри каталога все пользователи группы будут обладать всеми правами, т.е. создавать файлы и каталоги на равных. Но в действительности это не так.
Файлы и каталоги, создаются с правами по умолчанию
create mask = 0744
directory mask = 0755
Значит в подкаталог, созданный одним пользователем группы, второй пользователь этой же группы свой файл записать не сможет.
Вероятно, я неправильно понял назначение SGID? или же что-то работает неправильно? В чем практическая польза SGID в данном случае?
Следующие конфиги обеспечивают тот режим, который мне нужен:
[docs]
path = /samba/docs
readonly = no
guest ok = no
inherit permissions = yes
или
[docs]
path = /samba/docs
readonly = no
guest ok = no
force directory mode = 2770
force create mode = 760
directory mask = 2770
create mask = 760
• Следующий вопрос по работе сетевой корзины:
папка /samba/.recycle по аналогии имет права 2770, владельцы группа smbdocs и один из пользователей группы
при recycle:keeptree = yes подкаталоги, создаваемые при удалении файла имеют права 2700, иного поведения мне добиться не удалось. (файлы же сохраняют исходные права)
Есть ли варианты добиться того, чтобы подкаталоги имели права 770? (ну чтобы другой пользователь группы мог удалить в корзину свой файл в каталоге, откуда удалил предыдущий файл другой пользователь группы)
• Для пользователей, создаваемых в статье командой useradd -M -s /sbin/nologin, вероятно, невозможно посмотреть/изменить umask ?
• Вопрос не по самой статье, но близкой тематики: В Linux нет аналогов админшары Windows (C:$)? (чтобы у пользователя не отображался общий ресурс)