Еще один сценарий - то, что услуга, к которой Вы пытаетесь получить доступ, не работает. Я столкнулся с этой проблемой на днях только для запоминания httpd экземпляра, с которым я пробовал к связанному, был остановлен.
Ваши шаги к разрешению проблемы должны были бы запуститься с самого простого, которое идет в другую машину и видит, можно ли соединиться локально и затем работа себя назад к Вашему клиентскому компьютеру. По крайней мере, это позволит Вам удаваться, в какой точке не происходит коммуникации. Можно проявить другие подходы, но это - то, которое работало на меня.
С setfacl можно установить полномочия по умолчанию, но не владельца/группу по умолчанию для недавно созданных файлов.
Чтобы заставить новые файлы принадлежать определенному пользователю, Вам был бы нужен бит setuid, который работает как setgid, обдумал каталоги. К сожалению, это не реализовано.
С setfacl можно сделать что-то, что почти эквивалентно в большинстве сценариев: можно установить ACL как default:user:teamlead:rwx
. Тем путем именованный пользователь может записать новые файлы, даже если кто-то еще владеет им.
Новый файл всегда создается, принадлежа пользователю, которого процесс, создающий файл, выполняет как. (Эффективный идентификатор пользователя, чтобы быть точным.) Это не может быть изменено, потому что разрешение пользователям создать файлы, принадлежащие другим пользователям, было бы дырой в системе безопасности, подобной разрешению некорневым пользователям отдать файл.
Независимо от того, что Вы пытаетесь сделать, Вы не должны делать этого. ACLs достаточны, чтобы гарантировать, что то независимо от того, что должно будет считать файл позже, будет иметь достаточные полномочия. Оставьте файл принадлежавшим пользователю, который создал его.
g+s
).
– Gilles 'SO- stop being evil'
27.04.2017, 23:42
На Linux у Вас должен быть sgid на родительском dir для наследования группы для файлов. (Хотя Вам не нужен sgid на каталоге в системах BSD.)
Если вы хотите, чтобы новые файлы были созданы с новым group, вам нужно изменить основную группу.
Для этого вы можете использовать usermod и параметр -g
-g, --gid GROUP Имя группы или номер новой начальной группы входа пользователя. Группа должна существовать. Любой файл из домашнего каталога пользователя, принадлежащий предыдущей основной группе пользователя, будет принадлежать этой новой группе. Групповое владение файлами вне домашнего каталога пользователя должно быть исправлено вручную.
например
test2@kinakuta:/tmp$ id
uid=1002(test2) gid=1002(test2) grupos=1002(test2),1003(testgroup)
test2@kinakuta:/tmp$ touch test2
test2@kinakuta:/tmp$ ls -la test2
-rw-r--r-- 1 test2 test2 0 nov 23 22:26 test2
root@kinakuta:/tmp# usermod -g testgroup test2
root@kinakuta:/tmp# su test2
test2@kinakuta:/tmp$ touch test2_1
test2@kinakuta:/tmp$ ls -la test2_1
-rw-r--r-- 1 test2 testgroup 0 nov 23 22:27 test2_1