Ich habe versucht, Aliase (siehe unten) für den Root-Benutzer in .bash_profile
/var/root/.bash_profile zu speichern und Terminal neu zu starten, aber es hat nicht funktioniert. Wo muss sich die .bash_profile
Datei befinden, um dauerhafte Aliase im Terminal zu verwalten?
$ cat /var/root/.bash_profile
alias grep='grep --color=always'
alias net='sudo netstat -ap tcp && sudo lsof -Pn -i4'
meine spezifikationen:
sh-3.2# system_profiler SPSoftwareDataType
Software:
System Software Overview:
System Version: OS X 10.8.5 (12F45)
Kernel Version: Darwin 12.5.0
Boot Volume: lily
Boot Mode: Normal
Computer Name: lily’s MacBook Air
User Name: System Administrator (root)
Secure Virtual Memory: Enabled
Time since boot: 12:37
Der korrekte Name der Konfigurationsdatei der Standard-Root-Shell (dh sh) ist .profile. Ändern Sie also den Namen von .bash_profile in .profile:
mv /var/root/.bash_profile /var/root/.profile
source /var/root/.profile
Dies funktioniert, indem Sie sich als root in der GUI anmelden.
Wenn Sie versuchen, die Shell eines Sudoers aufzurufen, sudo su
wird die .profile-Datei von root nicht abgerufen. Verwenden Sie sudo -i
stattdessen.
sudo ln -s "/Users/${LOGNAME}/.bash_profile" /var/root/.profile
Ergebnis:
$ sudo ls -lha /var/root/.profile
lrwxr-xr-x 1 root wheel 24B Oct 5 12:40 /var/root/.profile -> /Users/phx/.bash_profile
Dann wird Ihr eigenes ~/.bash_profile
für root geladen, wenn Sie sudo -s
oder sudo -i
(zusammen mit Ihren Funktionen und Aliasen) .
Ich konnte dies sudo
jedoch nicht für einmalige Befehle zum Laufen bringen.
~/.bash_profile
ist ein vom Benutzer beschreibbarer Speicherort, und alles darin wird während einer Shell-Sitzung auf Root-Ebene automatisch als root ausgeführt, sodass er tatsächlich zum Herstellen von Persistenz verwendet werden könnte. Zugegeben, Sie müssten wissen, dass das /var/root/profile
symbolisch mit verknüpft war ~/.bash_profile
, aber es ist immer noch nicht sicher. Sag nur.
Lilie
Lilie
.bashrc
Sollte es eine im Verzeichnis geben/var/root/
? Mir ist gerade aufgefallen, dass es kein Bashrc gibtLilie
$ sudo su
um root zu werden, sind die Aliase nicht mehr verfügbarLilie
.profile
(nicht .bash_profile) mit$ sudo -i
funktioniert! Wenn Sie es in eine Antwort stecken, akzeptieren Sie es gerne