Вопрос в сабже, кому интересно можете ниже почитать, зачем мне это надо. Изначальная задача состоит в том, чтобы отдать разным пользователям разные принтеры. При этом в силу специфических причин cups не используется как отдельный принтсервер. Cups стоит на каждой пользовательской машине. Пользовательская машина при этом и не машина вовсе, а PXE readonly клиент.
В общем, юзер запускает PXE и на выходе должен ВИДЕТЬ только свои принтеры.
Средствами CUPS это сделать нереально. Реально разграничить доступ, но сделать принтера невидимыми нельзя. Поэтому при логине я подсовываю капсу конфиг в зависимости от группы пользователя.
Поскольку PXE в режиме RO, то я не могу запихивать конфиг прямо к /etc/cups (хотя можно сделать ее tmpfs).
В папке /etc/cups лежит симлинк от файла printers.conf, он указывает printers.conf пользователя.
Все работает , пока не загрузишь систему в режиме RW. Cups использует /etc/cups как свой личный cache и запросто меняет там сам все что ему вздумается. Поэтому он набрасывается на несчастный симлинк, удаляет его и прописывает там свой файл.
Если не найду решения , то буду маунтить /etc/cups как tmpfs и копировать ее содержимое при логине пользователя.
chattr +i и chmod не работают с симлинками