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

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

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

E estou logado machineBcomo davidusuário.

Algum outro usuário também está logado na mesma máquina. E quero que outro usuário copie o arquivo jar acima do meu local.

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

Atualizar:-

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#(.*)/[^/]*$#\1#;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

Responder1

Bem, por algum motivo estranho, seu $HOMEdiretório só pode ser acessado por você. Este não é o padrão em nenhum sistema com o qual estou familiarizado; você ou seu administrador de sistema provavelmente o configuraram dessa maneira.

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

chmod a+rx ~/

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

Responder2

Para conceder 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 foo.jare execução em /home/davide /home/david/for_alice. A permissão de execução em um diretório é necessária para acessar arquivos dentro desse diretório pelo 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 for usar uma GUI para navegar nos arquivos.

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

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

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

Responder3

chmod o+r /path/to/filepermitirá permissões de leitura mundial 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 formato /path/to/directory. Como Patrick apontou, você chmod o+rxtambém precisará adicionar world read e execute ( ) em todos os diretórios pais. Não sei de cara a maneira mais fácil de criar um script para isso, mas tenho certeza de que é possível.

informação relacionada