Hogyan lehet elérni, hogy az archlinux-java set … ne igényelje a sudót?

Ugrálnom kell a Java 8 és a Java 13 között, hogy a különböző Minecraft verziók megfelelően működjenek, és ehhez meg kell írnom a következőt: sudo archlinux-java set java-8-openjdk vagy sudo archlinux-java set java-13-openjdk – a probléma az, hogy ezt egy egyszerű, duplán kattintható szkriptvé szeretném alakítani, amelyet az asztalomra tehetek, és nem kérem meg, hogy adja meg a jelszót .

Van valami, amit chmod-ra tudok tenni, vagy valami olyasmi, ami miatt a parancshoz nincs szükség sudo -re?

Válasz

Biztonságosabb / óvatosabb megközelítés lenne, ha nem módosítanánk az alapértelmezett Java-környezetet az egész rendszeren, csak egyetlen program különböző verzióinak futtatásához.

Ehelyett egy módosított PATH programmal indíthat el egy programot, hogy egy adott Java verziót használjon (amint azt a Arch Linux Wiki , ahol a archlinux-java dokumentálva van):

 $ PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program  

Ha .desktop fájlt használ a program indításához, szerkessze annak Exec kulcs :

 Exec=env PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program  

Vagy a GUI használatával állítsa be a “Tulajdonságok” → “Alkalmazás”: “Parancs” mezőt.


Ha valóban meg akarja engedni a felhasználónak, hogy futtassa sudo archlinux-java anélkül, hogy jelszót kérnének tőle, hozzáadhat

 your_user ALL=(root) NOPASSWD: /usr/bin/archlinux-java  

a /etc/sudoers címre, a már meglévő your_user sorok. Ehhez ne felejtse el használni a visudo -t: a mentés előtt ellenőrzi a sudoers fájlt, hogy nincs-e benne hiba, csökkentve ezzel a sudo használhatatlan.

További olvasmány:

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük