Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: HannuTapio - 24.11.09 - klo:12.22

Otsikko: .sh tiedosto joka sisältäisi sudo oikeudet, onko mahdollinen ?? [ RATKAISTU ]
Kirjoitti: HannuTapio - 24.11.09 - klo:12.22
Hei!

Olen tässä hieno säätämässä ja viimeistelemässä Mint 7 Gloria Linuxia helppo käytteisempään suuntaan.

Kysymykseni ovat aika Linux aloittelijan kysymyksiä, minulla ei juurikaan kokemusta ole texti tiedostojen käytöstä ohjelmallisena.
Eli, jos tahtoisin seuraavat .sh:t rakentaa sudo oikeuksin, en halua että salasanaa kysytään, haluan että salasana olisi jo valmiiksi annettuna, niin kuinka toimia ??

lepotila.sh ->
Koodia: [Valitse]
echo "pm-suspend" | sudo at **:**

restart_apache2.sh ->
Koodia: [Valitse]
sudo /etc/init.d/apache2 restart

ja muita vastaavia ->

Lisäksi ihmetystä herättää, tämä että, minnekkähän nämä .sh tiedostot tulisi sijoittaa jotta ne olisivat Linuxini PATH rakenteessa löytyviä.

( edit. )
En myöskään tarkkaan ole tietoinen mikä tämä .sh pääte on, olen ymmärtänyt että se olisi kuten WIN .bat ??

//----

Kiitos,,
Otsikko: Vs: .sh tiedosto joka sisältäisi sudo oikeudet, onko mahdollinen ??
Kirjoitti: Kullervo - 24.11.09 - klo:13.14
Pienellä vaivalla laittamalla esim linux.fi/wikin hakuun sh olisit saanut vastauksia kysymyksiisi

http://linux.fi/index.php?title=Toiminnot%3ASearch&search=sh&fulltext=Etsi

Otsikko: Vs: .sh tiedosto joka sisältäisi sudo oikeudet, onko mahdollinen ??
Kirjoitti: HannuTapio - 24.11.09 - klo:14.41
Pienellä vaivalla laittamalla esim linux.fi/wikin hakuun sh olisit saanut vastauksia kysymyksiisi

http://linux.fi/index.php?title=Toiminnot%3ASearch&search=sh&fulltext=Etsi


.sh!

Nyt täytyy kyllä sanoa että olen aloittelija Linux säätö maailmassa, Linux tuntemukseni ei ole tarpeeksi syvä
että osaisin tuon linkin perusteella rakentaa komennon joka asettaa koneen lepotilaan ilman salasanan kyselyjä ??

Tämä toimihan on tavallaan tietoturva riski, siis tämä että rakentaa omia komentoja joita voisi ajaa ilman
salasanaa, kenties on niin, että, tämänlainen .sh toimi, ei edes ole mahdollista Ubuntun kanssa.

esim.

Lepotila -> lt.sh
Apache Restart -> ar.sh

Jos jotain tuollaista saisin onnistumaan, niin hienoa !!

( edit. )
Ja nuo sitten vielä johonkin PATH hakemistoon.
Täytyy kuitenkin tästä vihdoinkin lukea tuo Ubuntu WIKI lävitse.

//----

Kiitos,,
Otsikko: Vs: .sh tiedosto joka sisältäisi sudo oikeudet, onko mahdollinen ??
Kirjoitti: peran - 24.11.09 - klo:15.10
Toi ilmeisesti on mahdollinen toteuttaa esim. cronin avulla, mutta kannattaa jättää tekemättä reikää koneeseen, joka korottaa tavan tallaajasta superuseriksi ilman salasanaa.

Periaate Cron lukisi kansiota tietyn väliajoin, johon itselläsi on kirjoitusoikeus.
touch:illa lisäisit kansioon 0 pituisen tiedoston. Cron löytäisi tiedoston ja tuhoaisi sen. Sen jälkeen cron tekisi mitä croniin olisi käsketty tekevän, mikäli kyseinen tiedosto löytyy.

En osaa Cronia käyttää,mutta käsittääkseni se voi pyöriä pääkäyttäjän oikeuksilla myös.

Edit - Siis toiminnon alkamiseen tulisi määrittelemäsi viive, joka ei ilmeisesti haittaa tapauksissasi. Esim. minuutin viive.
Otsikko: Vs: .sh tiedosto joka sisältäisi sudo oikeudet, onko mahdollinen ??
Kirjoitti: meizirkki - 24.11.09 - klo:16.36
Lisää tämä rivi /etc/sudoers tiedostoon:

