Kā izveidot un pārvaldīt lietotāju pakalpojumus operētājsistēmā Linux

Ka Izveidot Un Parvaldit Lietotaju Pakalpojumus Operetajsistema Linux



Parasts Linux lietotājs var izveidot pielāgotu sistēmas pakalpojumu. Lai gan systemd pakalpojumus lielākoties pārvalda sistēmas administratori, izmantojot komandu systemctl. To pašu komandu var izmantot arī lietotāja specifisku pakalpojumu pārvaldībai; viss, kas jums nepieciešams, ir a – lietotājs karogs.

Šajā rokasgrāmatā es apskatīšu, kā izveidot lietotājam raksturīgu pakalpojumu operētājsistēmā Linux un kā to pārvaldīt, izmantojot systemctl.

Iemesls parastam lietotāja pakalpojumam

Parastais lietotāja pakalpojums atšķiras no sistēmas pakalpojuma. Parastā lietotāja pakalpojums ir vērsts uz lietotāju, kurš ir pieteicies. Šis pakalpojums darbosies tikai tā lietotāja sesijā, kurš to izveidoja.







Kā izveidot parastu lietotāja pakalpojumu

Lietotājam īpašie pakalpojumi operētājsistēmā Linux tiek ievietoti ~/.config/systemd/user direktoriju. Ja šī direktorija nav, to var izveidot.

mkdir -lpp ~ / .config / systemd / lietotājs

The -lpp karodziņu izmanto, lai vajadzības gadījumā izveidotu vecākdirektoriju. The ~ norāda vietējā lietotāja mājas direktoriju un ir līdzvērtīgs /mājas/lietotājs kamēr punkts pirms konfigurācijas faila padara to paslēptu. Izveidosim vienkāršu bash skripta failu, kas ik pēc 30 minūtēm ierakstīs tekstā atmiņas lietojumu. Es veidoju skriptu ar nosaukumu script.sh .

#! /bin/bash

kamēr taisnība

darīt

bezmaksas -m >> / mājas / lietotājs / mans fails.txt

Gulēt 1800. gads

darīts

Šo skriptu var izveidot jebkur, taču pārliecinieties, ka skriptā norādītais ceļš ir absolūts ceļš.

Tagad izveidosim pakalpojumu, kas fonā izpildīs iepriekš minēto skriptu. Palaidiet jebkuru teksta redaktoru, piemēram, Nano vai Vim, un ielīmējiet tajā tālāk norādītās rindiņas.

[ Vienība ]

Apraksts =Mans pakalpojums

[ apkalpošana ]

Tips = vienkārši

ExecStart = / atkritumu tvertne / bash / mājas / lietotājs / script.sh

Restartēt = neveiksmes gadījumā

[ Uzstādīt ]

WantedBy =noklusējuma.mērķis

Sadaļā [Unit], Apraksts direktīvā ir vienkārši pakalpojuma nosaukums. Ņemiet vērā, ka tas nedrīkst būt garāks par 80 rakstzīmēm.

Sadaļā [Pakalpojums] ir trīs svarīgas direktīvas. Pirmkārt, Tips ; kurš ir vienkārši , tad ExecStart kas satur mūsu pielāgotā skripta izpildāmo failu. Pakalpojums tiks restartēts tikai tad, ja radīsies kļūme.

Sadaļā [Instalēt] ir WantedBy direktīva, kas ir default.target , kas nozīmē, ka pakalpojums tiks iespējots sistēmas stāvoklī, kad tas tiks sasniegts noklusējuma izpildes līmenī, kas parasti ir multi-user.target vai graphical.target.

Tagad saglabājiet failu mapē ~/.config/systemd/user direktorijs ar jebkuru nosaukumu; Es to nosaucu myservice.service .

Kā pārvaldīt parastu lietotāja pakalpojumu

Lai pārvaldītu parasto lietotāja pakalpojumu, komanda systemctl tiek izmantota kopā ar – lietotājs karogs. The – lietotājs karodziņš nozīmē, ka lietotājs sazinās ar pakalpojumu pārvaldnieku, nevis ar sistēmu.

Pēc lietotājam raksturīgā pakalpojuma faila izveides pirmais svarīgais solis ir sistēmas konfigurācijas failu atkārtota ielāde.

systemctl -- lietotājs dēmons-pārlādēt

Tādējādi tiks piemērotas izmaiņas.

Lai uzzinātu, vai pakalpojums darbojas vai ne, izmantojiet systemctl ar – lietotājs karogs un opcija.

systemctl -- lietotājs statusu [ pakalpojuma_nosaukums ]

Citas parastā lietotāja pakalpojuma pārvaldības komandas ir minētas tālāk:

systemctl -- lietotājs sākt [ pakalpojuma_nosaukums ]

systemctl -- lietotājs iespējot [ pakalpojuma_nosaukums ]

systemctl -- lietotājs stop [ pakalpojuma_nosaukums ]

systemctl -- lietotājs atspējot [ pakalpojuma_nosaukums ]

systemctl -- lietotājs restartēt [ pakalpojuma_nosaukums ]

Kā izveidot parastu lietotāja pakalpojumu ar sistēmas administratora atļaujām

Lietotājs izveido daudzus pakalpojumus, taču to darbībai ir nepieciešama administratora atļauja. Šādus pakalpojumus var izveidot, pievienojot a Lietotājs direktīvu sadaļā [Pakalpojums].

The Lietotājs direktīvu var izmantot, lai pieminētu tā lietotāja vārdu, kura atļaujas ir nepieciešamas pakalpojuma palaišanai, piemēram, admin . Tātad, ja parasts lietotājs vēlas izveidot pakalpojumu, kam nepieciešamas administratora atļaujas, vienkārši pievienojiet User=admin sadaļā [Pakalpojums] veiks darbu. Tomēr šis pakalpojums paliks aktīvs tik ilgi, kamēr būs aktīvs administrators. Ņemiet vērā, ka šo pakalpojumu nevar tieši kontrolēt administrators.

Secinājums

Parasts lietotājs var izveidot arī sistēmas pakalpojumu, taču tas ir jāievieto ~/.config/systemd/user direktoriju. Šis pakalpojums darbojas tik ilgi, kamēr lietotājs, kurš to izveidoja, ir pieteicies. Arī šie pakalpojumi tiek pārvaldīti, izmantojot komandu systemctl, bet ar – lietotājs karogs. Kas norāda sistēmai, ka pakalpojumu izsauc lietotājs, nevis sistēma. Šajā rokasgrāmatā es izveidoju pielāgotu parasto lietotāja pakalpojumu un minēju systemctl komandas, lai to pārvaldītu. Turklāt es arī izcēlu metodi, lai izveidotu pakalpojumu, kam nepieciešamas administratīvās privilēģijas.