O ambiente que queremos implementar hoje é que se a empresa tiver três departamentos: finanças, tecnologia e liderança, estabeleceremos três grupos de usuários para os três departamentos: caiwu, rede e lingdao;
Existem 2 usuários em cada um dos três departamentos. Os usuários que criamos são caiwu01,caiwu02,network01,network02,lingdao01,lingdao02.
Em seguida, estabeleceremos os diretórios correspondentes e as permissões de acesso com base nas circunstâncias específicas da empresa. Por meio dos exemplos a seguir, espero que você possa aplicar com flexibilidade as permissões de segurança do samba para configurar seu servidor de arquivos samba em seu trabalho diário.
1. Primeiro, o servidor adota autenticação de usuário. Cada usuário pode acessar seu próprio diretório de host, e somente este usuário pode acessar o diretório de host e ter permissões completas, enquanto outros não podem ver seu diretório de host.
2. Crie uma pasta caiwu. Espero que as pessoas do grupo caiwu e do grupo lingdao possam vê-la e também possam acessá-la, mas apenas caiwu01 tem permissão de gravação.
3. Crie um diretório no lindao. Somente pessoas do grupo de liderança podem acessá-lo, ler e escrever, mas pessoas de fora não podem ver esse diretório.
4. Crie uma troca de diretórios de troca de arquivos, que pode ser lida e gravada por todos, incluindo o usuário convidado, mas ninguém pode excluir os arquivos de outras pessoas.
5. Crie uma pasta pública somente leitura e todos poderão ler apenas o conteúdo desta pasta.
Ok, vamos fazer o trabalho preliminar primeiro.
Crie 3 grupos:
#groupadd caiwu
#groupadd rede
#groupaddlingdao
Adicione usuários e participe de grupos relevantes:
#useradd caiwu01 -g caiwu
#useradd caiwu02 -g caiwu
#useradd rede01 -g rede
#useradd rede02 -g rede
#useradd lingdao01 -g lingdao
#useradd lingdao02 -g lingdao
Em seguida, usamos o comando smbpasswd -a caiwu01 para adicionar as 6 contas ao usuário samba respectivamente.
#mkdir /home/samba
#mkdir /home/samba/caiwu
#mkdir /home/samba/lingdao
#mkdir /home/samba/exchange
#mkdir /home/samba/public
Para evitar problemas, podemos definir as permissões de todas as pastas acima para 777. Usamos o gerenciamento flexível de permissões do samba para definir os cinco requisitos acima.
A seguir está o arquivo de configuração do meu smb.conf
[global]
grupo de trabalho=bmit
#meugrupoderede
string do servidor = servidor de arquivos Samba de Frank
#Descrição do nome do meu servidor
segurança=usuário
#Use mecanismo de autenticação de usuário
criptografar senhas = sim
arquivo smb passwd = /etc/samba/smbpasswd
#Use o mecanismo de senha criptografada No win95 e no winnt, é usado texto simples.
Outros podem basicamente seguir as configurações padrão.
[Página cortada]
[casas]
comentário = Diretórios iniciais
navegável = não
gravável = sim
usuários válidos = %S
modo de criação = 0664
modo diretório = 0775
O segmento #homes atende à primeira condição
[caiwu]
comentário=caiwu
caminho = /home/samba/caiwu
público = não
usuários válidos = @caiwu,@lingdao,network02
lista de escrita = caiwu01
imprimível = não
O parágrafo #caiwu atende ao nosso segundo requisito
[lingdao]
comentário =lingdao
caminho = /home/samba/lingdao
público = não
navegável = não
usuários válidos = @lingdao,network02
imprimível = não
O parágrafo #lingdao pode atender ao nosso terceiro requisito
[troca]
comment = Diretório de arquivos do Exchange
caminho = /home/samba/exchange
público = sim
gravável = sim
O segmento #exchange pode basicamente atender ao nosso quarto requisito, mas não pode atender à condição de que todos não possam excluir os arquivos de outras pessoas. Mesmo que a máscara esteja definida nele, na verdade, essa condição exige apenas que o Unix defina um sticky. pedaço.
chmod -R 1777 /home/samba/exchange
Observe que a permissão aqui é 1777. O diretório de sistema semelhante /tmp também tem a mesma permissão. Essa permissão pode atender ao requisito de que todos possam gravar arquivos livremente, mas não possam excluir os arquivos de outras pessoas.
[Página cortada]
[público]
comment = Somente leitura pública
caminho = /home/samba/public
público = sim
somente leitura = sim
#Este segmento público pode atender ao nosso quinto requisito.
Até agora, nossas configurações conseguiram atender aos requisitos de arquivos compartilhados. Lembre-se de reiniciar o serviço.
#/etc/rc.d/init.d/smb reiniciar
Se você não possui o windows, você também pode usar o comando cilent-side do samba para testá-lo primeiro.
Darei apenas alguns exemplos de como usar o comando. Você pode tentar se quiser saber mais sobre ele.
smbclient -L ip do servidor -N
A conta de convidado consulta o status de compartilhamento do seu servidor. Você pode verificar se o diretório lingdao pode ser visto pela conta de convidado. Claro, você também pode visualizá-lo no nome de um determinado usuário.
smbclient -L ip do servidor -U caiwu01
O sistema solicitará uma senha, basta digitar a senha smb.
smbclient //ip do servidor/caiwu -U caiwu01
#Faça login no diretório caiwu como usuário caiwu01
smbmount //ip do servidor/caiwu /mnt/caiwu -o nomedeusuario=caiwu01
#Mapeie o diretório financeiro do servidor para o diretório local /mnt/caiwu.
[Página cortada][casas]
comentário = Diretórios iniciais
navegável = não
gravável = sim
usuários válidos = %S
modo de criação = 0664
modo diretório = 0775
O segmento #homes atende à primeira condição
[caiu]
comentário=caiwu
caminho = /home/samba/caiwu
público = não
usuários válidos = @caiwu,@lingdao,network02
lista de escrita = caiwu01
imprimível = não
O parágrafo #caiwu atende ao nosso segundo requisito
[lingdao]
comentário =lingdao
caminho = /home/samba/lingdao
público = não
navegável = não
usuários válidos = @lingdao,network02
imprimível = não
O parágrafo #lingdao pode atender ao nosso terceiro requisito
[troca]
comment = Diretório de arquivos do Exchange
caminho = /home/samba/exchange
público = sim
gravável = sim
O segmento #exchange pode basicamente atender ao nosso quarto requisito, mas não pode atender à condição de que todos não possam excluir os arquivos de outras pessoas. Mesmo que a máscara esteja definida nele, na verdade, essa condição exige apenas que o Unix defina um sticky. pedaço.
chmod -R 1777 /home/samba/exchange
Observe que a permissão aqui é 1777. O diretório de sistema semelhante /tmp também tem a mesma permissão. Essa permissão pode atender ao requisito de que todos possam gravar arquivos livremente, mas não possam excluir os arquivos de outras pessoas.