Vraag Vraag om een ​​wachtwoord als root vereist is


Is er een manier om programma's om een ​​wachtwoord te vragen wanneer root vereist is? Ik wil bijvoorbeeld een aantal bestanden uitpakken met File Roller erin /usr/share/ waar blijkbaar root vereist is, maar in plaats van de fout die het me geeft, zou ik graag een wachtwoord prompt willen.


3
2017-10-30 08:14


oorsprong




antwoorden:


Om uw vraag direct te beantwoorden: Nee, er is geen manier (voor zover ik weet) om een ​​programma te maken om een ​​wachtwoord te vragen in plaats van te falen als het niet voldoende rechten heeft om een ​​bewerking uit te voeren. Er zijn twee opties:

  • Sommige programma's weten dat ze beheerdersrechten nodig hebben voor bepaalde bewerkingen en vragen om een ​​wachtwoord voordat ze iets doen (dat wil zeggen dat Software Center om een ​​wachtwoord vraagt ​​voordat ze programma's installeren).

  • De meeste andere programma's moeten worden gestart met de benodigde rechten. Zoals het genoemd is, moet je gebruiken sudo [command] (in terminal), gksu [command] (in Gnome / Unity) of kdesu [command] (in KDE) daarvoor.


5
2017-10-30 10:15





De gebruikelijke manier is om in opdrachtregelmodus te gaan (alt + F2  xterm, of dash terminal) en gebruik vervolgens gksudo file-roller en voer je wachtwoord in.

sudo en gksudo geven je root-rechten.


1
2017-10-30 08:44



Waarom een ​​downvote? Ik zie niets mis met het antwoord - Sergey
Gewoon een gok, maar als je een terminal opent, gebruik dan sudo in plaats van gksudo? - Alexis Wilke


Je zou File Roller moeten starten met gksu zoals vermeld door de vorige gebruiker. Wanneer u items toevoegt aan uw opstartbalk, kunt u een opdracht gebruiken zoals faxanswer waarvoor rechten vereist zijn:

gksu faxanswer ttyS4

Als u die File Roller eenmaal gebruikt om dingen in te updaten /usr/share, het is beter om alleen het commando Uitvoeren te gebruiken dan een permanent pictogram te maken.


1
2017-10-30 10:06



Bedankt voor de bewerkingen Scott. Ik heb het gewoon geprobeerd en inderdaad werken gksu en gksudo allebei ... - Alexis Wilke


Is er een manier om programma's om een ​​wachtwoord te vragen als root nodig is?

Ja - met de hulp scripts.

Hier is een voorbeeld met de bash-kopie (cp). Het kopiëren (back-up) is ingepakt in het perl-script om de eigenaar van het bestand te controleren. Het script gebruikt de perl stat / 1 / -opdracht. Hier wordt het script opgeroepen vanuit het KDE-servicemenu / 2 /. Als het bestand eigendom is van root / 3 /, wordt de KDE-frontend voor sudo gebruikt / 4 /, / 5 /.

backup.pl:

gebruik: "backup.pl bestandsnaam"

#!/usr/bin/perl -w

$FILENAME = $ARGV[0];

$MARKER = "_Backup_";

($DAY,$MONTH,$YEAR) = (localtime)[3,4,5];
$DAY_STAMP = sprintf '%04d%02d%02d', $YEAR+1900, $MONTH+1, $DAY;

for ( $I=0; $I<101; $I++ ) {
   if ( $I > 99 ) { die system ("kdialog --sorry '...too many copies'"); }
   $INDEX = sprintf '%02d', $I;
   $NEW_NAME = $FILENAME . $MARKER . $DAY_STAMP . $INDEX;
   last unless (-e $NEW_NAME);
}

$UID = (stat("$FILENAME"))[4];

@Q_COPY_COMMAND = ("\"", "cp", "$FILENAME", "$NEW_NAME", "\"");
@COPY_COMMAND = ("cp", "$FILENAME", "$NEW_NAME");

if ( $UID == 0 ) {
   system ("kdesudo bash -c @Q_COPY_COMMAND");
} else {
   system ("@COPY_COMMAND");
}

enter image description here

Links:

  1. http://perldoc.perl.org/functions/stat.html
  2. http://techbase.kde.org/Development/Tutorials/Creating_Konqueror_Service_Menus
  3. https://help.ubuntu.com/community/RootSudo
  4. http://kde-apps.org/content/show.php?content=72106
  5. https://launchpad.net/kdesudo

1
2017-10-30 13:24



Ik veronderstel dat dit kan worden gedaan voor Gnome? - abruski