(Plesk for Linux) Ajoitetut tehtävät – shell-asetus
yhteenveto: Voit antaa asiakkaille mahdollisuuden luoda ajoitettuja tehtäviä, jotka suorittavat komentoja palvelimella. Plesk for Linux -ympäristössä käytettävä shell määrittää, mihin tiedostojärjestelmän alueisiin ajoitetuilla tehtävillä on pääsy. Oletuksena pääsy on rajoitettu asiakkaan verkkotilaan. Pleskin järjestelmänvalvojalla on kuitenkin mahdollisuus muuttaa tätä.
Tässä aiheessa opit, miten asetetaan ajoitettujen tehtävien oletusshell, miten asetetaan mukautettu shell yksittäiselle tilaukselle ja miten sallitaan asiakkaan asettaa mukautettu shell omalle tilaukselleen. Opit myös, miten estetään asiakkaita käyttämästä ”Suorita komento” -ajoitettuja tehtäviä.
Huomautus: Jos et tunne Linux-shellien käsitettä, suosittelemme perehtymään siihen lisää ennen tässä aiheessa kuvattujen asetusten muuttamista.
Mitä shelliä käytetään ajoitettujen tehtävien suorittamiseen?
Shelliä, jota käytetään ”Suorita komento” -ajoitetuissa tehtävissä, sidotaan tilauksen järjestelmän käyttäjään (eli kaikki tilauksen alla luodut ajoitetut tehtävät jakavat saman shellin). Oletuksena se vastaa palvelimen asetuksissa määritettyä oletusshelliä, jota käytetään kaikissa palvelimen tilauksissa. Tähän sääntöön on kuitenkin kaksi poikkeusta:
Pleskin järjestelmänvalvoja voi valita minkä tahansa shellin mille tahansa palvelimen tilaukselle.
Pleskin järjestelmänvalvoja voi antaa tilauksen omistajalle oikeuden valita mukautettu shell.
Molemmissa tapauksissa tilauksen alla luodut ”Suorita komento” -ajoitetut tehtävät käyttävät oletusshellin sijaan mukautettua shelliä.
Miksi käyttää eri shelliä?
Oletuksena /bin/bash (chrooted)-shell on määritetty ajoitettujen tehtävien oletusshelliksi. Tämä tarkoittaa, että ajoitettujen tehtävien suorittamat komennot pääsevät käsiksi vain tilaukseen liittyvän verkkotilan tiedostoihin. Tämä on tärkeä turvatoimi, joka varmistaa, etteivät asiakkaat voi häiritä palvelimen toimintaa tai päästä käsiksi Pleskin järjestelmänvalvojan tai muiden asiakkaiden tiedostoihin ajoitettujen tehtävien avulla.
Muista: Tämä asetus vaikuttaa kaikkiin palvelimen tilauksiin, myös Pleskin järjestelmänvalvojan omistamiin. Se ei vaikuta ajoitettuihin tehtäviin, jotka Pleskin järjestelmänvalvoja on luonut kohdassa Työkalut ja asetukset > Ajoitetut tehtävät (Cron-työt) (kohdassa ”Työkalut ja resurssit”) ja jotka on määritetty suoritettaviksi käyttäjänä root.
Tärkein syy vaihtaa ajoitettujen tehtävien oletusshell on antaa kaikille palvelimen käyttäjille mahdollisuus suorittaa komentoja ajoitettujen tehtävien kautta, joilla on pääsy palvelimen koko tiedostojärjestelmään.
Jos et jaa palvelinta kenenkään kanssa tai luotat muihin vuokralaisiin, voit valita chrootaamattoman shellin ajoitetuille tehtäville. Jos haluat käyttää chrootaamatonta shellia ajoitetuille tehtäville, mutta et ole varma, mitä valita, valitse ”/bin/bash”.
Jaetulla isännöintipalvelimella suosittelemme, että ajoitettujen tehtävien oletusshell jätetään arvoon ”/bin/bash (chrooted)”. Jos jokin asiakkaistasi tarvitsee chrootaamattoman shellin ajoitettuihin tehtäviinsä, voit myöntää sen tilauskohtaisesti tilaus kerrallaan.
Varoitus: Asiakkaalle minkä tahansa muun shellin kuin ”/bin/bash (chrooted)” käyttöoikeuden myöntäminen antaa heille mahdollisuuden suorittaa binaaritiedostoja sekä käyttää tiedostoja ja tietoja, jotka eivät kuulu heille. Tämä on tietoturvariski ja voi johtaa palvelimen vaarantumiseen.
Aseta ajoitettujen tehtävien oletusshell
Jos haluat asettaa shellin, jota käytetään kaikkien ”Suorita komento” -ajoitettujen tehtävien suorittamiseen oletuksena, siirry kohtaan Työkalut ja asetukset > Ajoitetut tehtävät (Cron-työt) (kohdassa ”Työkalut ja resurssit”) > Asetukset ja valitse haluamasi shell valikosta.

