Usuários nomes são irrelevantes. As permissões nos sistemas de arquivos nativos do HFS + e do Linux são armazenadas em termos de IDs (UIDs), que são números associados a nomes de usuários. No Ubuntu, como na maioria das distribuições Linux modernas, 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. Assim, ao compartilhar mídias que codificam valores UID, os valores de UID provavelmente não corresponderão.
Uma maneira de corrigir isso é definir permissões soltas (o valor do modo, como em rwxr-xr-x
ou 755 em octal). Observe que o código octal de permissões não é o mesmo que o valor de UID. Em qualquer sistema operacional, você pode definir as permissões padrão usadas nos arquivos com o comando umask
, que especifica o valor do bit a ser removido das permissões de 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 é prática comum para arquivos). Isso é basicamente uma ferramenta de linha de comando; se você for em grande parte um usuário de GUI, precisará encontrar outra ferramenta para fazer o trabalho, provavelmente relacionada aos padrões do ambiente de área de trabalho. Isso pode ser obscuro e mal documentado. Além disso, definir permissões perdidas dessa maneira pode ter desvantagens de segurança, especialmente se o seu sistema for multiusuário.
Uma abordagem melhor é sincronizar os UIDs da sua conta no Linux e OS X. Você pode alterar facilmente o valor de UID no Linux com o comando usermod
, como em:
usermod -u 501 dale
Este comando define o UID para dale
para 501. Existem algumas ressalvas significativas:
- Você deve sair da conta que está modificando antes de modificá-la. Tentar modificar uma conta em uso fará com que essa conta comece a se comportar de forma estranha.
-
usermod
deve ser usado comoroot
. Você pode executá-lo viasudo
, mas fazê-lo a partir da conta que está modificando é desaconselhável ao extremo. Assim, você precisará fornecerroot
a senha e fazer login emroot
diretamente ou usarsudo
de uma segunda conta de usuário. - O comando
usermod
não altera a propriedade de nenhum arquivo de propriedade do usuário em questão. Para ajustar a propriedade desses arquivos, você precisará localizá-los e alterar a propriedade deles comchown
. A maioria dos arquivos estará no diretório inicial do usuário, portanto,chown -R dale: /home/dale
, digitado comoroot
após alterar o UID dedale
, alterará a maioria dos arquivos dedale
para usar o novo número de UID. Alguns dos arquivos do usuário podem estar localizados em outro lugar, no entanto. Digitarfind / -uid 1000
encontrará todos os arquivos que usam o antigo UID (supondo que seja 1000). Observe que esse comandofind
provavelmente levará vários minutos para ser concluído. Para acelerar, desmonte todos os sistemas de arquivos nos quais você tem certeza de que não encontrará ocorrências, como volumes FAT ou NTFS. - Se você acessar volumes FAT ou NTFS, seus valores de UID serão determinados pelas opções no momento da montagem. Se você usar um gerenciador de arquivos GUI, provavelmente o valor UID está definido para quem está executando o gerenciador de arquivos, portanto, não é necessário fazer nada especial. Se você montar o volume por meio de uma entrada
/etc/fstab
, talvez seja necessário ajustar o valor de UID especificado. - O Ubuntu armazena o valor mínimo usado para os UIDs em
/etc/login.defs
. Se você não conseguir alterar o valor deUID_MIN
neste arquivo, provavelmente descobrirá que sua conta parecerá "desaparecer" da tela de login da GUI e talvez de alguns outros sistemas. Assim, você deve editar esse arquivo.
Em teoria, você poderia alterar o UID da (s) conta (s) do OS X de maneira semelhante para atingir o mesmo objetivo. Estou menos familiarizado com as ferramentas de manutenção de contas do OS X, por isso não posso fornecer instruções explícitas para isso. Ajustar os valores do OS X teria a vantagem de você não ter que ajustar UID_MIN
no Linux.
Se tiver várias contas no seu computador, você deve ajustá-las para mantê-las todas sincronizadas nas instalações do sistema operacional.
Mais um ponto: o valor do ID do grupo (GID) é armazenado de maneira semelhante. IIRC, o Ubuntu atribui um valor de GID para cada conta que é idêntica ao seu valor de UID. Não me lembro do que o OS X faz por padrão. Você pode querer ajustar os valores de GID para os dois sistemas operacionais de maneira análoga às alterações de UID, mas isso provavelmente não será tão importante quanto ajustar os valores de UID.
EDITAR: Se você quiser alterar seu UID (e GID, se desejar) no macOS / OS X em vez de no Ubuntu, você pode fazê-lo. Como esta modificação no macOS está além do escopo deste site, vou apenas ligar para algumas páginas que fornecem procedimentos para fazer isso no macOS:
- Alterar a ID de usuário de um usuário no Mac OS X (10.6 - 10.12)
- "Alterando seu UID e GID" em comunidades da Apple
- " Consequências da mudança de uid / gid no Snow Leopard "no SuperUser