View previous topic :: View next topic |
Author |
Message |
thewally l33t
Joined: 12 May 2005 Posts: 703 Location: Genova
|
Posted: Wed Mar 22, 2006 10:47 pm Post subject: |
|
|
Fino a pochi giorni fa questo script funzionava a meraviglia
Poi, dopo un aggiornamento di kde, non riesco più a loggarmi come utente normale, controllando /var/log/kdm.log salta fuori che /tmp/.ICE-unix è stata creata dall'utente e non è del giusto proprietario.
Insomma, in poche parole /tmp/.ICE-unix deve essere 777 root:root, non me la cavo nemmeno con:
Code: |
# mkdir /tmp/.ICE-unix
# chmod 777 /tmp/.ICE-unix
|
evidentemente quella directory deve possedere anche altri requisiti, qualche file al suo interno.
Una possibile soluzione è quella di loggarsi in kdm, ad ogni avvio, come root, e poi nuovamente come utente, scomodissima, ma funziona.
Problema: non voglio che da kdm ci si possa loggare come root.
Indagando un po' ho scoperto che lo script che cancella /tmp cancella anche la suddetta directory.
Dato che tale directory non arriva a contenere che alcuni byte (con un utente contiene solo 2 socket).
Ho riscontrato lo stesso problema sul portatile, dove utilizzo lo stesso script.
La soluzione è correggere la riga 11 in questo modo:
Code: | REMOVEFILES=$(ls -AlQ /tmp |grep "\"" |cut -d"\"" -f2|grep -v .ICE-unix) |
Alla fine, lo script script completo:
Code: | #!/sbin/runscript
depend() {
need clock localmount hostname
before bootmisc
}
start() {
ebegin "Erasing /tmp directory"
REMOVEFILES=$(ls -AlQ /tmp |grep "\"" |cut -d"\"" -f2|grep -v .ICE-unix)
cd /tmp
for i in $REMOVEFILES
do
rm /tmp/$i -rf
done
eend $? "Failed remove files in /tmp"
}
|
Ora tutto funge! _________________ Proudly Member of GeCHI |
|
Back to top |
|
|
Cazzantonio Bodhisattva
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Thu Mar 23, 2006 2:26 pm Post subject: |
|
|
Mi sembra strano... /tmp deve contenere solo files utili alla sessione attuale dell'utente... altrimenti andrebbero in /var/tmp
Inoltre molti (tra cui io) montano direttamente /tmp in ram (pertanto viene automaticamente ripulita ad ogni avvio) e il problema non pare presentarsi.
Io penso possa essere semmai un bug di kde o un problema relativo ad altro... _________________ Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne |
|
Back to top |
|
|
thewally l33t
Joined: 12 May 2005 Posts: 703 Location: Genova
|
Posted: Fri Mar 24, 2006 3:36 pm Post subject: |
|
|
Cazzantonio wrote: | Io penso possa essere semmai un bug di kde o un problema relativo ad altro... |
Sicuramente è un bug di KDE, ma mi costava così poco in termini di codice e di byte mantenere quella dir che ho aggiunto questi pochi caratteri _________________ Proudly Member of GeCHI |
|
Back to top |
|
|
GiRa l33t
Joined: 07 Apr 2005 Posts: 717
|
Posted: Mon Apr 03, 2006 10:14 am Post subject: |
|
|
Sto usando lo script (modificato per KDE :p ) da un po' con successo ma ho trovato questo:
Code: | # /etc/conf.d/bootmisc
[cut...]
# Should we completely wipe out /tmp or just selectively remove known
# locks / files / etc... ?
WIPE_TMP="no"
|
Infatti nel file /etc/init.d/bootmisc si trova:
Code: | [cut]
#
# Clean up /tmp directory
#
if [[ -z ${CDBOOT} ]] && [[ -d /tmp ]] ; then
cd /tmp
if [[ ${WIPE_TMP} == "yes" ]] ; then
ebegin "Wiping /tmp directory"
# This eval stuff sucks, so if someone has a better *wor
king*
# solution, please file a bug at http://bugs.gentoo.org/
# Originally ripped from Debian init scripts
local exceptions="
'!' -name . -a
'!' '(' -uid 0 -a
'('
-path './lost+found/*' -o
-path './quota.user/*' -o
-path './aquota.user/*' -o
-path './quota.group/*' -o
-path './aquota.group/*' -o
-path './.journal/*'
')'
')'"
# First kill most files, then kill empty dirs
eval find . -xdev -depth ${exceptions} ! -type d -print0
| xargs -0 rm -f --
eval find . -xdev -depth ${exceptions} -type d -empty
-exec rmdir '{}' \\';'
eend 0
else
ebegin "Cleaning /tmp directory" (
rm -f /tmp/.X*-lock /tmp/esrv* /tmp/kio* /tmp/jp
sock.* /tmp/.fam*
rm -rf /tmp/.esd* /tmp/orbit-* /tmp/ssh-* /tmp/k
socket-* /tmp/.*-unix
) &> /dev/null
eend 0
fi
(
# Make sure our X11 stuff have the correct permissions
mkdir -p /tmp/.{ICE,X11}-unix
chown 0:0 /tmp/.{ICE,X11}-unix
chmod 1777 /tmp/.{ICE,X11}-unix
[[ -x /sbin/restorecon ]] && restorecon /tmp/.{ICE,X11}-
unix
) &> /dev/null
fi
[cut]
|
Come si può notare "Clean /tmp directory" lavora solo su alcuni file ben definiti, purtoppo però non riesco bene a capire cosa faccia il wiping...
Che idee avete? |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|