Я работаю с CentOS 8, и у меня проблема с UID и именами пользователей. Я установил VestaCP для управления своими сайтами. Пользователь с именем «user123» и UID 1007 является владельцем всех веб-сайтов (пользователь в VestaCP). Затем я создал отдельных пользователей FTP для каждого сайта. Каждый пользователь FTP имеет следующий формат имени: «user123_random», где random - случайный текст. У каждого пользователя FTP разные имена, но у всех один и тот же UID (1007) (это поведение по умолчанию при создании новых пользователей FTP).
Теперь проблема возникает, когда я проверяю владельца (пользователя) каждого веб-сайта или файла на этом веб-сайте. Таким образом, технически владельцем является UID 1007. Проблема в том, что CentOS 8 по какой-то причине показывает «user123_random» в качестве владельца веб-сайтов вместо «user123».
Любопытно то, что когда я делаю «id -nu 1007», он возвращает имя последнего пользователя FTP, созданного с префиксом «user123_». Итак, я предполагаю, что это то, что CentOS 8 делает внутри, показывая последнее имя пользователя (с тем же идентификатором 1007) в качестве владельца файла / каталога. CentOS 7 работает не так. CentOS 7 будет отображать «user123» в качестве владельца файлов независимо от добавления новых пользователей FTP с тем же UID.
Вопрос в том ... есть ли способ изменить это поведение в CentOS 8, чтобы оно вело себя как CentOS 7? Таким образом, поиск обратного имени по UID возвращает «первого созданного пользователя» с этим UID.
Я бы использовал другое решение. Я бы добавил всех этих пользователей в 2 группы: одну группу, чтобы предоставить доступ только для чтения, и другую группу, чтобы предоставить доступ для чтения и записи. Затем я бы использовал расширенные списки ACL POSIX, чтобы предоставить этим группам права доступа к папкам и файлам. Вы можете установить разрешение по умолчанию для наследования. А с setGID я бы установил группу для новых файлов и папок.
Подробнее см. Справочные страницы для: chmod, chown, setfacl, getfacl, ls.