[Media Amovible] Montage multi-users (abandonné)
[Media Amovible] Montage multi-users (abandonné)
Salut,
J'ai un problème, sous xfce j'ai activé le montage automatique des média amovibles et ça marche sans trop de problèmes. Par contre les média sont tous montés dans /run/media/nom_utilisateur/ ... du coup on ne peut pas accéder à ce média depuis un autre profil ou alors il faut le démonter sur le profil d'origine. Pire j'ai l'impression que quand un DVD a été monté une fois sur un profil, le système essaie par défaut de le monter dans l'emplacement d'origine (même si l'utilisateur n'est pas logué)!
Peur-on contourner ce problème, par exemple en montant les médias dans un emplacement commun partagé (/run/media/amovibles?)
[EDIT] J'ai tenté les lien symboliques /run/media/utilisateur vers un dossier commun /run/media/amovibles mais ça ne marche pas. Le point de montage est créé avec un accès seul au propriétaire du dossier.
J'ai un problème, sous xfce j'ai activé le montage automatique des média amovibles et ça marche sans trop de problèmes. Par contre les média sont tous montés dans /run/media/nom_utilisateur/ ... du coup on ne peut pas accéder à ce média depuis un autre profil ou alors il faut le démonter sur le profil d'origine. Pire j'ai l'impression que quand un DVD a été monté une fois sur un profil, le système essaie par défaut de le monter dans l'emplacement d'origine (même si l'utilisateur n'est pas logué)!
Peur-on contourner ce problème, par exemple en montant les médias dans un emplacement commun partagé (/run/media/amovibles?)
[EDIT] J'ai tenté les lien symboliques /run/media/utilisateur vers un dossier commun /run/media/amovibles mais ça ne marche pas. Le point de montage est créé avec un accès seul au propriétaire du dossier.
Dernière modification par lesebas le lun. 14 avr. 2014, 22:43, modifié 1 fois.
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [Media Amovible] Montage multi-users
Bon j'avance :
https://wiki.archlinux.org/index.php/Udisks#Udisks
Donc j'ai suivi ceci :

https://wiki.archlinux.org/index.php/Udisks#Udisks
Donc j'ai suivi ceci :
Je vois le volume monté sur les 2 profils mais par contre j'ai pas les droits d'accès au dossier :By default, udisks2 mounts removable drives into /run/media/$USER/ instead of /media/. If you don't like this behaviour, use this rule:
/etc/udev/rules.d/99-udisks2.rules
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{UDISKS_FILESYSTEM_SHARED}="1"
Mais je comprends pas ce qu'il faut modifier dans polkit...Privileged actions
By default, some actions (e.g. mount a filesystem on a system device) requires to be authenticated as administrator. See polkit article how to configure it and overwrite the default settings.

Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [Media Amovible] Montage multi-users
Polkit rien à voir, c'est pour monter les volumes sans à avoir à rentrer son mot de passe... déjà activé chez moi.
ENV{UDISKS_FILESYSTEM_SHARED}="1" change le point de montage mais toujours avec un accès unique à l'utilisateur (même pas d'accès au groupe).
ENV{UDISKS_FILESYSTEM_SHARED}="1" change le point de montage mais toujours avec un accès unique à l'utilisateur (même pas d'accès au groupe).
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [Media Amovible] Montage multi-users
Bon a force de chercher je me demande si ce n'est pas un bug de thunar-volman. Si j'ai bien compris c'est ni plus ni moins qu'un wrapper de udisk2, donc c'est lui qui gère le montage des volumes.
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [Media Amovible] Montage multi-users
A force de nombreuses recherches il apparaît que XFCE utilise gvfs et donc Udisk2 pour gérer le montage automatique des périphériques de stockage (clef USB entre autre). Or udisk2 ne propose quasiment pas d'options de configuration :
https://bbs.archlinux.org/viewtopic.php ... 8#p1357218
Sauf à by-passer avec des udev.rules de ce type :
Mais c'est déconseillé dans la doc :
https://wiki.archlinux.org/index.php/udev#Udisks
Reste la solution de patcher udisk2... un volontaire?
Ou alors qui sait si on peut supprimer udisk2 de xfce pour utiliser autre chose pour monter les clef USB en automatique avec le umask approprié?
https://bbs.archlinux.org/viewtopic.php ... 8#p1357218
Sauf à by-passer avec des udev.rules de ce type :
Code : Tout sélectionner
KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"
# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"
# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"
# Global mount options
ACTION=="add", ENV{mount_options}="relatime"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"
# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"
# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"
# Exit
LABEL="media_by_label_auto_mount_end"
https://wiki.archlinux.org/index.php/udev#Udisks
Et ça pose des problèmes avec polkit (mdp pour démonter le périphérique)If you want to mount removable drives please do not call 'mount' from udev rule. In case of fuse filesystems (e.g. ntfs-3g) you'll get "Transport endpoint not connected" error. Instead use udisks that handles automount correctly.
Reste la solution de patcher udisk2... un volontaire?
Ou alors qui sait si on peut supprimer udisk2 de xfce pour utiliser autre chose pour monter les clef USB en automatique avec le umask approprié?
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
- FoolEcho
- Maître du Kyudo
- Messages : 10711
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [Media Amovible] Montage multi-users
(c'est dans ces coups là que tuxce manque cruellement
)

