openSUSE > Toimisto ja tuottavuus

mlocaten tietokannan oikeudet

(1/2) > >>

SuperOscar:
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:


--- Koodia: ---tn@peirce [~]$ dir /var/lib/mlocate/mlocate.db
-rw------- 1 nobody nobody 6,5M 2013-11-27 18:45 /var/lib/mlocate/mlocate.db
--- Koodi päättyy ---

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:


--- Koodia: ---# 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
--- Koodi päättyy ---

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?

harmie:

--- Lainaus käyttäjältä: SuperOscar - 27.11.2013 - klo:23:11 ---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:


--- Koodia: ---tn@peirce [~]$ dir /var/lib/mlocate/mlocate.db
-rw------- 1 nobody nobody 6,5M 2013-11-27 18:45 /var/lib/mlocate/mlocate.db
--- Koodi päättyy ---

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.

--- Lainaus päättyy ---

Miten/mistä sinä ajat sitä updatedb? Minulla on ihan eri oikeudet.

--- Koodia: ----rw-r--r-- 1 root root 8950175 27.11. 23:26 /var/lib/mlocate/mlocate.db

--- Koodi päättyy ---

SuperOscar:

--- Lainaus käyttäjältä: harmie - 27.11.2013 - klo:23:27 ---Miten/mistä sinä ajat sitä updatedb? Minulla on ihan eri oikeudet.
--- Lainaus päättyy ---

Luultavasti tuo umask-ongelma, kuten juuri ehdinkin lisätä.

Nyt kun YaSTia katselen, eihän siellä olekaan sellaista tiedostojen oikeuksien valvontapalikkaa; semmoinen oli Mageiassa eikä SUSEssa. No, helpointa lienee lisätä yksi chmod-käsky tuohon cron-työhön...?

harmie:
No voit kokeilla näin


--- Koodia: ---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}"
               chmod -R 644 /var/lib/mlocate/
        else
                # just run it as root
                /usr/bin/updatedb -f "${NODEVS}"
               chmod -R 644 /var/lib/mlocate/
        fi


--- Koodi päättyy ---

lisää siis tonne noi chmod -R 644 /var/lib/mlocate/

SuperOscar:

--- Lainaus käyttäjältä: harmie - 27.11.2013 - klo:23:37 ---No voit kokeilla näin
--- Lainaus päättyy ---

Täsmälleen noin tuli kokeiltuakin. Eiköhän tepsi.

Navigaatio

[0] Viestien etusivu

[#] Seuraava sivu

Siirry pois tekstitilasta