Une histoire qui était terrible si SELinux était correctement désactivé

Avec auto-admonition sur l'étanchéité que CentOS ne démarrera pas.

Cause: mauvaise configuration de SELinux

Oui, comme d'habitude, je me connectais à CentOS 7.4 et j'essayais de désactiver définitivement SELinux.

5.4.2. Désactiver SELINUX Pour désactiver SELinux, définissez SELINUX = disabled dans / etc / selinux / config.

Cependant, le début de la misère a été que j'ai accidentellement désactivé l'option "SELINUX TYPE" au lieu de la bonne option "SELINUX".

vi /etc/selinux/config

image.png

Serveur qui ne monte pas

Quand je pense que le paramétrage est terminé et que je redémarre le système d'exploitation, cela ne se produit pas du tout. Pour être correct, cela ne fonctionne pas même après avoir attendu 10 minutes depuis l'écran de démarrage CentOS. image.png

Lorsque je mets hors tension de force et que je regarde l'écran de la console, les mots [Impossible de charger la politique SELinux.] Sont ... image.png

À ce stade, j'ai réalisé que je l'avais fait.

Cette fois, j'ai paramétré l'option [SELUINUXTYPE] pour effectuer un contrôle d'accès avancé (MLS, etc.) pour les utilisateurs et les fichiers. SELinux lit ce paramètre lorsque le système d'exploitation démarre et le traite si nécessaire. Si ce paramètre n'existe pas pour un argument, une panique du noyau se produira. <détails>

Référence </ summary>
5.3. Fichier de configuration principal SELINUXTYPE=targeted L'option SELINUXTYPE définit la stratégie SELinux à utiliser. La stratégie cible est la stratégie par défaut. Modifiez cette option uniquement si vous souhaitez utiliser la stratégie MLS.

Bases du contrôle d'accès forcé (SELinux) MLS(Multi Level Security) MLS est une fonctionnalité qui ajoute un contrôle d'accès basé sur le niveau au contrôle d'accès basé sur une catégorie (MCS). Vous avez un contrôle précis sur la portée des utilisateurs et des processus, offrant un très haut degré de sécurité. Cependant, on peut dire que c'est une fonction qui est utilisée dans les systèmes de défense / militaires qui sont difficiles à exploiter et à gérer et qui nécessitent une sécurité renforcée.

[fedora WIKI]SELinux/Config When booting up the machine, init uses libselinux to read this file, and determines which policy to load and what mode to put the machine in.*

Connectez-vous en mode mono-utilisateur

Je n'ai pas pu me reconnecter ... J'ai juste essayé de me connecter depuis grub en mode mono-utilisateur.

Comme je l'ai étudié plus tard, il semble que la méthode de paramétrage [SELinux = 0] dans l'option du noyau grub fonctionne également. Centos7: désactiver et démarrer SELinux à partir de grub

La console virtuelle tombe en panne avec une erreur

Afin de faire fonctionner grub et de se connecter en mode mono-utilisateur, il est nécessaire de fonctionner rapidement après la mise sous tension.

Le serveur cette fois est une VM sur ESXi6.5, et j'essayais de le faire fonctionner avec la console virtuelle Web de vSphere Web Client, mais chaque fois que j'allume le système d'exploitation et démarre la console virtuelle Web pour faire fonctionner l'écran grub, ce qui suit Un message est sorti.

image.png

Une erreur imprévue s'est produite.
Le client peut continuer à fonctionner, mais mettez maintenant à jour le navigateur et
Nous vous encourageons à soumettre un rapport de bogue.

Si vous effectuez [Recharger] selon cette fenêtre d'exception, vous serez toujours renvoyé à l'écran de connexion de vSphere Web Client, vous êtes donc passé à une panique du noyau lors de la connexion ... Éteignez l'alimentation ... Allumez l'alimentation ... ・ J'ai apprécié la torture de répéter ...


** [Solution: fermez la fenêtre avec la touche ESC] ** Ce n'est pas une connaissance officielle car c'est un système que j'ai découvert par hasard en combattant pendant environ 20 minutes, mais cette fenêtre d'exception disparaît lorsque j'appuie sur la touche ** ESC. ** Vous pouvez maintenant entrer l'opération grub sans aucun problème.

démarrage grub, modification des paramètres du noyau, démarrage du système d'exploitation

Afin de démarrer bash en mode mono-utilisateur, j'essayais de démarrer le système d'exploitation en jouant avec les paramètres du noyau.

Tout d'abord, sélectionnez le système d'exploitation et appuyez sur [e] pour passer en mode d'édition. image.png

Réécrivez le paramètre du noyau après ro sur la ligne [linux16] en rw init = / bin / sh.

image.png cette image.png Par ici

Ensuite, en appuyant sur [Ctrl-x], le système d'exploitation montera et vous pourrez accepter des commandes. image.png

Passer [init = / bin / sh] au paramètre du noyau et le démarrer semble signifier sauter la lecture habituelle de / etc / inittab et démarrer sh pour le moment. <détails>

Référence </ summary>
kernel-parameters.txt https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt
Comprendre "Systemd" - Démarrage du système- http://equj65.net/tech/systemd-boot/

