Good to Know Database

CentOS 6: Zugriffsrechte nach einem BIND-Update automatisch korrigieren


Wie bereits im Artikel CentOS 6: BIND 9 meldet "general: error: dumping master file: tmp-f7ja9V1aUE: open: permission denied" beschrieben, kann es nach einem Update der BIND 9 Pakete unter CentOS 6 zu Problemen mit den Zugriffsrechten auf das Arbeitsverzeichnis von BIND 9 kommen. Um die Zugriffsrechte zu ändern können Sie nach jedem Updatevorgang dies wie in dem Artikel beschrieben manuell vornehmen oder wie im Beitrag CentOS 6: Skript zum Beheben der Zugriffsrechte nach einem BIND-Update beschrieben ein Shell-Skript verwenden.

Da die manuelle Ausführung sehr leicht vergessen werden kann, möchte ich in diesem Artikel eine dritte Möglichkeit vorstellen, welche automatisch beim Updatevorgang ausgeführt wird.

Dafür müssen Sie das RPM-Paket yum-plugin-post-transaction-actions installieren.

[root@centos6 ~]# yum install yum-plugin-post-transaction-actions

Damit das neu installierte YUM-Plugin post-transaction-actions aktiviert wird müssen Sie die entsprechende Konfigurationsdatei mit einem Editor anpassen.

[root@centos6 ~]# vi /etc/yum/pluginconf.d/post-transaction-actions.conf

Ändern Sie die Konfigurationsdatei wie folgt ab.

[main]
enabled = 1
actiondir = /etc/yum/post-actions/

Das YUM-Plugin post-transaction-actions erwartet jetzt im Verzeichnis /etc/yum/post-actions/ Anweisungsdateien, welche Aktionen nach der Installation, nach dem Update oder nach dem Löschen eines Paketes ausgeführt werden sollen. Bei der Installation des YUM-Plugins wurde auch eine Beispieldatei installiert, welche Sie sich mit dem folgenden Befehl ansehen können.

[root@centos6 ~]# less /usr/share/doc/yum-plugin-post-transaction-actions-1.1.30/sample.action
#action_key:transaction_state:command
# action_key can be: pkgglob, /path/to/file (wildcards allowed)
# transaction_state can be: install,update,remove,any
# command can be: any shell command
#  the following variables are allowed to be passed to any command:
#   $name - package name
#   $arch - package arch
#   $ver - package version
#   $rel - package release
#   $epoch - package epoch
#   $repoid - package repository id
#   $state - text string of state of the package in the transaction set
#
# file matches cannot be used with removes b/c we don't have the info available

*:install:touch /tmp/$name-installed
zsh:remove:touch /tmp/zsh-removed
zsh:install:touch /tmp/zsh-installed-also
/bin/z*h:install:touch /tmp/bin-zsh-installed
z*h:any:touch /tmp/bin-zsh-any

Erstellen Sie jetzt eine eigene Anweisungsdatei im Verzeichnis /etc/yum/post-actions/.

[root@centos6 ~]# vi /etc/yum/post-actions/bind.action

Fügen Sie die folgende Zeile in die Datei ein. Dadurch werden nach dem Update eines RPM-Paketes mit dem Namen bind* die Zugriffsrechte des Arbeitsverzeichnisses geändert.

bind*:update:chown named.named /var/named/chroot/var/named/ && chmod 0770 /var/named/chroot/var/named/

Die korrekte Funktion können Sie beim nächsten Updatevorgang überprüfen.

[root@centos6 ~]# yum update
Loaded plugins: fastestmirror, post-transaction-actions
Loading mirror speeds from cached hostfile
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package bind.x86_64 32:9.8.2-0.10.rc1.el6 will be updated
---> Package bind.x86_64 32:9.8.2-0.10.rc1.el6_3.4 will be an update
---> Package bind-chroot.x86_64 32:9.8.2-0.10.rc1.el6 will be updated
---> Package bind-chroot.x86_64 32:9.8.2-0.10.rc1.el6_3.4 will be an update
---> Package bind-libs.x86_64 32:9.8.2-0.10.rc1.el6 will be updated
---> Package bind-libs.x86_64 32:9.8.2-0.10.rc1.el6_3.4 will be an update
---> Package bind-utils.x86_64 32:9.8.2-0.10.rc1.el6 will be updated
---> Package bind-utils.x86_64 32:9.8.2-0.10.rc1.el6_3.4 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================
 Package              Arch            Version                              Repository        Size
