Permitir que outro usuário copie os arquivos da minha pasta?

6

Estou trabalhando com o Ubuntu e tenho um arquivo jar nesta pasta /export/home/david

E estou logado em machineB as david user.

Algum outro usuário também está logado na mesma máquina. E quero que outro usuário copie o arquivo jar acima da minha localização.

Mas, de alguma forma, eles não são capazes de fazer isso, pois estão recebendo permissão negada. Existe alguma maneira de adicionar alguma permissão nesse arquivo jar ou na minha pasta para que qualquer um possa copiar os arquivos dessa pasta?

Atualização: -

Abaixo está o resultado que obtive -

david@machineB:~$ groups david
david : uucp

otheruser@machineB:~$ groups otheruser
otheruser : app

david@machineB:~$ ls -l foo.jar
-rw-r--r-- 1 david uucp 6543346 2014-03-07 18:27 foo.jar

david@machineB:~$ ls -ld $(echo "/home/david/foo.jar" | sed -r ':a; s#(.*)/[^/]*$##;p;ta')
drwxr-xr-x 22 root   root 4096 2014-05-04 08:04 /home
drwx------  4 david uucp 4096 2014-03-07 18:36 /home/david
    
por arsenal 14.05.2014 / 00:19

3 respostas

6

Bem, por algum motivo estranho, o diretório $HOME é acessível somente a você. Este não é o padrão em nenhum sistema que eu conheço, você ou seu sysadmin provavelmente configuraram desta forma.

De qualquer forma, tudo o que você precisa fazer é dar a todos acesso de leitura / execução ao seu $HOME . Essa é a norma na maioria dos sistemas multiusuários para permitir que as pessoas compartilhem seu trabalho. Apenas execute este comando:

chmod a+rx ~/

Isso definirá as permissões da sua casa como rwxr-xr-x e permitirá que qualquer pessoa copie arquivos do seu $HOME .

    
por 14.05.2014 / 02:22
3

Para dar a alguém acesso de leitura a um arquivo seu, ele precisa ter permissão de leitura no arquivo e permissão de execução em todos os diretórios que levam ao arquivo. Por exemplo, para permitir que Alice leia /home/david/for_alice/foo.jar , você precisa garantir que Alice tenha permissão de leitura para foo.jar e permissão de execução em /home/david e /home/david/for_alice . A permissão de execução em um diretório é necessária para acessar arquivos dentro desse diretório pelo seu nome; a permissão de leitura em um diretório é necessária para listar os nomes dos arquivos no diretório. A permissão de leitura nos diretórios não é estritamente necessária, mas é mais conveniente, especialmente se Alice usar uma GUI para navegar pelos arquivos.

No momento, o seu diretório pessoal tem as permissões rwx------ , ou seja, somente você pode acessar arquivos nele.

Se os arquivos forem locais e as ferramentas de ACL estiverem disponíveis, você poderá conceder acesso a Alice. Os comandos a seguir dão a Alice acesso de leitura a for_alice e todos os arquivos abaixo, mas não permite que ela liste os arquivos em seu diretório pessoal (ela ainda pode acessar arquivos em seu diretório pessoal se adivinhar seu nome):

setfacl -m user:alice:x ~
setfacl -Rd -m user:alice:rX ~/for_alice
setfacl -R -m user:alice:rX ~/for_alice

Se as ACLs não forem possíveis, você terá que permitir acesso em todo o grupo ou em todo o sistema.

chmod +x ~
chmod -R a+rX ~/public
    
por 14.05.2014 / 02:42
1

chmod o+r /path/to/file permitirá permissões de leitura mundiais no arquivo que você deseja que seus amigos possam copiar.

chmod -R o+r /path/to/directory; find /path/to/directory -type d -exec chmod o+x {} \+ para permitir que outros usuários leiam todos os arquivos em /path/to/directory . Como Patrick apontou, você precisará adicionar world read e execute ( chmod o+rx ) em todos os diretórios pai também. Eu não sei o topo da minha cabeça a maneira mais fácil de escrever isso, mas tenho certeza que é possível.

    
por 14.05.2014 / 00:37