ok, alguém sugeriu que eu experimentasse o SuperUser. Aqui vai ... Eu tenho usuário 'frances' que é um membro do grupo 'pc', mas não consigo gravar em um diretório chamado pc, pertencente ao pc e com permissões executáveis para o grupo pc - 'permissão negada'.
Isso deve ser incrivelmente simples. Alguém pode apontar exatamente o que esse idiota (eu) está fazendo errado? Aqui está um resumo rápido, tentando acessar tanto como 'pc' quanto 'frances':
pc@Samsung:/media$ ll // check dir with user 'pc'
total 12
drwxr-xr-x 3 root root 4096 Jun 4 2014 ./
drwxr-xr-x 23 root root 4096 Nov 27 06:55 ../
drwxr-xr-x+ 4 pc pc 4096 Dec 10 19:09 pc/
pc@Samsung:/media$ cd pc //success
pc@Samsung:/media/pc$ su - frances // change user
Password:
frances@Samsung:~$ cd /media
frances@Samsung:/media$ ls -la // check dir with user 'frances'
total 12
drwxr-xr-x 3 root root 4096 Jun 4 2014 .
drwxr-xr-x 23 root root 4096 Nov 27 06:55 ..
drwxr-xr-x+ 4 pc pc 4096 Dec 10 19:09 pc
frances@Samsung:/media$ cd pc //fail
-su: cd: pc: Permission denied
frances@Samsung:/media$ groups frances // groups 'frances is a member of includes 'pc'
frances : pc cdrom plugdev users sambashare
Ubuntu 14.04 ...
Saída do getfacl pc
frances@Samsung:/media$ getfacl pc
# file: pc
# owner: pc
# group: pc
user::rwx
user:pc:r-x
group::---
mask::r-x
other::r-x
Linhas relevantes de montagem:
/dev/sda3 on /media/pc/data type ext4 (rw,nosuid,nodev,uhelper=udisks2)
/dev/sda1 on /media/pc/windows type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/media/pc
é um sistema de arquivos montado? Como esse sistema de arquivos foi montado? Por acaso você montou com o fusível, talvez? O fusível tem um recurso para tornar um sistema de arquivos apenas utilizável por um único usuário. serverfault.com/questions/188894/…type fuseblk
na sua saída de montagem. Mas você tem oallow_other
opção habilitada, então você deve ser capaz de ignorar isso como a origem do problema.Respostas:
Ok, ajudou via https://unix.stackexchange.com/users/42924/yoonix . O '+' indica que um acl está definido. Adicione o usuário da seguinte maneira:
setfacl -m u: frances: rx pc
resolvido.
fonte