Vaihtoehtoisesti voit kirjautua palvelimelle ssh:n kautta ja suorittaa seuraavan komennon:
plesk bin server_pref -u -crontab-secure-shell "<shell>"
Missä <shell> on haluttu shell. Esimerkiksi:
plesk bin server_pref -u -crontab-secure-shell "/bin/bash"
Estä ”Suorita komento” -ajoitettujen tehtävien käyttö
Jos epäilet, että jokin asiakkaistasi on luonut ajoitetun tehtävän, joka suorittaa haitallista toimintaa palvelimella (esimerkiksi lähettää roskapostia), voit poistaa käytöstä kaikki ”Suorita komento” -ajoitetut tehtävät tutkimuksen ajaksi.
Kirjaudu Pleskin palvelimelle ssh:n kautta ja suorita seuraava komento
plesk bin server_pref -u -crontab-secure-shell "/bin/false"
aseta ajoitettujen tehtävien oletusshelliksi ”/bin/false”. Tämä saa kaikki asiakkaiden luomat ”Suorita komento” -ajoitetut tehtävät epäonnistumaan.
Muista: Asiakkaat, joilla on oikeus valita eri shell, voivat ohittaa tämän asetuksen tilauksissaan valitsemalla toisen shellin.
Aseta mukautettu shell yksittäiselle tilaukselle
Jos haluat asettaa mukautetun shellin yksittäiselle tilaukselle, toimi seuraavasti:
Siirry kohtaan Tilaukset, napsauta haluamaasi tilausta, siirry ”Isännöinti ja DNS” -välilehdelle ja napsauta sitten Isännöinti.
Valitse haluamasi shell ”SSH Access” -valikosta ja napsauta Tallentaa.
Kaikki tämän tilauksen ”Suorita komento” -ajoitetut tehtävät käyttävät valittua shelliä.
Salli asiakkaan asettaa mukautettu shell tilaukselleen
Jos haluat sallia asiakkaan asettaa mukautetun shellin yhdelle tilauksistaan, toimi seuraavasti:
Siirry kohtaan Tilaukset, napsauta haluamaasi tilausta ja napsauta sitten Mukauta.
Valitse ”Käyttöoikeudet”-välilehdeltä ”Isännöinnin asetusten hallinta” ja ”Mahdollisesti epäturvallisten web-komentosarjavaihtoehtojen määritys, jotka ohittavat palveluntarjoajan käytännön” -valintaruudut ja napsauta sitten Päivitä ja lukitse.
Tämä antaa asiakkaalle mahdollisuuden valita eri shell kohdassa Verkkosivustot ja toimialueet > ”Isännöinti ja DNS” -välilehti > Isännöinti. Jos hän tekee niin, kaikki tilauksen ”Suorita komento” -ajoitetut tehtävät käyttävät valittua shelliä.
Selvitä, mitä shelliä tilaus käyttää
Jos haluat selvittää, mitä shelliä tilauksen ”Suorita komento” -ajoitetut tehtävät käyttävät, toimi seuraavasti:
Selvitä tilauksen järjestelmän käyttäjän käyttäjätunnus. Siirry kohtaan Tilaukset, napsauta haluamaasi tilausta, siirry ”Isännöinti ja DNS” -välilehdelle, napsauta Isännöinti ja etsi kenttä ”Käyttäjätunnus”.
Kirjaudu Pleskin palvelimelle ssh:n kautta ja suorita seuraava komento:
crontab -u <system user name> -l | grep SHELL