Kasutajakeskkond Debianis
Sisukord
Sissejuhatus
Kasutajakeskkonna (ingl. k. user environment) moodustavad need ressursipiirangud ja tingimused, mis rakenduvad operatsioonisüsteemis kasutaja protsessidele. Kasutajakeskkonna määratlevad
- süsteemsed ressursipiirangud (ingl. k. resource limits) - määravad kui palju süsteemi ressurssi on kasutajal võimalik kasutada, nt kui palju saab kasutaja samaaegselt avada faile
- keskkonnamuutujad - keskkonnamuutujate abil saab kasutaja poolt käivitatavaid programme sh shelli protsessi ennast juhtida, nt määrata lokaadi või bash history suuruse
Üldiselt iga arvutis töötav protsess töötab omas keskkonnas, kus tema tööd mõjutavad süsteemsed ressursipiirangud ja keskkonnamuutujad, kusjuures reeglina pärib protsessi poolt käivitatud protsess oma eelkäija keskkonna, st talle rakendatakse samu piiranguid ja keskkonnamuutujatel on samasugused väärtused.
Protsessi keskkonna mõttes ei ole põhimõtteliselt vahet, kas protsess on käivitatud süsteemi alglaadimise käigus või protsessi on käivitanud süsteemi mingil moel sisse loginud kasutaja, kuid kuna sisseloginud kasutaja puhul tuleb arvesse palju täiendavaid olulisi asjaolusid, mis määravad, milliste omadustage kasutajakeskkond kujuneb, käsitletakse neid kahte juhtumit eraldi.
Ülidselt on osa kasutajakeskkonna omadustest kasutajale ette antud ning osalt saab kasutaja keskkonna omadusi muuta, nt
- tavaliselt kasutaja ei saa muuta oma kasutajanime ja UID väärtust
- kasutaja ei suurendada arvu, mis määrab kui palju tema käivitatud protsess saab samaaegselt faile avada, aga ta saab seda arvu vähendada
- kasutaja saab muuta oma lokaadi määranguid
Kasutajate haldus
Vaikimisi on andmed süsteemi kasutajate kohta kirjas failides
- /etc/passwd - kasutajate andmed
- /etc/group - gruppide kirjeldused
- /etc/shadow - paroolide krüptogrammid
Kasutaja moodustamiseks võib redigeerida tavalise tekstieditoriga faile /etc/passwd, /etc/group ja /etc/shadow aga sobivam on kasutada programme groupadd ja useradd, nt nii
# groupadd mart # useradd -g mart -m -d /home/mart mart
Ning omistada kasutajale parool
# passwd mart
Tulemusena lisatakse kasutaja andme mainitud kolme faili
# grep mart /etc/passwd /etc/group /etc/shadow /etc/passwd:mart:x:1000:1000::/home/mart:/bin/sh /etc/group:mart:x:1000: /etc/shadow:mart:$1$PvykLyXa$AxhjUndHit.WIcheFQoEI.:14114:0:99999:7:::
ja moodustatakse kasuta kasutaja kodukataloog /home/mart kuhu kopeeritakse failid kataloogis /etc/skel, vaikimisi
# find /etc/skel -type f /etc/skel/.bash_logout /etc/skel/.profile /etc/skel/.bashrc
Kasutaja süsteemi sisenemise õiguse ajutiseks peatamiseks sobib asendada tema kirjes x hüüumärgiga,
enne
mart:x:56685:6044::/home/mart:/bin/sh
pärast
mart:!:56685:6044::/home/mart:/bin/sh
Kasutajakeskkond
Arvuti konsoolilt või pseudo-terminalilt (nt ssh programmi abil) kasutaja süsteemi sisse logimisel
- rakendatakse vastavalt PAM mooduli login seadistusfailist /etc/pam.d/login või /etc/pam.d/ssh tulenevad piirangud (reeglina /etc/security/limits.conf)
- käivitatakse sellele kasutajale failis /etc/passwd seadistatud shell'i protsess kõnealuse kasutaja õigustes
- algväärtustatakse kasutajakeskkond süsteemse profiili /etc/profile nn punktifailide (nt ~/.profile) abil
Seejärel on kasutajal shell nö ees ja ta saab arvutit kasutama hakata, nt kävitada protsesse.
Tekstikonsoolilt sisseloginud kasutaja keskkond
Arvuti tekstikonsoolilt sh serial konsoolilt sisse logides esmalt täidetakse PAM login mooduli seadistusfailis /etc/pam.d/login kirjeldatud tegevused, vaikimisi
- /etc/security/limits.conf - seadistatakse ressursipiirangud
ja seejärel bash shelli käivitamisel kasutatakse selliseid seadistusfaile
- /etc/profile - globaalne profiilifail, mis määrab PATH ja PS1 väärtused tava ja juurkasutajatele
- kasutaja shelli punktifail - kolmest ainult esimese, mis leidub ~/.bash_profile, ~/.bash_login, ~/.profile
SSH abil pseudo-terminalilt sisseloginud kasutaja keskkond
- TODO
Graafiliselt konsoolilt sisseloginud kasutaja keskkond
Arvuti graafiliselt konsoolilt sisse logides kasutatakse selliseid seadistusfaile
- TODO
Bash completion
Keerukama bash completioni kasutamiseks kui niisama käsu lõpunikirjutamine peab süsteemis olema pakett bash-completion, kusjuures vaikimisi on see paigaldatud. Nt võimaldab bash-completion tarkvara lõpetada käsu argumente
- sisestades 'cd tühik-tab' esitatakse nimekirja käesolevas kataloogis olevatest alamkataloogidest
- sisestades 'rpm2cpio-tühik-tab' esitatakse nimekirja .rpm failidest
- sisestades 'gunzip-tühik-tab' esitatakse nimekiri .gz failidest
Completion on laiendatav, tavaliselt paketid lisavad laiendusi kataloogi /etc/bash_completion.d, nt Subversion
# dpkg -S /etc/bash_completion.d/subversion subversion: /etc/bash_completion.d/subversion
Subversioni puhul esitatakse tulemusena 'svn-tühik' sisestamisel nimekiri võimalikest nö esimestest svn argumentidest.
Bash shell kasutamine
Tõenäolselt enamasti leiab bash shelli kasutamine aset Xterm programmi aknas. Lisaks ilmsele on abiks shortcut kombinatsioonide kasutamine
- Ctrl-D - ütleb exit, st logib välja kui tegu on nn login-shelliga
- Ctrl-A - viib kursori rea algusse
- Ctrl-E - viib kursori rea lõppu
Prompt
TODO