Koodia: [Valitse]
%users ALL=NOPASSWD: /tiedoston/sijainti/skripti.sh
Ja kaikki käyttäjät voivat sen jälkeen ajaa "sudo /tiedoston/sijainti/skripti.sh" ilman että se kysyy salasanaa.

Jos haluat että vain sinä voit ajaa scriptin ilman salasanaa vaihda "%users" tilalle oma käyttäjänimesi ilman prosenttimerkkiä

Skripti löytyy PATHista kun laitat sen /usr/bin kansioon.

.sh tiedoston perässä ei oikeastaan vaikuta linuxeissa mitään, mutta se ilmoittaa käyttäjälle että kyseessä on shell skripti.
Otsikko: Vs: .sh tiedosto joka sisältäisi sudo oikeudet, onko mahdollinen ??
Kirjoitti: HannuTapio - 24.11.09 - klo:18.14
Lisää tämä rivi /etc/sudoers tiedostoon:

Koodia: [Valitse]
%users ALL=NOPASSWD: /tiedoston/sijainti/skripti.sh
Ja kaikki käyttäjät voivat sen jälkeen ajaa "sudo /tiedoston/sijainti/skripti.sh" ilman että se kysyy salasanaa.

Jos haluat että vain sinä voit ajaa scriptin ilman salasanaa vaihda "%users" tilalle oma käyttäjänimesi ilman prosenttimerkkiä

Skripti löytyy PATHista kun laitat sen /usr/bin kansioon.

.sh tiedoston perässä ei oikeastaan vaikuta linuxeissa mitään, mutta se ilmoittaa käyttäjälle että kyseessä on shell skripti.

.sh!

Tämä ohje vaikuttaa jo selkeältä, kokemattomuuteni Linuxin kanssa vain paistaa taas, en osaa tallentaa tuota editoimaani
"/etc/sudoers" tiedostoa, minä yritän editoida sitä seuraavasti "sudo gedit /etc/sudoers", mutta tallennus nappi on harmaana,
vaikka käytän sudoa, lisäksi kun yritin editoida tiedostoa "sudo nautilus" käsin, niin, samoin, tallennus nappi säilyy harmaana ??
En jostain syystä omaa lupaa tallentaa ??

//----

Kiitos,,
Otsikko: Vs: .sh tiedosto joka sisältäisi sudo oikeudet, onko mahdollinen ??
Kirjoitti: pjotr - 24.11.09 - klo:18.18
/etc/sudoers-tiedostoa pääsee editoimaan komennolla

Koodia: [Valitse]
sudo visudo
Lisätietoja

Koodia: [Valitse]
man visudo
Otsikko: Vs: .sh tiedosto joka sisältäisi sudo oikeudet, onko mahdollinen ??
Kirjoitti: HannuTapio - 24.11.09 - klo:18.38
Joo!

Tässä nyt sählään oikein kunnolla, nuo yllä olevat ohjeet varmaankin jo riittävät, mutta en sitten tiedä onnistuinko
säätämään koneeni sellaiseen tilaan että joudun uudelleen asentamaan MINT 7 GLORIA käyttöjärjestelmäni ??

Koodia: [Valitse]
jtapio@jtapio-desktop ~/Työpöytä $ sudo visudo
sudo: /etc/sudoers is mode 0660, should be 0440

Kaikki "sudo" komennot joita yritän käyttää palauttavat yllä olevaa virheilmoitusta !!

Minä yritin tuossa editoida tuota "/etc/sudoers" tiedostoa, kun en ensin saanut lupaa tallentaa, niin muutin tiedoston
oikeudet pois "root" tilasta, loppujen lopuksi, nytten en enää pysty käyttämään sudoa ollenkaan !!

Ei kait tässä nyt ihan uudestaan asennusta joudu suorittamaan ?? Kenties uusi käyttäjä ??

//----

Kiitos,,
Otsikko: Vs: .sh tiedosto joka sisältäisi sudo oikeudet, onko mahdollinen ??
Kirjoitti: meizirkki - 24.11.09 - klo:19.41
Joo!

Tässä nyt sählään oikein kunnolla, nuo yllä olevat ohjeet varmaankin jo riittävät, mutta en sitten tiedä onnistuinko
säätämään koneeni sellaiseen tilaan että joudun uudelleen asentamaan MINT 7 GLORIA käyttöjärjestelmäni ??

