Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: AION - 19.08.08 - klo:13.23

Otsikko: Scripti, joka lisää tekstiä fstab:iin [ratkaistu]
Kirjoitti: AION - 19.08.08 - klo:13.23
Hei kaikille!

Linux coodaaminen on minulle hiaman uutta, mutta nyt kun olen saanut tehtyä AD domain kirjautumisen toimimaan hyvin, niin yritin tehdä siitä scriptiä, joka helpottaisi työpaikkamme muissa Linux asennuksissa, ihmisiä, jotka eivöt ole Linuxin kanssa vielä kovin edistyneitä.

Tässä onkin scriptin alku:
Koodia: [Valitse]
#/bin/bash
/usr/bin/aptitude install libnss-ldap -y
/usr/bin/aptitude install nfs-common -y
cp /etc/nsswitch.conf /etc/nsswitch.conf.backup
cp /etc/ldap.conf /etc/ldap.conf.backup
cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
cp /etc/pam.d/common-session /etc/pam.d/common-session.backup
cp /etc/pam.d/common-auth /etc/pam.d/common-auth.backup
cp /etc/pam.d/common-account /etc/pam.d/common-account.backup
cp /etc/pam.d/common-password /etc/pam.d/common-password.backup
cp common-password /etc/pam.d/common-password
cp common-session /etc/pam.d/common-session
cp common-auth /etc/pam.d/common-auth
cp common-account /etc/pam.d/common-account
cp ldap.conf /etc/ldap.conf
cp ldap.secret /etc/ldap.secret
cp nsswitch.conf /etc/nsswitch.conf
cp smb.conf /etc/samba/smb.conf
chmod 600 /etc/ldap.secret
echo Syötä komento: "sudo net ads join -U domainadmin"
echo Syötä sudo salasana sitä kysyttäessä
echo Syötä domain admin salasana
exit

Tuohon sitten tarvisi pätkän, joka heittää tiedostoon /etc/fstab pätkän:
palvelin.meidän.domain:/home   /home   nfs    asetus,toinen,kolmas     0    0

Onko tällainen mahdollista bashilla, mielestäni olen nähnyt tällaista jossain, mutta en vain löydä enkä saa mieleeni, että missä?

T:
Sampo Saarela
Otsikko: Vs: Scripti, joka lisää tekstiä fstab:iin
Kirjoitti: qwertyy - 19.08.08 - klo:13.38
sed (stream editor) komennolla pitäisi onnistua. En osaa kyllä heti heittää miten tuon rivin saa lisättyä, lähinnä mietityttää miten tuolla sai heitettyä tiedoston loppuun uuden rivin.

http://linux.fi/index.php/Sed
Otsikko: Vs: Scripti, joka lisää tekstiä fstab:iin
Kirjoitti: Asmo Koskinen - 19.08.08 - klo:13.53
Tuohon sitten tarvisi pätkän, joka heittää tiedostoon /etc/fstab pätkän:
palvelin.meidän.domain:/home   /home   nfs    asetus,toinen,kolmas     0    0

">" voisi lähteä myös liikkeelle.

asmok@ubuntu:~$ cat /etc/passwd | grep asmok > passwd_asmok.txt
asmok@ubuntu:~$ cat passwd_asmok.txt
asmok:x:1002:1002:Asmo Koskinen,,,,:/home/asmok:/bin/bash
asmok@ubuntu:~$

Valmiista tiedostosta luetaan sisään "<".  

Bash/sed-skriptaus on se, mitä toden teolla pitää ryhtyä opettelemaan, hyödyllisintä ylläpidon näkökulmasta eli kaiken maailman tekstitiedostojen manipulointi. Ja niitä /etc, /opt ja /var/lib/tftpboot -hakemistoissa riittää  ;D

Ystävällisin terveisin Asmo Koskinen.
Otsikko: Vs: Scripti, joka lisää tekstiä fstab:iin
Kirjoitti: anttimr - 19.08.08 - klo:13.56
> kirjoittaa koko tiedoston uudelleen
>> lisää tulosteen tiedoston loppuun
Otsikko: Vs: Scripti, joka lisää tekstiä fstab:iin
Kirjoitti: Kari Argillander - 19.08.08 - klo:14.14
miksi tämä kohta on näin

Koodia: [Valitse]
echo Syötä komento: "sudo net ads join -U domainadmin"
miksei se ole vain näin
Koodia: [Valitse]
net ads join -U domainadmin
Tuon skriptin joutuu kumminkin ajamaan pääkäyttäjän oikeuksin, koska koskee kansioon /etc niin miksei samantie automatisoi myös tuota jolloin käyttäjälle tulee vähemmän työtä.

Tämä kohta
Koodia: [Valitse]
/usr/bin/aptitude install libnss-ldap -y
voisi olla haluttaessa myös näin
Koodia: [Valitse]
aptitude install libnss-ldap -y
Otsikko: Vs: Scripti, joka lisää tekstiä fstab:iin
Kirjoitti: Melmacian - 19.08.08 - klo:14.52
Lainaus
Tuohon sitten tarvisi pätkän, joka heittää tiedostoon /etc/fstab pätkän:
palvelin.meidän.domain:/home   /home   nfs    asetus,toinen,kolmas     0    0

Eli käytännössä
Koodia: [Valitse]
echo "/home   /home   nfs    asetus,toinen,kolmas     0    0" >> /etc/fstab
tai jos jostain syystä käytät sudoa:
Koodia: [Valitse]
echo "/home   /home   nfs    asetus,toinen,kolmas     0    0"  | sudo tee -a /etc/fstab
Otsikko: Vs: Scripti, joka lisää tekstiä fstab:iin
Kirjoitti: AION - 19.08.08 - klo:15.24
miksi tämä kohta on näin

Koodia: [Valitse]
echo Syötä komento: "sudo net ads join -U domainadmin"
miksei se ole vain näin
Koodia: [Valitse]
net ads join -U domainadmin
Tuon skriptin joutuu kumminkin ajamaan pääkäyttäjän oikeuksin, koska koskee kansioon /etc niin miksei samantie automatisoi myös tuota jolloin käyttäjälle tulee vähemmän työtä.



Kiitoksia kaikille vastauksista, tuon fstab kohdan sainkin toimivaan yhteisön hyvällä ohjeistuksella.

Se miksi tuo "net ads join" on tuolla tavalla, johtuu siitä, että Domain Admin oikeuksia ei ole yhdelläkään pysyvällä tunnuksella, vaan kaikilla Mikrotuki henkilöillä on omat tunnukset ja niitä käytetään tällaisissa tarkoituksissa. Domain Admin oikeudet kun ovat aika arka asia.
Tietenkin jos tuon saisi vetämään tuon komennon tyyliin:
Koodia: [Valitse]
net ads join -U echo Syötä käyttäjänimi Domain Admin oikeuksilla
echo Syötä salasana

Ja tästä menisi salasana ja käyttäjä tunnus tuonne komennolle.