Portál AbcLinuxu, 11. května 2025 10:29

Dotaz: Zařízení má nedostatečná práva

25.5.2009 21:22 Jiri | skóre: 3
Zařízení má nedostatečná práva
Přečteno: 650×
Odpovědět | Admin

Po připojení usb disku má zařízení /dev/sda1 práva rw-r-----. Potřeboval bych, aby mělo práva rw-rw----. Tuším, že by to mohlo jít změnou nějakého pravidla pro udev, ale vůbec netuším, kam sáhnout, aby se mi to nerozsypalo. Používám Gentoo. Díky za každou dobrou radu.

Na dokreslení situace: na tom disku je ntfs a chci ho mountovat jako obyčejný uživatel pomocí ntfs-3g. Zařízení je vytvořeno ve vlastnictví root:disk. Obyčejného uživatele jsem si přidal do skupiny disk (je to vůbec bezpečné)?, ale přesto, že /bin/ntfs-3g má nastavený setuid bit, nemohl jsem zařízení přimountovat (Permission denied.). Zjistil jsem, že když přidám právo skupině disk zapisovat do tohoto zařízení, všechno proběhne, jak má. Ale nechci to nastavovat pokaždé ručně, chtěl bych, aby to zařízení s těmito právy již bylo vytvořeno.

http://ntfs-3g.org/support.html#unprivileged jsem četl.

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.5.2009 01:41 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kdyz se jedna o ntfs, tak bych sahl na parametr mode v /etc/fstab.

Dejv
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
26.5.2009 07:09 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

A to jak? man fstab mlčí.

Fuky avatar 26.5.2009 09:52 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

$ man mount

Fuky avatar 26.5.2009 09:56 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva
26.5.2009 18:55 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Na kterou otazku mi maji ty odkazy odpovedet?

Prosim Te, odpovidej na to, na co se ptam. Jinak z toho jsou dva monology.

Fuky avatar 26.5.2009 20:25 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Na kterou otazku mi maji ty odkazy odpovedet?

Aby jsi pochopil co Ti chtěl Dejv říct parametrem mode.

Prosim Te, odpovidej na to, na co se ptam.

Taky se Ti může stát, že Ti nebude odpovídat nikdo, nejsme placená technická podpora. ;-)

27.5.2009 22:39 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

To prave nevim, co mi chtel rict parametrem mode.

Fuky avatar 28.5.2009 09:34 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Tuším, že Tě chtěl nasměrovat k volbám umask, dmask, fmask, ovšem to není co chceš. Volbu mode totiž nepodporuje mount.ntfs-3g ani ntfsmount viz jejich manuálové stránky, případně sekce Supported mount options v /usr/share/doc/linux-doc-2.6.26/Documentation/filesystems/ntfs.txt.gz. Volbu mode podporují např. affs, devpts, iso9660, tmpfs. ;-)

28.5.2009 10:03 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva
Aha, tak jse se netrefil :-) Děkuji za opravu, opravdu jsem měl na mysli přesně tohle, jen jsem střílel od boku

Dejv
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
26.5.2009 18:52 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Tam samozrejme taky nic neni. Tohle vsechno jsem cetl petkrat i pozpatku. Neni problem s pravy souboru na primountovanem disku, ale s pravy k zarizeni, tedy napr. /dev/sda1. Uzivatel, ktery chce primountovat oddil pomoci ntfs-3g, musi mit pristup k zarizeni. Je to tak napsane i v tom navodu ze stranek ntfs-3g, na ktery jsem uvedl odkaz.

Fuky avatar 26.5.2009 19:40 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva
Jestli to nechceš řešit na úrovni udev, tak si udělej skript, který zařídí připojení a povol jeho spouštění přes sudo pod obyčejnými uživateli.
27.5.2009 22:40 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Mozna jsem to nenapsal dost jasne. Ja to prave chci resit na urovni udev, nebot si myslim, ze udev je za to zodpovedny. Vis, jak se to da resit pomoci udev?

Fuky avatar 26.5.2009 20:19 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva
Ještě by Tě mohlo zajímat Linux a NTFS automount.
27.5.2009 22:43 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

HAL neni muj problem. KDE to primountovat pomoci HALu umi. Ale potrebuje k tomu, aby k danemu zarizeni mel uzivatel prislusna prava.

Fuky avatar 26.5.2009 21:20 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