Autrement, je ne sais pas trop, modifier le fstab pour monter les cdroms dans un répertoire partagé peut-être, mais bon... pas sûr du tout que ça soit viable...

Ben... encore heureux, c'est un peu le but de la manœuvre... (tu fais quoi si l'autre utilisateur te vire le cd pendant que tu veux le visionner ?)lesebas a écrit :Par contre les média sont tous montés dans /run/media/nom_utilisateur/ ... du coup on ne peut pas accéder à ce média depuis un autre profil ou alors il faut le démonter sur le profil d'origine.

Autrement, je ne sais pas trop, modifier le fstab pour monter les cdroms dans un répertoire partagé peut-être, mais bon... pas sûr du tout que ça soit viable...

«The following statement is not true. The previous statement is true.» 

Re: [Media Amovible] Montage multi-users
ha non ça c'est résolu :lesebas a écrit :Par contre les média sont tous montés dans /run/media/nom_utilisateur/ ... du coup on ne peut pas accéder à ce média depuis un autre profil ou alors il faut le démonter sur le profil d'origine.
udisks2 - mount to /media
Mais c'est bien la seule chose qui soit configurable dans Udisks2
Bah si tu regardes le cd l'autre utilisateur n'a pas la main... je ne suis pas encore dans le cas d'un accès distant sur un autre tty ou je ne sais quoi.FoolEcho a écrit :Ben... encore heureux, c'est un peu le but de la manœuvre... (tu fais quoi si l'autre utilisateur te vire le cd pendant que tu veux le visionner ?)
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [Media Amovible] Montage multi-users
J'ai trouvé un patch sur debian qui modifie les droits sur les fs de type exfat :
https://bugs.debian.org/cgi-bin/bugrepo ... bug=720695
Ça modifie le fichier source udiskslinuxfilesystem.c, qui contient ces lignes :
Rien sur ext2-3-4 mais vu que ces format gère nativement les droits ce doit être normal... je vais tenter quelques modifs (genre "gid=100", "dmask=0022" et voir ce que ça donne.
https://bugs.debian.org/cgi-bin/bugrepo ... bug=720695
Ça modifie le fichier source udiskslinuxfilesystem.c, qui contient ces lignes :
Code : Tout sélectionner
276/* ---------------------- vfat -------------------- */
277
278static const gchar *vfat_defaults[] = { "uid=", "gid=", "shortname=mixed", "dmask=0077", "utf8=1", "showexec", "flush", NULL };
279static const gchar *vfat_allow[] = { "flush", "utf8=", "shortname=", "umask=", "dmask=", "fmask=", "codepage=", "iocharset=", "usefree", "showexec", NULL };
280static const gchar *vfat_allow_uid_self[] = { "uid=", NULL };
281static const gchar *vfat_allow_gid_self[] = { "gid=", NULL };
282
283/* ---------------------- ntfs -------------------- */
284/* this is assuming that ntfs-3g is used */
285
286static const gchar *ntfs_defaults[] = { "uid=", "gid=", "dmask=0077", "fmask=0177", NULL };
287static const gchar *ntfs_allow[] = { "umask=", "dmask=", "fmask=", "locale=", "norecover", "ignore_case", "windows_names", "compression", "nocompression", NULL };
288static const gchar *ntfs_allow_uid_self[] = { "uid=", NULL };
289static const gchar *ntfs_allow_gid_self[] = { "gid=", NULL };
290
291/* ---------------------- iso9660 -------------------- */
292
293static const gchar *iso9660_defaults[] = { "uid=", "gid=", "iocharset=utf8", "mode=0400", "dmode=0500", NULL };
294static const gchar *iso9660_allow[] = { "norock", "nojoliet", "iocharset=", "mode=", "dmode=", NULL };
295static const gchar *iso9660_allow_uid_self[] = { "uid=", NULL };
296static const gchar *iso9660_allow_gid_self[] = { "gid=", NULL };
297
298/* ---------------------- udf -------------------- */
299
300static const gchar *udf_defaults[] = { "uid=", "gid=", "iocharset=utf8", "umask=0077", NULL };
301static const gchar *udf_allow[] = { "iocharset=", "umask=", NULL };
302static const gchar *udf_allow_uid_self[] = { "uid=", NULL };
303static const gchar *udf_allow_gid_self[] = { "gid=", NULL };
304
305/* ---------------------- exfat -------------------- */
306
307static const gchar *exfat_defaults[] = { "uid=", "gid=", "iocharset=utf8", "namecase=0", "errors=remount-ro", "umask=0077", NULL };
308static const gchar *exfat_allow[] = { "dmask=", "errors=", "fmask=", "iocharset=", "namecase=", "umask=", NULL };
309static const gchar *exfat_allow_uid_self[] = { "uid=", NULL };
310static const gchar *exfat_allow_gid_self[] = { "gid=", NULL };
311
312/* ------------------------------------------------ */
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [Media Amovible] Montage multi-users
J'ai essayé de compiler mais ça plante. ./configure pas de problèmes. Mais le make plante :
Même si ça à l'air d'être lié à la doc je ne trouve pas le udisks-daemon compilé!
Code : Tout sélectionner
[sebastien@Vulpus udisks-2.1.2]$ make
make all-recursive
make[1]: Entering directory '/home/sebastien/udisks-2.1.2'
Making all in data
make[2]: Entering directory '/home/sebastien/udisks-2.1.2/data'
cp org.freedesktop.UDisks2.conf.in org.freedesktop.UDisks2.conf
ITMRG org.freedesktop.udisks2.policy
make[2]: Leaving directory '/home/sebastien/udisks-2.1.2/data'
Making all in udisks
make[2]: Entering directory '/home/sebastien/udisks-2.1.2/udisks'
( top_builddir=`cd .. && pwd`; \
cd . && glib-mkenums --template udisksenumtypes.h.template udisksenums.h ) | \
sed 's,U_TYPE_DISKS,UDISKS_TYPE,' | sed 's,u_disks,udisks,' > \
udisksenumtypes.h.tmp && mv udisksenumtypes.h.tmp udisksenumtypes.h
( top_builddir=`cd .. && pwd`; \
cd . && glib-mkenums --template udisksenumtypes.c.template udisksenums.h ) | \
sed 's,U_TYPE_DISKS,UDISKS_TYPE,' | sed 's,u_disks,udisks,' > \
udisksenumtypes.c.tmp && mv udisksenumtypes.c.tmp udisksenumtypes.c
gdbus-codegen \
--interface-prefix org.freedesktop.UDisks2. \
--c-namespace UDisks \
--c-generate-object-manager \
--generate-c-code udisks-generated \
--generate-docbook udisks-generated-doc \
../data/org.freedesktop.UDisks2.xml \
sed -e 's/@MAJOR_VERSION@/2/' -e 's/@MINOR_VERSION@/1/' -e 's/@MICRO_VERSION@/2/' ../udisks/udisksversion.h.in > udisksversion.h.tmp && mv udisksversion.h.tmp udisksversion.h
make all-recursive
make[3]: Entering directory '/home/sebastien/udisks-2.1.2/udisks'
make[4]: Entering directory '/home/sebastien/udisks-2.1.2/udisks'
CC libudisks2_la-udisksenumtypes.lo
CC libudisks2_la-udisks-generated.lo
CC libudisks2_la-udisksclient.lo
CC libudisks2_la-udisksobjectinfo.lo
CC libudisks2_la-udiskserror.lo
CCLD libudisks2.la
GISCAN UDisks-2.0.gir
GICOMP UDisks-2.0.gir
make[4]: Leaving directory '/home/sebastien/udisks-2.1.2/udisks'
make[3]: Leaving directory '/home/sebastien/udisks-2.1.2/udisks'
make[2]: Leaving directory '/home/sebastien/udisks-2.1.2/udisks'
Making all in src
make[2]: Entering directory '/home/sebastien/udisks-2.1.2/src'
make all-recursive
make[3]: Entering directory '/home/sebastien/udisks-2.1.2/src'
Making all in .
make[4]: Entering directory '/home/sebastien/udisks-2.1.2/src'
CC libudisks_daemon_la-udisksdaemon.lo
CC libudisks_daemon_la-udisksprovider.lo
CC libudisks_daemon_la-udiskslinuxprovider.lo
udiskslinuxprovider.c: In function 'handle_block_uevent_for_drive':
udiskslinuxprovider.c:783:19: warning: 'g_io_scheduler_push_job' is deprecated (declared at /usr/include/glib-2.0/gio/gioscheduler.h:36): Use '"GThreadPool or g_task_run_in_thread"' instead [-Wdeprecated-declarations]
g_io_scheduler_push_job (perform_initial_housekeeping_for_drive,
^
udiskslinuxprovider.c: In function 'on_housekeeping_timeout':
udiskslinuxprovider.c:991:3: warning: 'g_io_scheduler_push_job' is deprecated (declared at /usr/include/glib-2.0/gio/gioscheduler.h:36): Use '"GThreadPool or g_task_run_in_thread"' instead [-Wdeprecated-declarations]
g_io_scheduler_push_job (housekeeping_thread_func,
^
CC libudisks_daemon_la-udiskslinuxblockobject.lo
CC libudisks_daemon_la-udiskslinuxblock.lo
CC libudisks_daemon_la-udiskslinuxpartition.lo
CC libudisks_daemon_la-udiskslinuxpartitiontable.lo
CC libudisks_daemon_la-udiskslinuxfilesystem.lo
CC libudisks_daemon_la-udiskslinuxencrypted.lo
CC libudisks_daemon_la-udiskslinuxswapspace.lo
CC libudisks_daemon_la-udiskslinuxloop.lo
CC libudisks_daemon_la-udiskslinuxdriveobject.lo
CC libudisks_daemon_la-udiskslinuxdrive.lo
CC libudisks_daemon_la-udiskslinuxdriveata.lo
CC libudisks_daemon_la-udiskslinuxmdraidobject.lo
CC libudisks_daemon_la-udiskslinuxmdraid.lo
CC libudisks_daemon_la-udiskslinuxmanager.lo
CC libudisks_daemon_la-udiskslinuxfsinfo.lo
CC libudisks_daemon_la-udisksbasejob.lo
CC libudisks_daemon_la-udisksspawnedjob.lo
CC libudisks_daemon_la-udisksthreadedjob.lo
udisksthreadedjob.c: In function 'run_io_scheduler_job':
udisksthreadedjob.c:209:3: warning: 'g_io_scheduler_job_send_to_mainloop' is deprecated (declared at /usr/include/glib-2.0/gio/gioscheduler.h:44): Use 'g_main_context_invoke' instead [-Wdeprecated-declarations]
g_io_scheduler_job_send_to_mainloop (io_scheduler_job,
^
udisksthreadedjob.c: In function 'udisks_threaded_job_constructed':
udisksthreadedjob.c:226:3: warning: 'g_io_scheduler_push_job' is deprecated (declared at /usr/include/glib-2.0/gio/gioscheduler.h:36): Use '"GThreadPool or g_task_run_in_thread"' instead [-Wdeprecated-declarations]
g_io_scheduler_push_job (run_io_scheduler_job,
^
CC libudisks_daemon_la-udiskssimplejob.lo
CC libudisks_daemon_la-udisksmount.lo
CC libudisks_daemon_la-udisksmountmonitor.lo
CC libudisks_daemon_la-udisksdaemonutil.lo
CC libudisks_daemon_la-udiskslogging.lo
CC libudisks_daemon_la-udisksstate.lo
CC libudisks_daemon_la-udisksfstabentry.lo
CC libudisks_daemon_la-udisksfstabmonitor.lo
CC libudisks_daemon_la-udiskscrypttabentry.lo
CC libudisks_daemon_la-udiskscrypttabmonitor.lo
CC libudisks_daemon_la-udiskslinuxdevice.lo
CC libudisks_daemon_la-udisksata.lo
CC libudisks_daemon_la-udisks-daemon-marshal.lo
CCLD libudisks-daemon.la
CC udisksd-main.o
main.c: In function ‘main’:
main.c:104:3: attention : ‘g_type_init’ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
g_type_init ();
^
CCLD udisksd
make[4]: Leaving directory '/home/sebastien/udisks-2.1.2/src'
Making all in tests
make[4]: Entering directory '/home/sebastien/udisks-2.1.2/src/tests'
make[5]: Entering directory '/home/sebastien/udisks-2.1.2/src/tests'
CC udisks_test-test.o
test.c: In function ‘main’:
test.c:537:3: attention : ‘g_type_init’ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
g_type_init ();
^
CC udisks_test-testutil.o
CCLD udisks-test
CC udisks_test_helper-helper.o
helper.c: In function ‘main’:
helper.c:35:3: attention : ‘g_type_init’ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
g_type_init ();
^
CC udisks_test_helper-testutil.o
CCLD udisks-test-helper
make[5]: Leaving directory '/home/sebastien/udisks-2.1.2/src/tests'
make[4]: Leaving directory '/home/sebastien/udisks-2.1.2/src/tests'
make[3]: Leaving directory '/home/sebastien/udisks-2.1.2/src'
make[2]: Leaving directory '/home/sebastien/udisks-2.1.2/src'
Making all in tools
make[2]: Entering directory '/home/sebastien/udisks-2.1.2/tools'
CC udisksctl-udisksctl.o
udisksctl.c: In function ‘setup_local_polkit_agent’:
udisksctl.c:77:3: attention : ‘polkit_unix_process_new’ is deprecated (declared at /usr/include/polkit-1/polkit/polkitunixprocess.h:51): Use polkit_unix_process_new_for_owner instead [-Wdeprecated-declarations]
subject = polkit_unix_process_new (getpid ());
^
udisksctl.c: In function ‘main’:
udisksctl.c:2965:3: attention : ‘g_type_init’ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
g_type_init ();
^
CCLD udisksctl
CC umount_udisks2-umount-udisks.o
umount-udisks.c: In function ‘main’:
umount-udisks.c:83:3: attention : ‘g_type_init’ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
g_type_init ();
^
CCLD umount.udisks2
make[2]: Leaving directory '/home/sebastien/udisks-2.1.2/tools'
Making all in po
make[2]: Entering directory '/home/sebastien/udisks-2.1.2/po'
MSGFMT ar.gmo
MSGFMT as.gmo
MSGFMT az.gmo
MSGFMT bg.gmo
MSGFMT bn_IN.gmo
MSGFMT ca.gmo
MSGFMT ca@valencia.gmo
MSGFMT cs.gmo
MSGFMT cy.gmo
MSGFMT da.gmo
MSGFMT de.gmo
MSGFMT el.gmo
MSGFMT en_GB.gmo
MSGFMT eo.gmo
MSGFMT es.gmo
MSGFMT eu.gmo
MSGFMT fa.gmo
MSGFMT fi.gmo
MSGFMT fo.gmo
MSGFMT fr.gmo
MSGFMT ga.gmo
MSGFMT gl.gmo
MSGFMT gu.gmo
MSGFMT he.gmo
MSGFMT hi.gmo
MSGFMT hr.gmo
MSGFMT hu.gmo
MSGFMT ia.gmo
MSGFMT id.gmo
MSGFMT it.gmo
MSGFMT ja.gmo
MSGFMT ka.gmo
MSGFMT kk.gmo
MSGFMT kn.gmo
MSGFMT ko.gmo
MSGFMT lt.gmo
MSGFMT lv.gmo
MSGFMT ml.gmo
MSGFMT mr.gmo
MSGFMT ms.gmo
MSGFMT nb.gmo
MSGFMT nl.gmo
MSGFMT nn.gmo
MSGFMT or.gmo
MSGFMT pa.gmo
MSGFMT pl.gmo
MSGFMT pt.gmo
MSGFMT pt_BR.gmo
MSGFMT ro.gmo
MSGFMT ru.gmo
MSGFMT sk.gmo
MSGFMT sl.gmo
MSGFMT sq.gmo
MSGFMT sr.gmo
MSGFMT sr@latin.gmo
MSGFMT sv.gmo
MSGFMT ta.gmo
MSGFMT te.gmo
MSGFMT th.gmo
MSGFMT tr.gmo
MSGFMT uk.gmo
MSGFMT vi.gmo
MSGFMT wa.gmo
MSGFMT zh_CN.gmo
MSGFMT zh_HK.gmo
MSGFMT zh_TW.gmo
make[2]: Leaving directory '/home/sebastien/udisks-2.1.2/po'
Making all in doc
make[2]: Entering directory '/home/sebastien/udisks-2.1.2/doc'
Making all in man
make[3]: Entering directory '/home/sebastien/udisks-2.1.2/doc/man'
/usr/bin/xsltproc -path "./.." -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl udisksctl.xml
Error: no ID for constraint linkend: udisks.8.
Error: no ID for constraint linkend: udisks.8.
Error: no ID for constraint linkend: udisksd.8.
Note: Writing udisksctl.1
/usr/bin/xsltproc -path "./.." -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl udisksd.xml
Error: no ID for constraint linkend: udisks.8.
Error: no ID for constraint linkend: udisksctl.1.
Note: Writing udisksd.8
/usr/bin/xsltproc -path "./.." -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl udisks.xml
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: udisks-polkit-actions.
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Drive.Id.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintSystem.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintIgnore.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintAuto.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Drive.CanPowerOff.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintName.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintIconName.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintIconName.
Error: no ID for constraint linkend: gdbus-method-org-freedesktop-UDisks2-Filesystem.Mount.
Error: no ID for constraint linkend: udisksctl.1.
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: udisksctl.1.
Note: Writing udisks.8
make[3]: Leaving directory '/home/sebastien/udisks-2.1.2/doc/man'
make[3]: Entering directory '/home/sebastien/udisks-2.1.2/doc'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/sebastien/udisks-2.1.2/doc'
make[2]: Leaving directory '/home/sebastien/udisks-2.1.2/doc'
make[2]: Entering directory '/home/sebastien/udisks-2.1.2'
make[2]: Leaving directory '/home/sebastien/udisks-2.1.2'
make[1]: Leaving directory '/home/sebastien/udisks-2.1.2'
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [Media Amovible] Montage multi-users
Bon j'ai attaqué le patch de Udisks2... pour l'instant j'arrive à changer le groupe mais pas les permissions, mais ça avance!
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [Media Amovible] Montage multi-users
[HS] (c'est dans ces coups là que tuxce manque cruellement
)
Il est parti où ? Sur gentoo?

Il est parti où ? Sur gentoo?
- FoolEcho
- Maître du Kyudo
- Messages : 10711
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [Media Amovible] Montage multi-users
C'est peut-être moi (encore une fois, ce n'est pas mon sujet de prédilection) mais je trouve que c'est sacrément compliqué pour ce que tu cherches à faire.lesebas a écrit :Bon j'ai attaqué le patch de Udisks2... pour l'instant j'arrive à changer le groupe mais pas les permissions, mais ça avance!
L'utilisateur qui souhaite partager le contenu d'un cd ou autre avec un autre utilisateur peut soit modifier son umask, soit utiliser mount avec bind (pour le monter à un autre endroit et le rendre plus ou moins public).
(et donc si tu veux gèrer tout cdrom ainsi, passer par le fstab, mais à mon avis ce n'est pas bien)
Je te renvoie au man de mount et umask et la doc d'Ubuntu qui est à peu près clair: http://doc.ubuntu-fr.org/mount_fstab.
(bon après évidemment, si tu veux que tout utilisateur voit le cd comme si c'était lui qui l'avait introduit... heu... joker, ça passe peut-être bien par udisks effectivement -- mais ça me semble bien compliqué pour un gain dérisoire)
Non, non. Toujours sur Arch et actif (comme d'autres), mais plus de temps pour le forum.ed0 a écrit :[HS] (c'est dans ces coups là que tuxce manque cruellement)
Il est parti où ? Sur gentoo?
«The following statement is not true. The previous statement is true.» 

Re: [Media Amovible] Montage multi-users
...Pas quand le disque ou la clef USB sont montés en automatique par le système... Et sur un PC familiale, tout les utilisateurs sont loin de posséder la console! Du coup tu te retrouves à faire des allers-retours entre les profils ouverts pour démonter et remonter les médias.FoolEcho a écrit :C'est peut-être moi (encore une fois, ce n'est pas mon sujet de prédilection) mais je trouve que c'est sacrément compliqué pour ce que tu cherches à faire.
L'utilisateur qui souhaite partager le contenu d'un cd ou autre avec un autre utilisateur peut soit modifier son umask, soit utiliser mount avec bind (pour le monter à un autre endroit et le rendre plus ou moins public).
Par contre je n'avais pas pensé au umask par défaut de l'utilisateur... effectivement si je mets le groupe par défaut "users" avec un umask dans ~/.bashrc à 013 (ou 017) peut-être que ça marche? Je pensais bêtement que les droits étaient affectés automatiquement par Udisks2... mais surement que ça vient du profil utilisateur!
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [Media Amovible] Montage multi-users
lesebas a écrit :Par contre je n'avais pas pensé au umask par défaut de l'utilisateur... effectivement si je mets le groupe par défaut "users" avec un umask dans ~/.bashrc à 013 (ou 017) peut-être que ça marche? Je pensais bêtement que les droits étaient affectés automatiquement par Udisks2... mais surement que ça vient du profil utilisateur!
Ben non... le changement de groupe primaire affecte bien le groupe au point de montage mais pas les droits!

Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [Media Amovible] Montage multi-users
Ça y'est le patch fonctionne. Pour l'instant codé en dur comme le udisk2 initial reste plus qu'a passer le gid et le umask en paramètre dans les udev rules.
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [Media Amovible] Montage multi-users
Bon depuis ce dernier message je n'est pas tellement avancé vu que le gid et le umask sont définis en constante statique, impossible de faire une allocation dynamique depuis un fichier de config externe (udev rules par exemple) sans modifier profondément le code!lesebas a écrit :Ça y'est le patch fonctionne. Pour l'instant codé en dur comme le udisk2 initial reste plus qu'a passer le gid et le umask en paramètre dans les udev rules.

Du coup je contente de la version classique... trop lourd de recompiler le paquet à chaque mise à jour!
Par contre j'ai un soucis, c'est que quand j’arrête le PC avec des média montés puis que je les déconnecte "hors tension" au redémarrage les points de montage dans /media/ ne sont pas supprimés. Du coup au montage suivant de nouveaux points sont créés (exemple /media/clef_usb1 au lieu de /media/cle_usb). C'est un peu pénible car j'ai un script de sauvegarde qui recherche le disque par son point de montage... du coup ça plante!
Comment faire pour m'assurer que les média sont démontés, et donc les points de montage supprimés à l'extinction du PC?
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
- benjarobin
- Maître du Kyudo
- Messages : 17632
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [Media Amovible] Montage multi-users
Tu peux pas, c'est pour cela que les points de montages dynamiques sont normalement dans /run/media
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [Media Amovible] Montage multi-users
Bon alors il s'agit d'un bug... puisque l'option de monter directement dans /media est prévue par Udisk :benjarobin a écrit :Tu peux pas, c'est pour cela que les points de montages dynamiques sont normalement dans /run/media
https://wiki.archlinux.org/index.php/ud ... o_.2Fmedia
By default, udisks2 mounts removable drives into /run/media/$USER/ instead of /media/. If you don't like this behaviour, use this rule:Code : Tout sélectionner
/etc/udev/rules.d/99-udisks2.rules ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{UDISKS_FILESYSTEM_SHARED}="1"
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [Media Amovible] Montage multi-users
Ok je suis revenu au comportement de base... et ça ira bien comme-çà 

Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)