Maintenant que bash a commencé, changez le mot de passe root ~~ et restaurez les paramètres ~~.

vi /etc/selinux/config

Ne peut pas entrer:

Après avoir modifié le paramètre SELINUXTYPE = disabled en SELINUXTYPE = cible dans vi, lorsque j'ai essayé de quitter avec: wq, la touche: est entrée uniquement comme; peu importe le nombre de fois que j'appuie dessus. ..

Parce que, dans cette méthode de démarrage du système d'exploitation, le clavier est entré en anglais, il a donc été découvert que les symboles d'affichage des touches sur le clavier japonais et le contenu d'entrée sont complètement différents.

(En parlant de cela, lors de l'édition des paramètres du noyau avec grub, je ne peux pas entrer le symbole =, mais comme il y a un = près du paramètre, j'ai essayé de l'utiliser sans l'effacer.)

Bien sûr, vous pouvez appuyer dessus en tenant compte de Différence entre le clavier japonais et le clavier anglais, mais dans mon cher Topre REAL FORCE ** Malheureusement, même si j'essayais toutes les touches avec / sans décalage, un piège mystérieux a été mis en place que «:» et «=» n'étaient pas saisis **.


** [Solution: enregistrer sans symboles] **

J'ai appris cela cette fois sans étudier, mais il est possible d'écraser et de sauvegarder avec ZZ en plus de: wq dans vi. Si ce n'était pas là, ce serait fini. Cela le sauvera.

image.png

J'ai pu le sauvegarder en toute sécurité. Essayez de redémarrer.

image.png

Il a commencé sans aucun problème et s'est rétabli. La solution!

finalement

C'est juste config, mais config, je l'ai simplement scruté. Cette fois, c'était l'environnement de vérification à portée de main, mais quand je pensais que la console était un environnement distant qui n'était disponible que localement, c'était vraiment gênant. Après le réglage, assurez-vous de vérifier la correspondance avec la configuration supposée ...

référence

5.4.2. Désactivation de SELINUX https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/security-enhanced_linux/sect-security-enhanced_linux-enabling_and_disabling_selinux-disabling_selinux

5.3. Fichier de configuration principal https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/security-enhanced_linux/sect-security-enhanced_linux-working_with_selinux-main_configuration_file

Bases du contrôle d'accès forcé (SELinux) https://thinkit.co.jp/article/13296

[fedora WIKI]SELinux/Config https://fedoraproject.org/wiki/SELinux/Config

Mémorandum SELinux https://qiita.com/JhonnyBravo/items/2012250c1cec9a682b86

Après avoir désactivé SELinux, il est devenu la panique du noyau et n'a pas pu être démarré. https://www.ipentec.com/document/linux-boot-kernel-panic-after-selinux-disabled

Centos7: désactiver et démarrer SELinux à partir de grub https://okisanjp.hatenablog.jp/entry/archives/771

SELinux Reintroduction-Bases- https://www.ffri.jp/assets/files/monthly_research/MR201406_A%20Re-introduction%20to%20SELinux_JPN.pdf

25.10. Modification du menu du terminal au démarrage Dans Red Hat Enterprise Linux 7, le mode de secours équivaut au mode mono-utilisateur et nécessite un mot de passe root. https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/sec-terminal_menu_editing_during_boot

Changer le mot de passe root en mode mono-utilisateur CentOS7 https://it.rin-ka.net/centos7-single-mode/

Réinitialiser le mot de passe root https://www.server-world.info/query?os=CentOS_7&p=resetpass

Accédez à GRUB et au mode mono-utilisateur à l'aide d'une console série https://docs.microsoft.com/ja-jp/azure/virtual-machines/troubleshooting/serial-console-grub-single-user-mode

Comprendre "Systemd" - Démarrage du système- http://equj65.net/tech/systemd-boot/

kernel-parameters.txt https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt

26.3. Démarrer en mode mono-utilisateur (héritage de grub) https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/5/html/installation_guide/s1-rescuemode-booting-single

Red Hat Enterprise Linux - Je souhaite démarrer en mode mono-utilisateur (héritage de grub) https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c01982340

Comment entrer égal "=" dans GRUB https://users.miraclelinux.com/support/?q=node/154

Recommended Posts

Une histoire qui était terrible si SELinux était correctement désactivé
Une histoire que Seaborn était facile, pratique et impressionnée
Une histoire à laquelle j'étais accro chez np.where
Une histoire à laquelle j'étais accro à appeler Lambda depuis AWS Lambda.
Une histoire qui avait du mal à traiter en boucle 3 millions de données d'identification
Histoire de trébucher sur l'installation de matplotlib
L'histoire que XGBoost a finalement été installé
Une histoire qui parfois ne marche pas si pip est le dernier
Une histoire à laquelle j'étais accro après la communication SFTP avec python
python memo- "sinon A et B" était "si (pas A) et B"
Une histoire qui était pratique lorsque j'ai essayé d'utiliser le module d'adresse IP python
Une histoire sur une erreur lorsque PyInstaller est utilisé dans un programme qui utilise googleapiclient