A do třetice by Tě mohl zajímat pmount:

Additionnally, pmount supports the filesystem types ntfs-fuse and ntfs-3g to mount NTFS volumes respectively with ntfsmount (1) or ntfs-3g (1). If the file /sbin/mount.ntfs-3g is found, then pmount will mount NTFS filestystems with type ntfs-3g rather than plain ntfs. To disable this behavior, just specify -t ntfs on the command-line, as this happens only for autodetection.

A soubor /etc/pmount.allow:

List of devices (one device per line) which are additionally permitted for pmounting. Globs, such as /dev/sda[123] are permitted. See see glob (7) for a more complete syntax.

27.5.2009 22:41 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Pmount samozrejme znam, ale nechci ho. Nepomohl by mi, protoze samotne primountovani dela KDE. Nejde mi o to, aby se filestystem automaticky primountoval. Jde mi o to, aby dane zarizeni melo automaticky prava, ktera potrebuju.


27.5.2009 23:01 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Vim, ze pmount nedela automaticke primountovani, jak by se z tohoto komentare mohlo zdat. Nicmene pmount neni opravdu pro me dobrou volbou, protoze o samotne primountovani se stara KDE, jakmile klepnu na ikonku daneho zarizeni, aby se mi otevrel root filesystemu na zarizeni v Konqueroru.

Fuky avatar 28.5.2009 09:51 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

O "samotné přimountování" se nestará KDE, ale pmount, viz kde4libs-4.2.1/kioslave/file/file.cpp:

/*************************************
 *
 * pmount handling
 *
 *************************************/

bool FileProtocol::pmount(const QString &dev)
{
    QString epath = QString::fromLocal8Bit(qgetenv("PATH"));
    QString path = QLatin1String("/sbin:/bin");
    if (!epath.isEmpty())
        path += ':' + epath;
    QString pmountProg = KGlobal::dirs()->findExe("pmount", path);

    if (pmountProg.isEmpty())
        return false;

    QByteArray buffer = QFile::encodeName(pmountProg) + ' ' +
                        QFile::encodeName(KShell::quoteArg(dev));

    int res = system( buffer.constData() );

    return res==0;
}

28.5.2009 13:50 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Nemam KDE 4, ale KDE 3.5. Ten pmount nepotrebuje.

Fuky avatar 28.5.2009 14:21 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

I starší verze KDE umí využít pmount viz kdelibs-3.5.10.dfsg.1/kioslave/file/file.cc, ale nepotřebuje ho stejně jako ta nová:

/*************************************
 *
 * pmount handling
 *
 *************************************/

bool FileProtocol::pmount(const QString &dev)
{
    QString epath = getenv("PATH");
    QString path = QString::fromLatin1("/sbin:/bin");
    if (!epath.isEmpty())
        path += ":" + epath;
    QString pmountProg = KGlobal::dirs()->findExe("pmount", path);

    if (pmountProg.isEmpty())
        return false;

    QCString buffer;
    buffer.sprintf( "%s %s", QFile::encodeName(pmountProg).data(),
                    QFile::encodeName(KProcess::quote(dev)).data() );

    int res = system( buffer.data() );

    return res==0;
}

28.5.2009 14:42 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Muzes zustat klidny, bez tech prav to neprimountuje ani pmount.

Fuky avatar 28.5.2009 14:54 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Pokud splníš podmínky viz man pmount:

The mount will succeed if all of the following conditions are met:

· device is a block device in /dev/

· device is not in /etc/fstab (if it is, pmount executes  mount device as the calling user to handle  this  trans‐
         parently). See below for more details.

· device is not already mounted according to /etc/mtab and /proc/mounts

· if the mount point already exists, there is no device already mounted at it and the directory is empty

· device  is  removable  (USB,  FireWire,  or  MMC  device,  or /sys/block/drive/removable is 1) or whitelisted in
         /etc/pmount.allow.

· device is not locked

A patříš do skupiny plugdev, tak Ti nic v "přimountování" nebrání, jelikož se program spouští s rootovskými právy.

$ ls -l /usr/bin/pmount
-rwsr-xr-- 1 root plugdev 35752 Nov  5  2008 /usr/bin/pmount

28.5.2009 15:04 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

A protoze nekolik tech pozadavku nemuzu splnit, pmount logicky nechci.

