OVH Cloud OVH Cloud

Autofs et changement de droits

5 réponses
Avatar
Aurélien Le Provost
Salut

Je chercher à faire marcher autofs avec des disquettes, toujours sur
Debian sarge :

poste2|~# cat /etc/auto.misc 18:46
cdrom -fstype=auto,ro,sync,nodev,nosuid :/dev/cdrom
floppy -fstype=auto,sync,nodev,nosuid,gid=25,umask=000 :/dev/fd0

J'ai mis le umask à 000 parce que sinon ça cafouille (pas le droit
d'écrire ?).

Le «gid=25» est là pour que ça soit les membres du groupe 'floppy' qui
puissent accéder aux disquettes.

J'ai fait ça en suivant ce que j'ai trouvé sur google, mais c'est
peut-être faux...

Soit un utilisateur :

aurelien@poste2|~% groups
floppy users

Avec cette configuration, il peut crée, modifier, supprimer des fichiers à
sa guise via KDE, sans taper une seule ligne de commande (magnifique).

aurelien@poste2|/mnt/floppy% > trucs
feskfs*
aurelien@poste2|/mnt/floppy% cat trucs
feskfs*

Seulement dès que l'on veut changer les droits d'accès :

aurelien@poste2|/mnt/floppy% chmod 644 trucs
chmod: modification des permissions de `trucs': Opération non permise

Je ne comprends pas ? Si quelqu'un a une idée...

Merci d'avance,
Aurélien.

PS : à tout hasard voici un strace obtenu avec ce qui pose problème. Pour
moi c'est du chinois, mais si quelqu'un peut y comprendre quelque chose...

aurelien@poste2|/mnt/floppy% strace chmod 644 trucs
execve("/bin/chmod", ["chmod", "644", "trucs"], [/* 22 vars */]) = 0
uname({sys="Linux", node="poste2", ...}) = 0
brk(0) = 0x804caac
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40015000
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=53183, ...}) = 0
old_mmap(NULL, 53183, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40016000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0_\1\000"...,
512) = 512d
fstat64(3, {st_mode=S_IFREG|0755, st_size=1230864, ...}) = 0
old_mmap(NULL, 1236292, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x40023000
old_mmap(0x4014a000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x127000) = 0x4014a000
old_mmap(0x4014f000, 7492, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4014f000
close(3) = 0
munmap(0x40016000, 53183) = 0
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1682832, ...}) = 0
mmap2(NULL, 1682832, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40151000
close(3) = 0
brk(0) = 0x804caac
brk(0x806daac) = 0x806daac
brk(0) = 0x806daac
brk(0x806e000) = 0x806e000
stat64("trucs", {st_mode=S_IFREG|0777, st_size=8, ...}) = 0
chmod("trucs", 0644) = -1 EPERM (Operation not permitted)
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2597, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40016000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2597
read(3, "", 4096) = 0
close(3) = 0
munmap(0x40016000, 4096) = 0
open("/usr/share/locale/fr/LC_MESSAGES/coreutils.mo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=251620, ...}) = 0
old_mmap(NULL, 251620, PROT_READ, MAP_PRIVATE, 3, 0) = 0x402ec000
close(3) = 0
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/gconv/gconv-modules", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=45278, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40016000
read(3, "# GNU libc iconv configuration.\n"..., 4096) = 4096
read(3, ".B1.002//\nalias\tJS//\t\t\tJUS_I.B1."..., 4096) = 4096
read(3, "859-3\t1\nmodule\tINTERNAL\t\tISO-885"..., 4096) = 4096
read(3, "9-14//\nalias\tLATIN8//\t\tISO-8859-"..., 4096) = 4096
read(3, "CSEBCDICES//\t\tEBCDIC-ES//\nalias\t"..., 4096) = 4096
read(3, "IBM284//\nalias\tEBCDIC-CP-ES//\t\tI"..., 4096) = 4096
read(3, "ias\t864//\t\t\tIBM864//\nalias\tCSIBM"..., 4096) = 4096
read(3, "\tIBM937\t\t1\nmodule\tINTERNAL\t\tIBM9"..., 4096) = 4096
read(3, "UC-JP//\nmodule\tEUC-JP//\t\tINTERNA"..., 4096) = 4096
read(3, "143IECP271//\tIEC_P27-1//\nalias\tI"..., 4096) = 4096
read(3, "\nmodule\tINTERNAL\t\tISO_10367-BOX/"..., 4096) = 4096
read(3, "\t\tto\t\t\tmodule\t\tcost\nmodule\tShift"..., 4096) = 222
read(3, "", 4096) = 0
close(3) = 0
munmap(0x40016000, 4096) = 0
open("/usr/lib/gconv/ISO8859-15.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\6\0\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=7636, ...}) = 0
old_mmap(NULL, 10364, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40016000
old_mmap(0x40018000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x1000) = 0x40018000
close(3) = 0
open("/usr/lib/gconv/ISO8859-1.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\6\0\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=6068, ...}) = 0
old_mmap(NULL, 8796, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40019000
old_mmap(0x4001b000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x1000) = 0x4001b000
close(3) = 0
write(2, "chmod: ", 7chmod: ) = 7
write(2, "modification des permissions de "..., 39modification des
permissions de `trucs') = 39
open("/usr/share/locale/fr/LC_MESSAGES/libc.mo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=117990, ...}) = 0
old_mmap(NULL, 117990, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4032a000
close(3) = 0
brk(0) = 0x806e000
brk(0x8095000) = 0x8095000
write(2, ": Op\351ration non permise", 23: Opération non permise) = 23
write(2, "\n", 1
) = 1
_exit(1) = ?

5 réponses

Avatar
Arnaud Gomes-do-Vale
Aurélien Le Provost writes:

|/mnt/floppy% chmod 644 trucs
chmod: modification des permissions de `trucs': Opération non permise


Tu es sûr que le système de fichiers de ta disquette supporte les
droit au sens Unix du terme ? Si elle est au format MS-DOS, tu risques
de ne pas arriver à grand chose.

--
Arnaud Gomes-do-Vale -*-*-*-
http://www.glou.org/~arnaud/
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
En savoir plus sur GNU/Linux : http://www.linux-france.org/

Avatar
TiChou
Dans l'article news:,
Aurélien Le Provost écrivait :

Salut


Bonsoir,

Je chercher à faire marcher autofs avec des disquettes, toujours sur
Debian sarge :

poste2|~# cat /etc/auto.misc
18:46 cdrom -fstype=auto,ro,sync,nodev,nosuid
:/dev/cdrom
floppy -fstype=auto,sync,nodev,nosuid,gid%,umask0
:/dev/fd0

J'ai mis le umask à 000 parce que sinon ça cafouille (pas le droit
d'écrire ?).

Le «gid%» est là pour que ça soit les membres du groupe 'floppy' qui
puissent accéder aux disquettes.


Le 'gid%' est là pour que les membres du groupe 'floppy' puissent accéder
aux disquettes.
La nuance dans la formulation est importante. De plus avec un umask à 0,
tout le monde à accès.

Seulement dès que l'on veut changer les droits d'accès :

|/mnt/floppy% chmod 644 trucs
chmod: modification des permissions de `trucs': Opération non permise


Même remarque que Arnaud Gomes-do-Vale. D'ailleurs, qui est l'"owner" (""
parce que si effectivement le système de fichier n'est pas du type Unix, la
notion de owner n'est plus valable) du fichier trucs quand celui ci est créé
? Sachant que seul l'"owner" du fichier peut changer les permissions.

--
TiChou

Avatar
Aurélien Le Provost
Le Mon, 22 Sep 2003 19:18:20 +0200, Arnaud Gomes-do-Vale a écrit :

|/mnt/floppy% chmod 644 trucs
chmod: modification des permissions de `trucs': Opération non permise


Tu es sûr que le système de fichiers de ta disquette supporte les
droit au sens Unix du terme ? Si elle est au format MS-DOS, tu risques
de ne pas arriver à grand chose.


Oups.

Bon, c'était bien ça :) Merci...
Le seul petit soucis est que lorsque KDE crée un fichier, il cherche
apparement à en changer les droits. Donc à chaque fois, ils ont un message
d'erreur 'je peux pas changer les droits', ou quelque chose d'approchant.

M'enfin c'est pas un grand drame.

Aurélien.

PS : à part ça, comment ça va Arnaud ? On ne te voit plus sur IRC (moi non
plus, d'ailleurs ;-)


Avatar
Aurélien Le Provost
Le Mon, 22 Sep 2003 20:44:31 +0200, TiChou a écrit :

floppy -fstype=auto,sync,nodev,nosuid,gid%,umask0
:/dev/fd0

J'ai mis le umask à 000 parce que sinon ça cafouille (pas le droit
d'écrire ?).

Le «gid%» est là pour que ça soit les membres du groupe 'floppy' qui
puissent accéder aux disquettes.


Le 'gid%' est là pour que les membres du groupe 'floppy' puissent accéder
aux disquettes.
La nuance dans la formulation est importante.


Mais si ceux qui ne font pas partie de ce groupe ne peuvent pas y accéder,
cela ne revient pas finalement au même ?

De plus avec un umask à 0,
tout le monde à accès.


Autofs ne contrôle pas l'accès au répertoire auto-montés avant (par
exemple, avec la notion de groupe évoquée plus haut) ?

Seulement dès que l'on veut changer les droits d'accès :

|/mnt/floppy% chmod 644 trucs
chmod: modification des permissions de `trucs': Opération non permise


Même remarque que Arnaud Gomes-do-Vale. D'ailleurs, qui est l'"owner" (""
parce que si effectivement le système de fichier n'est pas du type Unix, la
notion de owner n'est plus valable) du fichier trucs quand celui ci est créé
? Sachant que seul l'"owner" du fichier peut changer les permissions.


C'est root l'owner... Et c'est bien un système de fichier fat16... Honte
sur moi ;-)

Bon, reste ce message de KDE un peu énervant, mais apparement je ne peux
rien y changer.

Merci,
Aurélien.


Avatar
Arnaud Gomes-do-Vale
Aurélien Le Provost writes:

Autofs ne contrôle pas l'accès au répertoire auto-montés avant (par
exemple, avec la notion de groupe évoquée plus haut) ?


Autofs ne contrôle rien par lui-même. Il se contente de faire un mkdir
suivi d'un mount. C'est mount qui s'occupe de la gestion des droits.

--
Arnaud