Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: 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:
#/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
-
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
-
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.
-
> kirjoittaa koko tiedoston uudelleen
>> lisää tulosteen tiedoston loppuun
-
miksi tämä kohta on näin
echo Syötä komento: "sudo net ads join -U domainadmin"
miksei se ole vain näin
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
/usr/bin/aptitude install libnss-ldap -y
voisi olla haluttaessa myös näin
aptitude install libnss-ldap -y
-
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ä
echo "/home /home nfs asetus,toinen,kolmas 0 0" >> /etc/fstab
tai jos jostain syystä käytät sudoa:
echo "/home /home nfs asetus,toinen,kolmas 0 0" | sudo tee -a /etc/fstab
-
miksi tämä kohta on näin
echo Syötä komento: "sudo net ads join -U domainadmin"
miksei se ole vain näin
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:
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.