Kirjoittaja Aihe: mlocaten tietokannan oikeudet  (Luettu 16485 kertaa)

0 jäsentä ja 1 Vieras katselee tätä aihetta.

Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 941
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
mlocaten tietokannan oikeudet
« : 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: [Valitse]
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:

Koodia: [Valitse]
# 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?
« Viimeksi muokattu: 27.11.2013 - klo:23:25 kirjoittanut SuperOscar »
pöytäkone 1, NUC: openSUSE Leap 15.6; kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

Poissa harmie

  • Valvoja
  • *
  • Viestejä: 2786
  • Sukupuoli: Mies
Vs: mlocaten tietokannan oikeudet
« Vastaus #1 : 27.11.2013 - klo:23:27 »
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: [Valitse]
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.

Miten/mistä sinä ajat sitä updatedb? Minulla on ihan eri oikeudet.
Koodia: [Valitse]
-rw-r--r-- 1 root root 8950175 27.11. 23:26 /var/lib/mlocate/mlocate.db

Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 941
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
Vs: mlocaten tietokannan oikeudet
« Vastaus #2 : 27.11.2013 - klo:23:32 »
Miten/mistä sinä ajat sitä updatedb? Minulla on ihan eri oikeudet.

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...?
pöytäkone 1, NUC: openSUSE Leap 15.6; kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

Poissa harmie

  • Valvoja
  • *
  • Viestejä: 2786
  • Sukupuoli: Mies
Vs: mlocaten tietokannan oikeudet
« Vastaus #3 : 27.11.2013 - klo:23:37 »
No voit kokeilla näin

Koodia: [Valitse]
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


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

Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 941
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
Vs: mlocaten tietokannan oikeudet
« Vastaus #4 : 28.11.2013 - klo:22:05 »
No voit kokeilla näin

Täsmälleen noin tuli kokeiltuakin. Eiköhän tepsi.
pöytäkone 1, NUC: openSUSE Leap 15.6; kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

Poissa harmie

  • Valvoja
  • *
  • Viestejä: 2786
  • Sukupuoli: Mies
Vs: mlocaten tietokannan oikeudet
« Vastaus #5 : 29.11.2013 - klo:08:45 »
No voit kokeilla näin

Täsmälleen noin tuli kokeiltuakin. Eiköhän tepsi.
Jos ei auta niin ainahan voit kokeilla lisätä sen /etc/permissions.paranoid tiedostoon. (olettaen, että paranoid profiili on käytössä)