No meu mac, estou usando uma partição HFS não-journaled para compartilhar arquivos entre o OSX 10.8 e o Ubuntu 12.04.
Foi um pensamento interessante a princípio, porque o Time Machine fará backup automático do volume no OSX, mas logo percebi que o OSX e o Ubuntu mexem com a permissão de uma maneira que deixa as coisas confusas para mim.
Portanto, para visualizar e alterar completamente os arquivos, continuo usando as chmod
permissões que me permitem usar totalmente um documento. Mas não entendo por que tenho que continuar aplicando alterações repetidamente .
É possível definir algum tipo de permissão permanentemente para que ambos os sistemas operacionais respeitem permanentemente?
Acho que o 777 funcionará, mas achei que isso não é uma coisa inteligente a se fazer. Mas enquanto 'outros' não tiverem acesso total (sete terceiros), vejo um ícone de cadeado no arquivo no ubuntu.
fonte
774
de permissões.Respostas:
Os nomes de usuário são irrelevantes. Permissão tanto HFS + e sistemas de ficheiros Linux-nativos são armazenados em termos de facilidade IDs (UIDs), que são os números associados com nomes de utilizador. No Ubuntu, como na maioria das distribuições modernas de Linux, o primeiro usuário recebe um UID de 1000 por padrão. No OS X, o primeiro usuário recebe um UID de 501 por padrão. Portanto, ao compartilhar mídia que codifica valores de UID, é provável que os valores de UID não correspondam.
Uma maneira de corrigir isso é definindo permissões frouxas (o valor do modo, como em
rwxr-xr-x
, ou 755 em octal). Observe que o código octal das permissões não é o mesmo que o valor UID. Nos dois sistemas operacionais, você pode definir as permissões padrão usadas nos arquivos com oumask
comando, que especifica o valor do bit a ser removido das permissões do arquivo. Por exemplo,umask 022
remove a permissão de gravação para o grupo e outras permissões, resultando em 755 (rwxr-xr-x
) permissões em novos arquivos (ou 644 se algo remover o bit de permissão de execução, que é uma prática comum para arquivos). Essa é basicamente uma ferramenta de linha de comando; se você é basicamente um usuário da GUI, precisará encontrar outra ferramenta para fazer o trabalho, provavelmente relacionada aos padrões do seu ambiente de área de trabalho. Isso pode ser obscuro e mal documentado. Além disso, definir permissões frouxas dessa maneira pode ter desvantagens de segurança, especialmente se o seu for um sistema multiusuário.Uma abordagem melhor é sincronizar os UIDs da sua conta no Linux e no OS X. Você pode alterar facilmente o valor do UID no Linux com o
usermod
comando, como em:Este comando define o UID para
dale
501. No entanto, existem algumas ressalvas significativas:usermod
deve ser usado comoroot
. Você pode executá-lo viasudo
, mas fazê-lo na conta que está modificando é extremamente desaconselhável. Assim, você precisará fornecerroot
uma senha e fazer loginroot
diretamente ou usar asudo
partir de uma segunda conta de usuário.usermod
comando não altera a propriedade de nenhum arquivo pertencente ao usuário em questão. Para ajustar a propriedade desses arquivos, você precisará localizá-los e depois alterar sua propriedadechown
. A maioria dos arquivos estará no diretório inicial do usuário; portantochown -R dale: /home/dale
, digitadaroot
após a alteraçãodale
do UID da alteração, a maioria dosdale
arquivos será alterada para usar o novo número de UID. Alguns dos arquivos do usuário podem estar localizados em outro lugar. A digitaçãofind / -uid 1000
encontrará todos os arquivos que usam o UID antigo (supondo que fosse 1000). Observe que essefind
comando provavelmente levará alguns minutos para ser concluído. Para acelerar, desmonte todos os sistemas de arquivos nos quais você tem certeza de que não encontrará acertos, como volumes FAT ou NTFS./etc/fstab
Porém, se você montar o volume por meio de uma entrada, poderá ser necessário ajustar o valor UID especificado./etc/login.defs
. Se você não conseguir alterar oUID_MIN
valor desse arquivo, provavelmente descobrirá que sua conta parece "desaparecer" da tela de login da GUI e, talvez, de outros sistemas. Portanto, você deve editar esse arquivo.Em teoria, você pode alterar o UID de suas contas do OS X de maneira semelhante para alcançar o mesmo objetivo. Porém, estou menos familiarizado com as ferramentas de manutenção de contas do OS X, portanto não posso fornecer instruções explícitas para isso. Ajustar os valores do OS X teria a vantagem de você não precisar ajustar
UID_MIN
no Linux.Se você possui várias contas no seu computador, deve ajustá-las para mantê-las sincronizadas nas instalações do sistema operacional.
Mais um ponto: o valor de ID do grupo (GID) é armazenado de maneira semelhante. IIRC, o Ubuntu atribui um valor GID para cada conta que é idêntico ao seu valor UID. Não me lembro do que o OS X faz por padrão. Convém ajustar os valores de GID para os dois sistemas operacionais de maneira análoga às alterações de UID, mas isso provavelmente não é tão importante quanto ajustar os valores de UID.
EDIT: Se você deseja alterar seu UID (e GID, se desejado) no macOS / OS X, e não no Ubuntu, você pode fazê-lo. Como essa modificação no macOS está além do escopo deste site, vou apenas vincular algumas páginas que fornecem procedimentos para fazer isso no macOS:
fonte
UID_MIN
.Descobri que às vezes você pode clicar em uma pasta que gostaria de compartilhar e pressionar o comando + I. Em seguida, clique no cadeado e digite sua senha, se não estiver desbloqueada. Em seguida, onde diz "todos", escolha ler e escrever.
Outra coisa que funciona é configurar uma pasta como uma "pasta compartilhada". Você pode fazer isso no painel de preferências de compartilhamento nas preferências do sistema.
Vá para preferências do sistema> compartilhamento> compartilhamento de arquivos. Em seguida, compartilhe que a caixa de compartilhamento de arquivos esteja marcada e adicione a pasta que você deseja compartilhar usando o botão mais. Em seguida, você pode alterar as permissões para ler uma gravação.
NOTA: o uso da segunda opção também abrirá seu computador para permitir o acesso à pasta de sua escolha pela Internet (somente enquanto inicializado no os x) !! Faça com que você tenha uma senha segura e que provavelmente a desabilite em locais públicos (não se esqueça de pegar seu chapéu de alumínio!)
fonte
774
.Abra um terminal e:
No OS X, tente isso
No Ubuntu, execute este
Agora você deve poder usar
774
ou até mesmo770
para permissões de arquivo.fonte
<ubuntu-username>
seu nome de usuário real no Ubuntu (idem for<os-x-usernanme>
)? E você pode ser mais específico sobre quais erros o OS X apresenta ao tentar executar este comando?adduser
não sai.