5 votes

Utilisation d'etckeeper - protection et autres questions

Suite à la suggestion faite Placer /etc sous contrôle de source J'ai installé ETCKEEPER.

Il semble assez bon, mais j'ai quelques questions.

  • Est-il possible de mettre la commande que vous faites dans le message de changement. Ainsi, si je lance apt-get install widget Je voudrais que la première ligne du message commit soit quelque chose comme installer un widget plutôt qu'un modification du fichier /etc après l'exécution d'apt

  • Je veux pouvoir faire des recherches sur le dépôt bzr à partir d'un utilisateur ordinaire. Mais je suis empêché par la protection sur .bzr répertoire. Y a-t-il des problèmes pour changer cela en a+r

    drwx------ 6 root root 4096 Aug 30 13:00 .bzr

  • Existe-t-il des problèmes pour supprimer des fichiers (tels que /etc/shadow/ du contrôle etckeeper) ?

5voto

ChrisR Points 303

Si vous regardez le journal complet de bzr plutôt que le journal abrégé, vous verrez que modification du fichier /etc après l'exécution d'apt est suivie d'une liste des paquets qui ont été modifiés. C'est du moins ce qui se passe sur mon ordinateur portable et mon serveur Ubuntu. Dans la grande majorité des cas, je pense que c'est plus utile qu'un message "sudo apt-get upgrade" commit.

La raison pour laquelle vous ne pouvez pas accéder au journal bzr en tant qu'utilisateur ordinaire est que le dépôt bzr a un accès complet au dépôt fantôme. Le plus gros problème pour arrêter cela est que si vous supprimez un fichier du répertoire bzr, il sera toujours disponible dans les anciennes révisions. Il est probablement possible d'utiliser la méthode suivante svndumpfilter | svnadmin --import mais pour bzr, mais je n'ai pas essayé.

Une alternative que vous pouvez essayer est la suivante sudo su . Ou peut-être pouvez-vous créer un nouvel utilisateur et un nouveau groupe, placer l'utilisateur dans ce groupe, donner au groupe l'accès à .bzr, et su à cet utilisateur pour les opérations qui l'intéressent.

3voto

jammus Points 1796

Est-il possible de s'éloigner dans le message de changement.

Pour comprendre le fonctionnement d'etckeeper, il faut comprendre le fonctionnement des systèmes de contrôle de version. Avec les systèmes VCS, vous avez le concept de dépôt, qui est en fait une base de données de toutes les modifications, le répertoire de travail dans lequel vous êtes en train de modifier les choses.

Etckeeper peut en fait utiliser l'un des nombreux back-ends DVCS, il peut supporter bzr, git et hg. Quel que soit le back-end utilisé, le fonctionnement est à peu près le même. J'utilise git comme back-end car je suis beaucoup plus familier avec git.

Avec Etckeeper, votre répertoire de travail est presque toujours /etc bien que vous puissiez l'utiliser pour d'autres répertoires. Lorsque tout ce qui concerne l'état actuel de votre répertoire de travail a été transmis, votre répertoire de travail est considéré comme étant propre . Si vous apportez une modification à un fichier et que vous souhaitez que cette modification soit intégrée dans le référentiel, vous devez exécuter la commande suivante etckeeper commit "Your log message here" . Vous pouvez vérifier si votre référentiel est dans un état propre en lançant une commande telle que etckeeper unclean && echo $ .

Ceci étant dit, je vais maintenant vous expliquer comment etckeeper s'accroche pour vous aider à suivre ce qu'apt fait. Lorsque etckeeper est installé, un fichier de configuration est ajouté à la configuration d'apt à l'endroit suivant /etc/apt/apt.conf.d/05etckeeper . Cela permet de mettre en place des crochets de sorte que lorsqu'il est demandé à apt d'installer un ou plusieurs paquets, il exécute une commande avant le début de l'installation et une autre après la fin de l'installation. Pour voir exactement ce que font les commandes avant et après l'installation, regardez les scripts dans le fichier /etc/etckeeper/pre-install.d y /etc/etckeeper/post-install.d les répertoires.

En fait, la commande de pré-installation effectuera un commit si votre répertoire de travail n'est pas propre. Si vous n'aimez pas cela, vous pouvez simplement vous rappeler de lancer manuellement un commit après avoir modifié quoi que ce soit. Si vous êtes fortement opposé à l'auto-commit vous pouvez ajuster votre /etc/etckeeper/etckeeper.conf et décommenter le fichier AVOID_COMMIT_BEFORE_INSTALL=1 ligne. Cette modification vous obligera à commit manuellement avant de pouvoir lancer apt. Si vous n'aimez vraiment pas l'auto-commit, vous pouvez également désactiver l'auto-commit quotidien, présent dans les versions plus récentes.

Je veux pouvoir faire des recherches sur le dépôt bzr à partir d'un simple fichier ordinaire.

C'est une très mauvaise idée à mon avis. Il y a de nombreux fichiers dans /etc qui ne devraient pas être lisibles pour un utilisateur final. Si vous voulez vous faciliter la vie, vous pouvez configurer sudo pour qu'il ne demande pas de mot de passe à votre compte lorsque vous utilisez bzr ou etckeeper.

Y a-t-il des gotch (tels que /etc/shadow/ de etckeeper

La bonne façon de procéder est d'utiliser la fonction "ignorer" pour le backend DVCS que vous avez choisi. Si vous utilisez git, vous devez ajouter le fichier à votre fichier /etc/.gitignore Je crois qu'il existe un /etc/.bzrignore Cela devrait faire la même chose, mais vous aurez peut-être besoin d'un expert en bzr pour le confirmer. Personnellement, je pense que j'aime bien suivre l'évolution de l'option /etc/shadow car il me permet de savoir si un malfaiteur a réussi à modifier un compte de service qui est censé avoir un mot de passe désactivé, pour lui donner un mot de passe qui lui permettrait d'être utilisé pour des connexions.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X