Permissions 在RPM规范文件中%defattr是什么意思?

Permissions 在RPM规范文件中%defattr是什么意思?,permissions,rpm,rpm-spec,Permissions,Rpm,Rpm Spec,创建RPM时,RPM规范文件有一个指令%defattr。我知道它为该RPM安装的文件定义了默认属性。如果我像下面那样写%defattr,它是什么意思 %defattr(-testuser, testuser) 您指定的模式无效。%defattr有四个参数 从 %defattr指令 %defattr指令允许设置文件和指令的默认属性。%defattr的格式与%attr指令相似: 文件的默认权限或“模式” 默认用户id 默认组id 目录的默认权限或“模式” %attr指令具有以下格式: %defat

创建RPM时,RPM规范文件有一个指令
%defattr
。我知道它为该RPM安装的文件定义了默认属性。如果我像下面那样写
%defattr
,它是什么意思

%defattr(-testuser, testuser)

您指定的模式无效。%defattr有四个参数

%defattr指令

%defattr指令允许设置文件和指令的默认属性。%defattr的格式与%attr指令相似:

  • 文件的默认权限或“模式”

  • 默认用户id

  • 默认组id

  • 目录的默认权限或“模式”

  • %attr指令具有以下格式:

    %defattr(文件模式、用户、组、目录模式)

    与%attr一样,如果特定属性不需要 被指定(通常是因为该文件与 属性设置正确),则该属性可以替换为 猛冲此外,还可以使用目录模式。%德法特倾向于 在%文件的顶部使用


    要在spec文件中设置权限和所有权,请将目录视为文件。。。 %defattr将设置所有不带%attr的文件(在本例中,rww所有者apache组apache并将目录设置为755)

    %文件
    #%attr(,)文件
    %defattr(644,阿帕奇,阿帕奇,755)
    %attr(-,apache,apache)/var/www/coolapp
    %attr(-,apache,apache)/var/www/coolapp/js
    %attr(-,apache,apache)/var/www/coolapp/static
    /var/www/coolapp/index.html
    /var/www/coolapp/\uuuuuuu init\uuuuuuuuuuuuuuuuuu.py
    /var/www/coolapp/settings.py
    /var/www/coolapp/url.py
    /var/www/coolapp/wsgi.py
    
    这并不能回答问题。问题是问第一个字段中的
    -
    是什么意思,brightlancer引用的最大RPM回答了这个问题。很好的解释。我经常在spec文件中看到的一个有效示例是
    %defattr(-,root,root)
    %files
    #%attr(<mode>, <user>, <group>) file
    %defattr(644,apache,apache,755)
    %attr(-,apache,apache) /var/www/coolapp
    %attr(-,apache,apache) /var/www/coolapp/js
    %attr(-,apache,apache) /var/www/coolapp/static
    /var/www/coolapp/index.html
    /var/www/coolapp/__init__.py
    /var/www/coolapp/settings.py
    /var/www/coolapp/urls.py
    /var/www/coolapp/wsgi.py