PDA

Bekijk Volledige Versie : linux skel



zerocool22
08/04/08, 08:59
Ik heb in mijn /etc/skel een .htaccess file aangemaakt met de bedoeling, dat bij elke nieuwe gebruiker die inlogt, automatisch deze .htaccess file in zijn homefolder staat. Nu is dit niet het geval zie ik net, wat doe ik hier verkeerd?

bakkerl
08/04/08, 09:15
de /etc/skel wordt alleen gebruikt tijdens het aanmaken van een gebruiker met 'adduser'. Het login process doet daar dus niets mee.

Afhankelijk van je shell moet je dan een stukje script opnemen in je /etc/profile

even uit me hoofd:


if [ ! -e ~/.htaccess ] ;
cp -f /etc/skell/.htaccess ~/.htaccess
fi

zerocool22
08/04/08, 10:05
# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}

# htaccess
if [ ! -e ~/.htaccess ] ;
cp -f /etc/skel/.htaccess ~/.htaccess
fi
# ksh workaround
if [ -z "$EUID" -a -x /usr/bin/id ]; then
EUID=`id -u`
UID=`id -ru`
fi

# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

if [ -x /usr/bin/id ]; then
USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi

HOSTNAME=`/bin/hostname`
HISTSIZE=1000

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
. $i
fi
done

unset i
unset pathmunge

En dan krijg ik de volgende error: Last login: Tue Apr 8 09:35:03 2008 from localhost.localdomain
-sh: /etc/profile: line 19: syntax error near unexpected token `fi'
-sh: /etc/profile: line 19: `fi'

bakkerl
08/04/08, 10:10
-sh: /etc/profile: line 19: syntax error near unexpected token `fi'
-sh: /etc/profile: line 19: `fi'

ik zei toch 'zo uit me hoofd'...
Woordje then vergeten...



if [ ! -e ~/.htaccess ] ; then
cp -f /etc/skell/.htaccess ~/.htaccess
fi

zerocool22
08/04/08, 12:19
ok merci hij kopieert het .htaccess bestand :)

enkel leest hij deze nog niet. Ik doe ergens iet fout, ik heb gewoon document root van apache op /home/ gezet zodat alle users aan hun space kunnen. Maar dit doet hij niet hij vind er enkel 2? straks nog wat testen

zerocool22
14/04/08, 09:00
Weet je toevallig ook hoe je met etc/profile mappen aanmaakt? Bijvoorbeeld jan heeft nu een home/jan folder, en ik wil automatisch 2 mappen laten aanmaken /home/jan/downloads en /home/jan/uploads

Hoe doe ik dit?

bakkerl
14/04/08, 09:01
mkdir

zerocool22
14/04/08, 09:15
if [ ! -e ~/download/ ] ; then
mkdir /download/
fi

Zoiets? of
if [ ! -e ~/home/download/ ] ; then
mkdir /home/download/
fi

of?

bakkerl
14/04/08, 09:34
als je wil testen of de FILE ~/download/ niet bestaat moet je -e gebruiken...

zie 'man test'

zerocool22
14/04/08, 09:38
Zodus als een gebruiker inlogd, dan word gekeken of de download map al bestaat zoniet word hij gemaakt ofniet?

Kan je tevens ook al rechten meegeven aan die map met het commando mkdir?

bakkerl
14/04/08, 09:43
ja, mkdir kan dat!

zerocool22
14/04/08, 10:36
Ik heb hetvolgende gebruikt:
if [ ! -e ~/download/ ] ; then
mkdir /download/
fi

mkdir: kan map `/download/' niet aanmaken: Bestand bestaat al

terwijl als ik ga kijken in de map /home/jan dan bestaat er geen map download?

bakkerl
14/04/08, 10:53
even goed je code bekijken... vooral welke map je precies probeert aan te maken!

zerocool22
14/04/08, 10:58
ok bedankt :)

Trouwens bij de check moet ik daar de / ook weghalen?