Общий ресурс cifs в Linux позволяет другому пользователю, кроме смонтированного / замаскированного uid, выполнять cp -p

У меня есть специальный Linux-сервер, который выполняет несколько пакетных заданий по ночам, создавая файлы и копируя их в различные места на NAS, ранее смонтированном с помощью NFS, но в последнее время с CIFS.

Причина в том, что наш новый NAS не поддерживает совместное использование файловой системы как nfs, так и cifs одновременно (совместное использование нескольких протоколов) подходящим для нас способом. Поэтому я вместо этого смонтировал общий ресурс как общий ресурс cifs с учетными данными Windows в файле .smbcredentials.

Этот общий ресурс стара как сам по себе, и к нему обращаются многие системы (серверы Linux и серверы Windows). Однако все они имеют свои собственные серверы, поэтому, когда я монтирую общий ресурс как cifs на одном из этих Linux-серверов, я могу просто установить / замаскировать uid и gid в fstab для соответствующего пользователя службы, и все в порядке.

Однако на сервере, о котором я впервые упомянул, есть несколько систем, работающих на том же сервере, что и их собственные индивидуальные пользователи. Поэтому мне нужно замаскировать uid / gid в fstab, чтобы он выглядел как один пользователь, но при этом позволял другим делать что-то.

В основном это работает, но не cp -p, сохранять временные метки файлов. Я просто не могу работать.

Есть какие-нибудь советы, которые я могу попробовать? Я, конечно, гуглил свои * ss, пробуя что-нибудь отсюда до луны ...

Также я, конечно, пытаюсь заставить команды разработчиков переехать на их собственные серверы, но это не произойдет в ближайшее время.

1
задан 12 April 2021 в 18:55
1 ответ

Иногда нам приходилось использовать расширенные атрибуты posix (ACL), чтобы предоставить нескольким пользователям доступ к набору файлов через сервер CIFS, который не аутентифицируется в нашей центральной службе каталогов. Так, например, вы можете попробовать использовать setfacl на сервере SMB, чтобы сопоставить разрешения для файлов / папок, что даст правильный доступ пользователям на клиентах Linux. Если вы попробуете это сделать, не забудьте также установить ACL по умолчанию (это имитирует идею наследования на CIFS, хотя и не идеально).

Если пользователи сами начнут менять разрешения, это может быстро запутаться. Но я думаю, что таким образом можно решить вашу проблему.

1
ответ дан 24 April 2021 в 00:49

Теги

Похожие вопросы