Fuky avatar 28.5.2009 15:11 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva
Tak nám prozraď které z těch požadavků nemůžeš splnit. ;-)
28.5.2009 15:13 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Promin, budes si muset najit jinou obet. Ja jdu dal.

27.5.2009 22:52 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva
Odpovědět | | Sbalit | Link | Blokovat | Admin

Sorry za uprimnost.

Problem znel jasne: "Po připojení usb disku má zařízení /dev/sda1 práva rw-r-----. Potřeboval bych, aby mělo práva rw-rw----." Neni na tom neco srozumitelneho? Proc mi tu porad nekdo cpe neco jineho?

Pokud k tematu nemate co rict, tak radeji zustante zticha. Nejsem na kecy o manualovych strankach mountu apod. zvedavy. Potrebuju vedet, jak rict udevu, aby delal to, co chci. Mate co rict k tematu? Jestli ano, velmi rad si to prectu. Jestli ne, bezte odpovidat nekomu jinemu na otazku, o ktere neco vite. Pomuzete tak nejen mne, ale i sobe a mozna i nekomu jinemu. Diky.

RTFQ: Read the fucking question!

Fuky avatar 28.5.2009 00:32 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Co nechápeš na Writing udev rules?

$ grep -ri floppy /etc/udev/
/etc/udev/rules.d/91-permissions.rules:SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394|mmc|pcmcia", GROUP="floppy"
# vim /etc/udev/rules.d/91-permissions.rules
# all block devices on these buses are "removable"
SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394|mmc|pcmcia", GROUP="floppy", MODE="0666"
# /etc/init.d/udev restart
$ ls -l /dev/sdb1
brw-rw-rw- 1 root floppy 8, 17 May 28 00:24 /dev/sdb1

Fuky avatar 28.5.2009 00:39 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

# vim /etc/udev/rules.d/z90_sdb1.rules
KERNEL=="sdb1", MODE="0777"
# /etc/init.d/udev restart
# ls -l /dev/sdb1
brwxrwxrwx 1 root floppy 8, 17 May 28 00:36 /dev/sdb1

28.5.2009 01:03 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva
Odpovědět | | Sbalit | Link | Blokovat | Admin
Sáhnout třeba do /etc/udev/rules.d/10-local.rules
BUS=="usb", KERNEL=="sdb1", MODE="0660"
a restartovat udev. Řečem o tom že by to šlo řešit parametrem ve fatab nevěřte.
28.5.2009 15:12 Jiri | skóre: 3
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva

Diky za nakopnuti spravnym smerem. Po nekolika pokusech jsem do 99-local.rules pridal radek
BUS=="usb", KERNEL=="sd?[1-9]", MODE="0660"

To zafungovalo. Zkousel jsem to dat i na zacatek, do 10-local.rules, ale to pravidlo bylo pak asi prepsano nejakym pozdejsim pravidlem. Mam pocit, ze to bylo pravidlo
SUBSYSTEM=="block", GROUP="disk", MODE="0640"
z 50-udev-default.rules.

Funguje to a problem muzeme oznacit za vyreseny. Nicmene je otazka, jestli je to 100% koser reseni. Preci jenom mam pocit, ze to 640 se diskum nedava jen tak pro nic za nic.

28.5.2009 16:24 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva
Aha, pardon, já sice mám také Gentoo, ale 50-udev-default.rules nemám, takže mi to funguje i v 10-... Mám udev-141, odmaskovaný.

Košer řešení to je za předpokladu, že opravdu chcete, aby na externí zařízení měli možnost zápisu krom uživatele i uživatelé v jeho skupině. Pokud byste třeba chtěl aby bylo zařízení pro skupinu zcela nepřístupné, je tu možnost 0600 apod. Podle mne opravdu záleží jen na tom, co chcete, 0640 je jakýsi výchozí kompromis.
28.5.2009 16:29 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva
oprava "krom uživatele i uživatelé v jeho skupině" na "krom roota i uživatelé ve skupině disk" :) Je fakt že by stálo za to se nad těmi právy ještě zamyslet.
28.5.2009 16:46 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva
udev defaults to creating nodes with Unix permissions of 0660 (read/write to owner and group)
28.5.2009 16:51 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Zařízení má nedostatečná práva
V tom 10 local rules kde byl problém že to "pak něco přepsalo" by možná stačilo bývalo dát MODE:="0660", dle manuálu.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.