==================================================================================================
Updating:
 bind                 x86_64          32:9.8.2-0.10.rc1.el6_3.4            updates          4.0 M
 bind-chroot          x86_64          32:9.8.2-0.10.rc1.el6_3.4            updates           70 k
 bind-libs            x86_64          32:9.8.2-0.10.rc1.el6_3.4            updates          871 k
 bind-utils           x86_64          32:9.8.2-0.10.rc1.el6_3.4            updates          181 k

Transaction Summary
==================================================================================================
Upgrade       4 Package(s)

Total download size: 5.1 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): bind-9.8.2-0.10.rc1.el6_3.4.x86_64.rpm                              | 4.0 MB     00:00
(2/4): bind-chroot-9.8.2-0.10.rc1.el6_3.4.x86_64.rpm                       |  70 kB     00:00
(3/4): bind-libs-9.8.2-0.10.rc1.el6_3.4.x86_64.rpm                         | 871 kB     00:00
(4/4): bind-utils-9.8.2-0.10.rc1.el6_3.4.x86_64.rpm                        | 181 kB     00:00
--------------------------------------------------------------------------------------------------
Total                                                              10 MB/s | 5.1 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : 32:bind-libs-9.8.2-0.10.rc1.el6_3.4.x86_64                                     1/8
  Updating   : 32:bind-9.8.2-0.10.rc1.el6_3.4.x86_64                                          2/8
  Updating   : 32:bind-chroot-9.8.2-0.10.rc1.el6_3.4.x86_64                                   3/8
  Updating   : 32:bind-utils-9.8.2-0.10.rc1.el6_3.4.x86_64                                    4/8
  Cleanup    : 32:bind-chroot-9.8.2-0.10.rc1.el6.x86_64                                       5/8
  Cleanup    : 32:bind-9.8.2-0.10.rc1.el6.x86_64                                              6/8
  Cleanup    : 32:bind-utils-9.8.2-0.10.rc1.el6.x86_64                                        7/8
  Cleanup    : 32:bind-libs-9.8.2-0.10.rc1.el6.x86_64                                         8/8
Running post transaction command: chown named.named /var/named/chroot/var/named/ && chmod 0770 /var/named/chroot/var/named/
  Verifying  : 32:bind-libs-9.8.2-0.10.rc1.el6_3.4.x86_64                                     1/8
  Verifying  : 32:bind-9.8.2-0.10.rc1.el6_3.4.x86_64                                          2/8
  Verifying  : 32:bind-chroot-9.8.2-0.10.rc1.el6_3.4.x86_64                                   3/8
  Verifying  : 32:bind-utils-9.8.2-0.10.rc1.el6_3.4.x86_64                                    4/8
  Verifying  : 32:bind-chroot-9.8.2-0.10.rc1.el6.x86_64                                       5/8
  Verifying  : 32:bind-utils-9.8.2-0.10.rc1.el6.x86_64                                        6/8
  Verifying  : 32:bind-libs-9.8.2-0.10.rc1.el6.x86_64                                         7/8
  Verifying  : 32:bind-9.8.2-0.10.rc1.el6.x86_64                                              8/8

Updated:
  bind.x86_64 32:9.8.2-0.10.rc1.el6_3.4          bind-chroot.x86_64 32:9.8.2-0.10.rc1.el6_3.4
  bind-libs.x86_64 32:9.8.2-0.10.rc1.el6_3.4     bind-utils.x86_64 32:9.8.2-0.10.rc1.el6_3.4

Complete!

Wie Sie in der Ausgabe sehen, wurde nach dem Updatevorgang der oben konfigurierte Post Transaction Command ausgeführt. Mit dem folgenden Befehl können Sie jetzt noch die Zugriffsrechte des Arbeitsverzeichnisses überprüfen.

[root@centos6 ~]# ls -lad /var/named/chroot/var/named/
drwxrwx---. 2 named named 4096  5. Okt 13:57 /var/named/chroot/var/named/


Dieser Eintrag wurde am 09.12.2012 erstellt und zuletzt am 24.01.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_33_2003.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer