Tornando os arquivos geralmente disponíveis no sistema Linux (quando a segurança é relativamente sem importância)?

2

Estou usando o Ubuntu 9.10 em um PC estacionário. Eu tenho um disco rígido secundário de 1 TB com uma única partição lógica grande (atualmente formatada como ext4). Ele é montado como / usr3 com opções usuário, exec em / etc / fstab.

Estou fazendo experimentos de imagens de alta velocidade. Bem, apenas 260fps, mas isso ainda cria muitos arquivos individuais, já que cada quadro é salvo como um arquivo png. O estacionário não é usado por ninguém além de mim, e é por isso que o modelo de segurança padrão proposto pelo Ubuntu não é necessário.

Qual é a melhor maneira de disponibilizar todo o conteúdo de / usr3 em todos os sistemas? Caso eu precise mover o disco rígido para outra máquina Ubuntu 9.x ou 10.x?

Ao capturar imagens com a câmera firewire, eu uso um utilitário de software de autoajuda (baseado em console) no modo sudo. Isso cria todos os arquivos com root como proprietário e grupo.

Estou logado como usuário otb e geralmente faço o seguinte quando tenho que disponibilizar os arquivos para o otb:

sudo chown otb -R *
sudo chgrp otb -R *
sudo chmod a=rwx -R *

Isso leva algum tempo desde que o disco agora contém ~ 200000 arquivos individuais.

Depois disso, como o linux se comportaria se eu movesse o disco rígido para outro sistema onde o usuário otb também estivesse disponível? Os arquivos ainda seriam acessíveis sem uso do sudo?

    
por Ole Thomsen Buus 06.02.2011 / 17:07

2 respostas

3

Você precisará ter os mesmos uid e gid para o usuário otb (ou seja qual for o nome de usuário) para poder acessar os arquivos sem sudo em um sistema diferente.

UID (ID do usuário) e GID (ID do grupo) são sistemas numéricos exclusivos atribuídos a usuários e grupos. Para usuários normais, eles começam a partir de 1001.

A maneira mais fácil de garantir as mesmas permissões: no arquivo /etc/passwd , para qualquer entrada de usuário, UID & amp; GID é o terceiro e quarto campo respectivamente. No segundo sistema você pode criar um usuário com o comando de um terminal usando useradd -u UID -g GID username , onde o UID e o GID são o mesmo UID e GID do usuário otb no primeiro sistema. Antes de emitir o comando, assegure-se de que o mesmo UID já não esteja em uso.

Eu tentei do Sistema GUI - > Administração - > Usuários e Grupos e não conseguimos encontrar uma maneira de sincronizá-lo.

Mantendo o mesmo arquivo /etc/passwd em sistemas, ou usando soluções como o NIS, o LDAP tornará isso muito mais fácil se você tiver mais sistemas.

Para mais detalhes, consulte man useradd , man usermod e, se você precisar excluir algum usuário, man userdel de um terminal.

    
por Jamess 06.02.2011 / 17:42
4

Em primeiro lugar, seus dois primeiros comandos podem ser combinados:

sudo chown otb:otb -R *

Não tenho certeza se isso será mais rápido, no entanto.

Em segundo lugar, já que você não se preocupa com a segurança nesta unidade, você deve montar a unidade especificando umask que faça todos os arquivos 777 à medida que eles são escritos:

user,exec,umask=000

Isso pode ajudar a evitar a necessidade de executar seu terceiro comando.

Além disso, uma vez que parece que uma opção umask pode não estar disponível para todos os tipos de sistema de arquivos, existe outra maneira de definir as permissões de arquivos padrão criadas quando em sudo. Isso é conseguido editando / etc / sudoers.

De man sudoers , a opção "umask_override" aparece para permitir isso.

umask_override: Se definido, o sudo definirá o umask conforme especificado pelos sudoers sem modificação. Isso torna possível especificar umask mais permissiva em sudoers do que a umask do usuário e corresponde ao comportamento histórico. Se umask_override não estiver definida, o sudo definirá a umask como a união da umask do usuário e o que é especificado nos sudoers. Este sinalizador está desativado por padrão.

Eu nunca usei essa opção, portanto, continue com cuidado. A edição de / etc / sudoers pode ser perigosa e exigir uma reconstrução do sistema (ou intervenção de CD ao vivo) se você errar.

    
por Scaine 06.02.2011 / 17:52