Taannoin 12.3:n aikana jossakin päivityksessä findutils-locate vaihtui minulla mlocateen, joten 13.1:een asensin sitten suoraan sen. Muuten hyvä, mutta se asettaa jatkuvasti tietokantansa oikeudet turhan tiukoiksi:
tn@peirce [~]$ dir /var/lib/mlocate/mlocate.db
-rw------- 1 nobody nobody 6,5M 2013-11-27 18:45 /var/lib/mlocate/mlocate.db
Jossakin järjestelmässä muistelen joskus nähneeni erityisen käyttäjäryhmän locate-käyttäjiä varten, mutta /etc/groupista ei löydy mitään sellaistakaan. Voisin toki luoda cron-työn tai käydä jossakin YaSTin uumenissa asettamassa asetuksen, että tiedoston oikeudet aina ajoittain säädetään 644:ksi, mutta onkohan tähän jotakin oikeaoppisempaa ratkaisua? Guuglaamalla en löytänyt kuin Debiania koskevia ohjeita.
Muoks: Tässä on taas se mahdollisuus, että vika on minun pinttyneessä tavassani haluta umaskiksi 077. Luin nimittäin /etc/cron.daily/mlocate.cron-tiedostoa, josta paljastuvat myös konffitiedostot /etc/updatedb.conf ja /etc/sysconfig/locate. Näissä ei varsinaisesti määritellä mitenkään tietokannan oikeuksia. mlocate.cron ajaa tietokannan päivityksen näin:
# run the updatedb if possible
if [ -x /usr/bin/updatedb ]; then
if [ -n "${RUN_UPDATEDB_AS}" ] ; then
# change the perms to the var directory to our desired user
chown -R "${RUN_UPDATEDB_AS}":root /var/lib/mlocate
# change the user and run the updatedb under it
/usr/bin/su "${RUN_UPDATEDB_AS}" -c /usr/bin/updatedb -- -f "${NODEVS}"
else
# just run it as root
/usr/bin/updatedb -f "${NODEVS}"
fi
else
echo >&2 "Warning: \"/usr/bin/updatedb\" is not executable, unable to run updatedb."
exit 0
fi
RUN_UPDATEDB_AS-muuttujan arvo on minulla oletus eli ”nobody”. Nobody-käyttäjä saa ilmeisesti umaskin 077 kuten kaikki muutkin, jolloin tietokannan oikeudet tietysti ovat 600.
Tässä lienee nyt erilaisia ratkaisumahdollisuuksia:
- Olisiko jotenkin mahdollista asettaa nobody-käyttäjän umask? Tällä käyttäjällähän ei ole kotihakemistoa eikä siis ~/.profile-, ~/.bashrc-tiedostojakaan. Kömpelöstikö jossain /etc/profile-tiedostossa käyttäjätunnus tarkistamalla?
- Tai voisin muokata hieman tuota mlocate.cron-skriptiä esim. niin, että siellä lopuksi annettaisiin chmod 644.
Onko mielipiteitä vai suljenko vain silmäni ja hyökkään kohti vihollista?