Koodia: [Valitse]
jtapio@jtapio-desktop ~/Työpöytä $ sudo visudo
sudo: /etc/sudoers is mode 0660, should be 0440

Kaikki "sudo" komennot joita yritän käyttää palauttavat yllä olevaa virheilmoitusta !!

Minä yritin tuossa editoida tuota "/etc/sudoers" tiedostoa, kun en ensin saanut lupaa tallentaa, niin muutin tiedoston
oikeudet pois "root" tilasta, loppujen lopuksi, nytten en enää pysty käyttämään sudoa ollenkaan !!

Ei kait tässä nyt ihan uudestaan asennusta joudu suorittamaan ?? Kenties uusi käyttäjä ??

//----

Kiitos,,

Sudoersin siis todella kuuluu olla rootin oikeuksilla
Yritä jotenkin päästä root käyttäjäksi esim "su" komennolla tai valitsemalla käynnistysvalikossa pelastustila ja sitten roottina aja sudon korjaamiseksi:
Koodia: [Valitse]
chmod 0440 /etc/sudoers
Jos saat sudon taas toimimaan voit myös kokeilla helppokäyttöistä nano editoria terminaalissa sudoersin muuttamiseksi:
Koodia: [Valitse]
sudo nano /etc/sudoers
Otsikko: Vs: .sh tiedosto joka sisältäisi sudo oikeudet, onko mahdollinen ??
Kirjoitti: HannuTapio - 24.11.09 - klo:19.51
Joo!

Tässä nyt sählään oikein kunnolla, nuo yllä olevat ohjeet varmaankin jo riittävät, mutta en sitten tiedä onnistuinko
säätämään koneeni sellaiseen tilaan että joudun uudelleen asentamaan MINT 7 GLORIA käyttöjärjestelmäni ??

Koodia: [Valitse]
jtapio@jtapio-desktop ~/Työpöytä $ sudo visudo
sudo: /etc/sudoers is mode 0660, should be 0440

Kaikki "sudo" komennot joita yritän käyttää palauttavat yllä olevaa virheilmoitusta !!

Minä yritin tuossa editoida tuota "/etc/sudoers" tiedostoa, kun en ensin saanut lupaa tallentaa, niin muutin tiedoston
oikeudet pois "root" tilasta, loppujen lopuksi, nytten en enää pysty käyttämään sudoa ollenkaan !!

Ei kait tässä nyt ihan uudestaan asennusta joudu suorittamaan ?? Kenties uusi käyttäjä ??

//----

Kiitos,,

Sudoersin siis todella kuuluu olla rootin oikeuksilla
Yritä jotenkin päästä root käyttäjäksi esim "su" komennolla tai valitsemalla käynnistysvalikossa pelastustila ja sitten roottina aja sudon korjaamiseksi:
Koodia: [Valitse]
chmod 0440 /etc/sudoers
Jos saat sudon taas toimimaan voit myös kokeilla helppokäyttöistä nano editoria terminaalissa sudoersin muuttamiseksi:
Koodia: [Valitse]
sudo nano /etc/sudoers

chmod!

Minä ilmeisesti onnistuin hieman pääsemään eteenpäin.
Tämä seuraavanlainen virhe ilmoitus on vielä ongelmana ->

Koodia: [Valitse]
jtapio@jtapio-desktop ~/Työpöytä $ sudo
sudo: /etc/sudoers is owned by uid 1000, should be 0

( EDIT. )
OK KAIKKI TAAS KUNNOSSA, SUDO ENNALLAANSA, KOKEILEN HUOMENNA NOITA OHJEITA, ELI [ RATKAISTU ]

//----

Kiitos,,
Otsikko: Vs: .sh tiedosto joka sisältäisi sudo oikeudet, onko mahdollinen ??
Kirjoitti: qwertyy - 24.11.09 - klo:20.12
Ei kannata kokeilla seuraavaa ennen kuin joku vahvistaa tämän, mutta eikös tuohon auttanut
sudo su -
ja sen jälkeen visudo toimii "root" oikeuksilla? Jotenkin hiukan tuon tyylisesti tein ps3:lle yhden sammutus skriptin, mutta en muista tarkalleen visudon käyttötyyliä, mutta olen kyllä aika varma, että en muuttanut tuon tiedoston käyttöoikeuksia, koska käsittääkseni se olisi muutenkin vaarallista?