Puncte:0

Schimbați eroarea shell-ului

drapel nl

Ubuntu 20.04

Încerc să schimb shell-ul pentru un user-backuppc:

brad@ubuntu:~$ su - backuppc /usr/bin/bash
Parola: 
/usr/bin/bash: 1: Eroare de sintaxă: „|” neașteptat
brad@ubuntu:~$ unde este bash
bash: /usr/bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz

Actualizare: S-a rezolvat

-, -l, --login Porniți shell-ul ca un shell de conectare cu un mediu similar cu un login real:

             o șterge toate variabilele de mediu, cu excepția TERM și variabilele specificate de --whitelist-environment

             o inițializează variabilele de mediu HOME, SHELL, USER, LOGNAME și PATH

             o modificări la directorul principal al utilizatorului țintă

             o setează argv[0] al shell-ului la „-” pentru a face din shell un shell de conectare

fund:

brad@zika:~$ su -
Parola: 
su: Eșec de autentificare

Ce greșesc aici? Multumesc oameni buni!

terdon avatar
drapel cn
Ce mai exact încerci să faci? Ați vrut să rulați `sudo -u backuppc chsh` sau poate `su backuppc chsh`? Prima și a doua parte a întrebării dvs. sunt legate una de cealaltă? Vă rugăm să [editați] întrebarea dvs. și să ne oferiți un context. „Eșecul de autentificare” este ceea ce obțineți atunci când dați o parolă greșită. Dacă nu se întâmplă asta, avem nevoie de mai multe informații.
Brad Thompson avatar
drapel nl
nu, parola nu este greșită, sudo funcționează bine, dar su nu funcționează
terdon avatar
drapel cn
Vă rog să explicați ce faceți. `su -` necesită parola utilizatorului `root`, în timp ce `sudo` va cere parola utilizatorului `brad`.
Puncte:3
drapel cn

Pe Ubuntu, contul root nu este activat. În consecință, comanda su - nu va funcționa. Această comandă pornește un shell de conectare pentru utilizatorul root, care nu funcționează. su - backuppc pornește un shell de conectare pentru utilizator backuppc. Acest lucru funcționează dacă acel utilizator există în sistem.

Pentru a deschide un prompt interactiv cu privilegii root, utilizați sudo -i . Cu toate acestea, pentru multe sarcini de administrator, rareori este nevoie să păstrați deschis un terminal cu privilegii root. În schimb, precede comenzile care necesită privilegii de root cu sudo.

Pentru a schimba shell-ul de conectare al altui utilizator, de exemplu utilizator backuppc, poți să folosești

sudo chsh backuppc -s <cale-to-shell>
Brad Thompson avatar
drapel nl
su - backuppc -s /bin/bash a funcționat și el. Activat sau activat? root pe caseta mea este activat.
vanadium avatar
drapel cn
Semantică: te rog să mă luminezi asupra termenului corect și îl voi actualiza. La o instalare implicită Ubuntu, contul root este dezactivat. su - prin urmare nu funcționează. Cu toate acestea, su - backuppc va. Voi adăuga o mică notă despre asta.
Brad Thompson avatar
drapel nl
„dezactivat” nu este corect din punct de vedere politic, poate de aceea ai folosit inițial termenul „activat” :) :) :)

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.