Onde devo colocar os arquivos compartilhados do grupo em um sistema Linux?

14

Estou migrando muitos scripts e dados personalizados pequenos de um sistema Linux para outro.

No sistema antigo, tínhamos um usuário compartilhado que possuía a maioria dos arquivos e eles estavam localizados /homenesses usuários , mas no novo preferimos fazer login com nossas próprias contas e usar permissões de grupo para colaborar, mas como não haverá um único proprietário dos arquivos, não há /home-dir.

Então, onde devo colocar esses arquivos compartilhados? Devo criar um usuário sem login que possua os arquivos? Ou existe um /grouphomelocal adequado ?

(Eu não quero espalhá-los em usuários individuais /home: s.)

Daniel
fonte
Que tipo de arquivos são eles?
30519 Dan Carley
A maioria são scripts de importação com diferentes tipos de dados associados que devem ser filtrados e importados para os bancos de dados.
Daniel
Eu gosto / grouphome. O usuário sem login que possui a idéia de arquivos também é bom.
Pjc50 29/10/09

Respostas:

15

Eu quase certamente sugeriria usar /usr/local.

Scripts de usuário acessíveis globalmente podem ser inseridos /usr/local/bin. Pequenas quantidades de dados associados também podem ser usadas bin. Ou você pode separar os dados em /usr/local/varou /usr/local/share.

Ao fazer isso, você terá certeza de que qualquer familiar da ESF poderá localizá-los rapidamente, sem nenhum conhecimento prévio do sistema específico.

Dan Carley
fonte
3
(1) Para referência futura do que colocar onde: pathname.com/fhs/pub/fhs-2.3.html
Kyle Brandt
Obrigado a vocês dois. /usr/localseja isso. Na verdade, foi uma das minhas primeiras opções, mas a descrição do objetivo de /usr(somente leitura) no artigo sugerido me afastou dessa ideia. Acho que eu deveria ter lido /usr/local.
309/09 Daniel
7

É exatamente para isso que os direitos de grupo são projetados. É assim que eu faço no Ubuntu:

sudo mkdir /home/shared
sudo addgroup shared
sudo chown :shared /home/shared
sudo chmod 770 /home/shared
sudo vim /etc/group

Adicione a lista de usuários que devem ter acesso ao diretório compartilhado ao grupo compartilhado. Por exemplo:

shared:x:1002:norman,nextuser,and,so-on

Obviamente, você pode usar qualquer outro nome que não seja 'compartilhado' e ele não precisa estar no diretório / home. O bom é que você não precisa fazer nada de especial nas contas do usuário e pode adicionar ou remover usuários do grupo com facilidade.

simplr
fonte
Obrigado pelo voto negativo. Mas gostaria de saber o que escrevi que está incorreto.
simplr 18/11/2009
também defina o grupo de adesivo, para que o grupo seja definido para novos arquivos criados. chmod g+s /home/shared
Jr198944
1
@ jris198944 sé para bits SUID e GUID, té para bits pegajosos. Verifique novamente antes de postar ;-) Consulte: unix.stackexchange.com/a/79401/136321 .
leaf
1

A resposta curta é; Onde você quiser :)

Eu gosto de usar algo como / projects, / shared ou / common. / home / trabalhos compartilhados também.

Roy
fonte
Obrigado. Curto e agradável, mas às vezes é mais fácil se você não precisa se decidir ... Seria compatível com a FHS colocar meu próprio diretório logo abaixo /? Quando (se houver) isso importa? Não tenho experiência suficiente para perceber as implicações de minha escolha.
294/09 Daniel
Essas são realmente apenas convenções. Outros programas que procuram coisas são o meu visual nesses locais predefinidos. Os diretórios bin já estarão no seu $ PATH, portanto você não precisará especificar o nome completo do caminho para executar o script. Outros administradores podem esperar que eles estejam lá. Provavelmente realmente não importa no seu caso, mas bons hábitos são bons :-)
Kyle Brandt
Há várias convenções aplicáveis ​​nos ambientes UNIX. A ESF contribui para uma boa linha de base, mas é bastante comum desviar-se desse padrão. Por exemplo, a arquitetura flexível ideal para servidores de banco de dados Oracle usa / u * (/ u01, / u02) para dados de usuários locais, enquanto o Ubuntu entre outros usa / media para pontos de montagem de mídia removível. Desde que você tenha uma convenção com a qual concorda internamente em seu ambiente operacional, não haverá problema.
214 Roy Roy
0

Eu uso /shares; este também é o local que o qnap usa.

Em /shareseu tenho links simbólicos para o destino em uma pasta chamada /shares/.mnt/onde eu tenho as unidades de dados montadas.

Isso é feito para evitar longos tempos de espera ao mover arquivos entre compartilhamentos ao usar hardlinks nos /sharesquais são necessários quando as unidades de dados são montadas apenas em / mnt.

/shares/.mnt não é compartilhado, a propósito.

Jeroen
fonte