Maison  >  Article  >  Opération et maintenance  >  [20170705]Comprendre Linux su command.txt

[20170705]Comprendre Linux su command.txt

PHP中文网
PHP中文网original
2017-07-05 18:16:151758parcourir

[20170705] Comprendre le linux su command.txt

--//Je me connecte généralement en tant qu'utilisateur root pendant la maintenance, puis su - oracle pour d'autres opérations utilisateur
--// Général Ajoutez le paramètre -. C'est devenu un réflexe conditionné...^_^.

# man su
Changez l'identifiant d'utilisateur et l'identifiant de groupe effectifs par ceux de USER.

- , -l, --login
faire du shell un shell de connexion

--//C'est-à-dire utiliser le shell lors de la connexion pour définir l'environnement correspondant.
--//Si le l'exécution ne le fait pas - c'est-à-dire qu'elle exécute simplement un shell avec des ID d'utilisateur et de groupe de remplacement, sans remplacer les variables d'environnement ou les paramètres associés à l'intérieur.

1 Test 1 :
--//Actuellement connecté. en tant qu'utilisateur root :
# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm) ,6(disque) ,10(roue)
# echo $ORACLE_HOME
# export aaa=test
# echo $aaa
test

# su - oracle
$ id
uid =1001(oracle) gid=1001(oinstall) groups=101(fuse),1001(oinstall),1002(dba),1003(racoper),1004(asmdba)

$ echo $aaa

--//Aucun affichage.

$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0.4/dbhome_1

2. Si exécuté sans paramètres - Quoi ?

$ echo $ORACLE_HOME

--//La variable d'environnement ORACLE_HOME n'est pas définie, mais qu'en est-il de la variable d'environnement aaa définie par root ?
$ echo $aaa
test

--//Vous pouvez constater que la variable d'environnement aaa peut être affichée.

3 Il semble que le paramètre - devrait être rarement utilisé.--//En fait, la gestion de rac oracle en introduit plusieurs. Pour créer un utilisateur de grille, utilisez quelques exemples particuliers pour illustrer le problème :
--//Connectez-vous en tant qu'utilisateur de grille :
[grid@dm01dbadm02 ~ ]$ ocrcheck
L'état du registre Oracle Cluster est le suivant :
Version 3
Espace total (ko) : 262120
Espace utilisé (ko) : 3852
Espace disponible (ko) : 258268
ID : 2101855892
Nom du périphérique/fichier : + DBFS_DG< Périphérique/fichier non configuré
Périphérique/fichier non configuré
La vérification de l'intégrité du registre du cluster a réussi
La vérification de la corruption logique a été contournée en raison de non- utilisateur privilégié

--//OK. Si vous ajoutez des paramètres :
$ ocrcheck -local
PROTL-602 : Échec de la récupération des données du registre local
PROCL-26 : Erreur lors de la récupération des données. accès au stockage physique Erreur du système d'exploitation [Autorisation refusée] [13]

--//Trace et voir :
$ strace -f -o /tmp /b1.txt ocrcheck -local
PROTL -602 : Échec de la récupération des données du registre local
PROCL-26 : Erreur lors de l'accès au stockage physique Erreur du système d'exploitation [Autorisation refusée] [13]

$ grep 'Autorisation refusée' /tmp/b1 .txt
14849 open("/u01/app/11.2.0.4/grid/cdata/dm01dbadm02.olr", O_RDONLY|O_SYNC) = -1 EACCES (Autorisation refusée)

--//À ouvrez le fichier /u01/app/11.2.0.4/grid/cdata/dm01dbadm02.olr.

$ ls -l /u01/app/11.2.0.4/grid /cdata/dm01dbadm02.olr
- rw------- 1 root oinstall 272756736 2017-07-05 09:45:15 /u01/app/11.2.0.4/grid/cdata/dm01dbadm02.olr
--//Faites attention à l'utilisateur , le groupe est root, oinstall et l'utilisateur de la grille n'a pas l'autorisation d'ouvrir ce fichier

--//Pour résoudre ce problème, certains administrateurs de base de données utilisent de nombreux environnements dans lesquels l'utilisateur root est ajouté à la grille. Variables. Exécutez en tant qu'utilisateur root, mais je ne pense pas que ce soit très bon !!
--//En fait, une méthode très simple consiste à passer à l'utilisateur root pour l'exécution. Notez que vous ne pouvez pas ajouter le paramètre -. pour le moment, car cela affectera les paramètres d'environnement de la grille. En fait, il est exécuté en tant qu'
--//utilisateur root, et l'environnement utilisé est toujours l'utilisateur de la grille.

$. su root
Mot de passe :

# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys ),4(adm),6(disque),10(roue)
# echo $PATH
/usr/local/bin:/bin:/usr/bin:/u01/app/11.2.0.4/ grille/bin:.:/u01/app/11.2.0.4 /grid/bin

# echo $ORACLE_HOME
/u01/app/11.2.0.4/grid

--/ /Vous pouvez constater que les paramètres d'environnement de la grille sont toujours là. Utilisez ceci avec L'utilisateur root s'exécute comme suit :
# ocrcheck -local
L'état du registre local Oracle est le suivant : > Espace utilisé (koctets) : 2800
Espace disponible (ko) : 259320
ID : 1632195400
Nom de l'appareil/du fichier : /u01/app/11.2.0 .4/grid/cdata/dm01dbadm02.olr
                                                            Intégrité des appareils/fichiers vérification réussie
Vérification de l'intégrité du registre local réussie
Vérification de la corruption logique réussie

--//Bien sûr, vous pouvez également utiliser la commande sudo d'une autre manière sudo ocrcheck -local
--//Faites attention à. modifier/etc/sudoers, rejoignez :
grid ALL=(ALL) ALL

$ sudo ocrcheck -local
[sudo] mot de passe pour la grille :
L'état du registre local Oracle est le suivant :
Version 3
Espace total (ko) : 262120
Espace utilisé (ko) : 2800
Espace disponible (ko) : 259320
ID : 1632195400
Nom de l'appareil/fichier : /u01/app/11.2.0.4/grid/cdata/dm01dbadm02.olr
      🎜>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn