Puncte:0

Cum se creează un alias pentru toți utilizatorii Linux..?

drapel cn
root@puppetclient-ubuntu:/home/azureuser#cat /etc/.bash_aliases
  alias extend_shutdown_15='bash extend_shutdown.sh 15 ; bash /bin/max_timetrack.sh'
  alias extend_shutdown_30='bash extend_shutdown.sh 30 ; bash /bin/max_timetrack.sh'
  alias extend_shutdown_60='bash extend_shutdown.sh 60 ; bash /bin/max_timetrack.sh'

#încercați să automatizați și să executați „sursa /etc/.bash_aliases” prin scriptul shell, dar nu funcționează înseamnă că modificările nu se efectuează.

root@puppetclient-ubuntu:/home/azureuser# cat alias.sh
#!/bin/bash
sursa ~/.bash_aliases

cand fac sursa /etc/.bash_aliases comenzile personalizate alias sunt disponibile numai pentru utilizatorul root și nu este disponibilă pentru toți ceilalți așteptați „root” dacă execut o singură dată, ar trebui să fie întotdeauna disponibil pentru toți utilizatorii. Vă rog să mă ajutați să repar. Mulțumesc.

David avatar
drapel cn
Ce versiune de Ubuntu?
hariraj avatar
drapel cn
„VERSION="20.04.2 LTS (Focal Fossa)"
drapel aq
De ce îl procurați în `alias.sh` și nu în .bashrc al utilizatorului?
Puncte:1
drapel cn

Abordarea standard în Ubuntu este că aliasurile sunt definite și complet controlat de utilizator, nu de administrator. Da, unele aliasuri implicite sunt definite la crearea contului, dar aceste definiții sunt adăugate la privat .bashrc fișier și astfel poate fi șters/modificat dacă utilizatorul preferă acest lucru.

Puteți personaliza aliasurile implicite care vin cu un cont nou prin editare /etc/skel/.bashrc. Fișierul respectiv este implicit .bashrc fișier pentru conturi noi.

Controlați definițiile alias-ului ca administrator

Dacă, în schimb, doriți să preluați controlul, în calitate de administrator, asupra alias-urilor utilizatorilor actuali, le puteți defini într-un script pe care îl adăugați în /etc/profile.d. Toate scripturile prezente acolo sunt executate de /etc/profile, la nivel de sistem profil script-ul executat înainte de privatul utilizatorului ~/.profil script pentru shell-uri de conectare. Preferă acest lucru decât editarea directă /etc/profile, deoarece ultimul fișier este controlat de managerul de pachete și poate fi suprascris în timpul unei actualizări viitoare.

Fiți conștienți de faptul că unii utilizatori ar putea să nu vă placă dacă preluați un astfel de control. De asemenea, știți că utilizatorii pot anula aliasurile cu care le-ați impus unalias comenzile în privat .bashrc fişier.

Puncte:0
drapel ca

Cred că trebuie doar să-ți pui fișierul alias.sh în /etc/profile.d

în cazul meu /etc/profile.d/99-alias.sh conține:

#Adăugat de JP
alias du='du -h'
alias dfh='df -h | grep -v snap'

funcționează pentru fiecare conectare.

hariraj avatar
drapel cn
Am adăugat același lucru pe care l-ai sugerat, dar încă nu funcționează „cat /etc/profile.d/alias.sh alias extend_shutdown_15='bash extend_shutdown.sh 15;bash /bin/max_timetrack.sh' alias extend_shutdown_30='bash extend_shutdown.sh 30;bash /bin/max_timetrack.sh' alias extend_shutdown_60='bash extend_shutdown.sh 60;bash /bin/max_timetrack.sh'
hariraj avatar
drapel cn
modificările automate nu sunt efectuate, dar când execut manual, cum ar fi „bash /etc/profile.d/alias.sh”, modificările sunt efectuate, dar nu vreau să execut manual...
jpbrain avatar
drapel ca
Te rog spune-mi ce încerci să obții? De asemenea, ce arată comanda „alias” după ce ați pus fișierul în /etc/profile.d
hariraj avatar
drapel cn
Am adăugat fișierul „alias.sh” în „/etc/profile.d/”, așa că vreau ca aliasuri să fie create automat pentru toți utilizatorii din sistemul Linux. Acum, când fac comanda „alias” în utilizatorul rădăcină, nu există aliasuri create pe care le-am menționat în fișierul alias.sh.
jpbrain avatar
drapel ca
Buna ziua. cum te conectezi la utilizatorul root? ce comandă folosești pentru a testa utilizatorul root?
Puncte:0
drapel cn
raj

În primul rând, pseudonimele sunt temporar si valabila numai pentru shell-ul care rulează în prezent. Când rulați alias.sh fișier, se execută în cochilie proprie, nu în coaja din care a fost fugit. Deci sursele scriptului ~/.bash_aliases (de ce acest fișier și nu /etc/.bash_aliases? Am crezut că îl doriți pe cel din urmă?), dar odată ce scriptul se termină, shell-ul iese și orice alias ar fi putut fi definit în ~/.bash_aliases dosar, au dispărut.

Asta e diferența dintre alergare un script shell și aprovizionare aceasta. Dacă rulați un script shell, acesta rulează în propriul shell, astfel încât orice modificări aduse mediului, alias-urilor și similare făcute în script nu afectează shell-ul părinte (shell-ul de la care a fost pornit scriptul). Dar atunci când sursați același script, acesta se execută în carcasa actuală, deci toate modificările pe care le face rămân după terminarea scriptului (desigur că rămân atâta timp cât shell-ul trăiește - dacă ieșiți din shell, toate modificările dispar din nou).

Ținând cont de acest lucru, dacă doriți aliasuri din fișier /etc/.bash_aliases pentru a fi disponibil pentru orice utilizator în orice coajă pe care o rulează, fișierul trebuie să provină din /etc/bash.bashrc fişier. Acest fișier este executat ori de câte ori pornește orice shell (de la orice utilizator) și este folosit în mod obișnuit pentru a seta mediul inițial.

Deci, dacă adăugați următoarea linie la sfârșitul /etc/bash.bashrc (desigur că trebuie să o faci ca root, pentru a putea edita fișierul):

sursa /etc/.bash_aliases

ar trebui să obții ceea ce vrei.

The alias.sh fișierul nu este deloc necesar.

hariraj avatar
drapel cn
azureuser@puppetclient-ubuntu:~$ cat /etc/bash.bashrc sursa /etc/.bash_aliases modificările automate nu se efectuează în sistem, dar când am executat manual, modificările sunt efectuate „source /etc/bash.bashrc”, dar nu vreau să le execut manual. Vă rog să mă ajutați..
raj avatar
drapel cn
raj
@hariraj `/etc/bash.bashrc` ar trebui să fie executat automat la pornirea shell-ului, nu știu de ce nu este. Probabil că sistemul dumneavoastră este configurat să execute un alt fișier în schimb. Trebuie să găsiți acel fișier și să introduceți `source /etc/.bash_aliases` în el. Dacă aveți o configurație de sistem nestandard, nimeni nu poate ști ce fișier se execută de fapt, în afară de dvs.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.