[20170705] Verstehen Sie den Linux-Befehl su command.txt
--//Ich melde mich während der Wartung normalerweise als Root-Benutzer an und gehe dann zu anderen Benutzeroperationen über su - oracle
--// Allgemein Fügen Sie den Parameter - hinzu. Dies ist zu einem bedingten Reflex geworden...^_^.
# man su
Ändern Sie die effektive Benutzer-ID und Gruppen-ID in die von USER.
- , -l, --login
Machen Sie die Shell zu einer Anmelde-Shell
--//Das heißt, verwenden Sie die Shell beim Anmelden, um die entsprechende Umgebung festzulegen.
--//Wenn die Die Ausführung funktioniert nicht – das heißt, es wird einfach eine Shell mit Ersatzbenutzer- und Gruppen-IDs ausgeführt, ohne die darin enthaltenen Umgebungsvariablen oder zugehörigen Parameter zu ersetzen.
1. Test 1:
--//Derzeit angemeldet als Root-Benutzer:
# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm) ,6(Scheibe) ,10(Rad)
# 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
--//Keine Anzeige.
$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0.4/dbhome_1
2. Bei Ausführung ohne Parameter – Was?
$ echo $ORACLE_HOME
--//Die Umgebungsvariable ORACLE_HOME ist nicht gesetzt, aber was ist mit der von Root gesetzten Umgebungsvariablen aaa?
$ echo $aaa
test
--//Sie können feststellen, dass die Umgebungsvariable aaa angezeigt werden kann.
3. Es scheint, dass der Parameter - selten verwendet werden sollte.
--//Tatsächlich führt das Management von rac oracle viele ein. Um einen Grid-Benutzer zu erstellen, verwenden Sie einige spezielle Beispiele, um das Problem zu veranschaulichen:
--//Als Grid-Benutzer anmelden:
[grid@dm01dbadm02 ~ ]$ ocrcheck
Status von Oracle Cluster Registry ist wie folgt:
Version 3
Gesamtspeicherplatz (KByte): 262120
Verwendeter Speicherplatz (KBytes): 3852
Verfügbarer Speicherplatz (KBytes): 258268
ID: 2101855892
Geräte-/Dateiname: + DBFS_DG< Gerät/Datei nicht konfiguriert
Gerät/Datei nicht konfiguriert
Integritätsprüfung der Cluster-Registrierung erfolgreich
Überprüfung der logischen Beschädigung umgangen aufgrund von Nicht- Privilegierter Benutzer
--//OK. Wenn Sie Parameter hinzufügen:
$ ocrcheck -local
PROTL-602: Fehler beim Abrufen von Daten aus der lokalen Registrierung
PROCL-26: Fehler beim Beim Zugriff auf den physischen Speicher Betriebssystemfehler [Berechtigung verweigert] [13]
--//Trace and see:
$ strace -f -o /tmp /b1.txt ocrcheck -local
PROTL -602: Daten aus der lokalen Registrierung konnten nicht abgerufen werden
PROCL-26: Fehler beim Zugriff auf den physischen Speicher Betriebssystemfehler [Berechtigung verweigert] [13]
$ grep 'Berechtigung verweigert' /tmp/b1 .txt
14849 open("/u01/app/11.2.0.4/grid/cdata/dm01dbadm02.olr", O_RDONLY|O_SYNC) = -1 EACCES (Berechtigung verweigert)
--//To Öffnen Sie die Datei /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
--//Achten Sie auf den Benutzer , die Gruppe ist root, oinstall, und der Grid-Benutzer hat keine Berechtigung, diese Datei zu öffnen
--//Um dieses Problem zu lösen, verwenden einige Datenbankadministratoren viele Umgebungen, in denen der Root-Benutzer dem Grid hinzugefügt wird. Variablen. Als Root-Benutzer ausführen, aber ich finde das nicht sehr gut!!
--//Eigentlich ist es eine sehr einfache Methode, zur Ausführung zum Root-Benutzer zu wechseln. Beachten Sie, dass Sie den Parameter - nicht hinzufügen können zu diesem Zeitpunkt, da dies Auswirkungen auf die Umgebungsparameter des Grids hat. Es wird tatsächlich als
--//root-Benutzer ausgeführt und die verwendete Umgebung ist immer noch Grid-Benutzer.
$ su root
Passwort:
# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys ),4(adm),6(disk),10(wheel)
# echo $PATH
/usr/local/bin:/bin:/usr/bin:/u01/app/11.2.0.4/ grid/bin:.:/u01/app/11.2.0.4 /grid/bin
# echo $ORACLE_HOME
/u01/app/11.2.0.4/grid
--/ /Sie können feststellen, dass die Umgebungsparameter von Grid noch vorhanden sind. Verwenden Sie dies mit: Der Root-Benutzer führt Folgendes aus:
# ocrcheck -local
Der Status von Oracle Local Registry ist wie folgt: > Benutzter Speicherplatz (KB): 2800
Verfügbarer Speicherplatz (KB): 259320
ID: 1632195400
Geräte-/Dateiname: /u01/app/11.2.0. .4/grid/cdata/dm01dbadm02.olr
Geräte-/Dateiintegrität Prüfung erfolgreich
Lokale Registrierungsintegritätsprüfung erfolgreich
Logische Korruptionsprüfung erfolgreich
--//Natürlich können Sie den Befehl sudo ocrcheck -local
--//Seien Sie vorsichtig modifizieren/ etc/sudoers, join:
grid ALL=(ALL) ALL
$ sudo ocrcheck -local
[sudo] Passwort für Grid:
Der Status von Oracle Local Registry ist wie folgt :
Version 3
Gesamtspeicherplatz (KByte): 262120
Benutzter Speicherplatz (KByte): 2800
Verfügbarer Speicherplatz (KByte): 259320
ID: 1632195400
Geräte-/Dateiname: / u01/app/11.2.0.4/grid/cdata/dm01dbadm02.olr
🎜>
Das obige ist der detaillierte Inhalt von[20170705]Linux su command.txt verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!