Как установить владельца для каталога в% файлов?
Если у меня есть эта строка в% файлах:
%attr(0555, myuser, myuser) /opt/myapp/lib/my.jar
Тогда my.jar будет иметь myuser как владелец, но directory/opt/myapp/lib будет владельцем root.
Я не хочу писать
%attr(0555, myuser, myuser) /opt/myapp/lib/
поскольку я не хочу включать все файлы в /opt/myapp/lib/.
Как установить владельца для /opt/myapp/lib/directory?
Спасибо.
Ответы
Ответ 1
Я не эксперт RPM.. но насколько я знаю, вы могли бы использовать директиву% dir следующим образом:
%files
%dir %attr(0555, myuser, myuser) /opt/myapp/lib
%attr(0555, myuser, myuser) /opt/myapp/lib/my.jar
или, что еще проще:
%files
%defattr(555,myuser,myuser,555)
%dir /opt/myapp/lib
/opt/myapp/lib/my.jar
Директива% dir позволяет вам добавить каталог, но не его содержимое.
Ответ 2
поскольку другие "супер-полезные" люди говорят...% dir для чего-то другого. Решение состоит в том, чтобы использовать% attr для установки пользователя и владельца группы вашего каталога... так как я уже установил свои каталоги на 755, используя% defattr. Я использую одну тире - в строке% attr, чтобы сказать... так оно и есть.
%files
#%attr(<mode>, <user>, <group>) file
#%defattr(file perms, user, group, dir perms)
%defattr(644,apache,apache,755)
%attr(-,apache,apache) /var/www/coolapp
%attr(-,apache,apache) /var/www/coolapp/users
%attr(-,apache,apache) /var/www/coolapp/static
/var/www/coolapp/myDB.sqlite
/var/www/coolapp/__init__.py
/var/www/coolapp/settings.py
/var/www/coolapp/urls.py
/var/www/coolapp/wsgi.py