Durante a migração do meu servidor para Linux (Ubuntu) tive problemas no compartilhamento Samba, pois aqui na empresa eu só posso ter uma pasta compartilhada e as permissões dos usuários são feitas nas subpastas. Tentei encontrar alguma coisa parecida para me ajudar. Depois de um tempinho (por ser iniciante) consegui. Segue abaixo uma ajudazinha aos iniciantes.
Por: Roberto Serrano Camacho
Introdução
Bom, trabalho em uma empresa e estávamos migrando o nosso Windows server para Linux. O problema que eu encontrei foi o seguinte:
Uso um programinha em Clipper que utiliza uma letra mapeada "G:" e trabalha com as suas subpastas.
Cada usuário da empresa tem que acessar as subpastas do diretório G:, com certas permissões, mas eu não posso usar vários compartilhamentos do Samba.
Segue abaixo a minha solução.
Preparando o sistema
Entre como super usuário:
$ sudo passwd root (cria o password do user root)
$ su (muda para usuário root)
Eu não vou mostrar o smb.conf inteiro, isso você pode pegar em qualquer um dos artigos anteriores.
Lembre-se de criar um compartilhamento do samba para a pasta desejada, no meu caso, todas as subpastas estão dentro da pasta /dados.
Meu smb.conf ficou assim:
Lembre-se de dar todos os privilégios de escrita pelo Samba.
Depois crie todos grupos:
# groupadd [seu grupo]
Por exemplo:
# groupadd escritorio
# groupadd fabrica
Crie também todos os usuários que terão acesso e já coloque em qual grupo ele pertence:
# useradd [usuário] -G [grupo]
Por exemplo:
# useradd diretor -G escritorio
# useradd fulano -G fabrica
Lembre-se também de criar os usuários no samba:
# smbpasswd -a [usuario]
Por exemplo:
# smbpasswd -a diretor
# smbpasswd -a fulano
Bom, agora crie as subpastas:
# mkdir /[seu diretório]/[ sua pasta]
No meu caso:
# mkdir /dados/escritorio
# mkdir /dados/fabrica
Inserindo permissões
Nessa hora, altere o dono e o grupo de acesso de cada pasta. Use o comando:
# chown [opção] [usuário dono].[grupo que acessa] [diretório/pasta]
No meu caso:
# chown root.escritorio /dados/escritorio
# chown root.fabrica /dados/fabrica
Se você colocar a opção -R no lugar de "opção", você altera a propriedade de todas as subpastas ao mesmo tempo.
Altere a permissão da pasta principal:
# chown -R root.users /dados
Neste momento eu tive um problema, eu precisava que ao invés de root ser o dono do arquivo, que um grupo de pessoas fossem o "dono", pois éramos em 3 administradores que precisávamos de acesso total.
Para isso, ver a página "Grupo como Dono".
Voltando:
Mude as permissões da pasta usando o comando:
# chmod [opção] [permissão] [diretório/pasta]
No meu caso:
# chmod 2755 /dados
# chmod -R 2770 /dados/escritorio
# chmod -R 2771 /dados/fabrica
(isso poderia ser substituído por "# chmod -R 2770 /dados", mas eu separei para que você faça permissões referentes para cada pasta)
Quanto a esse número 2770, ele significa o tipo de acesso, existem milhões de artigos quanto a isso, vou dar uma pequena relembrada na página "Permissões Chmod".
Pronto. Cada grupo vai acessar somente a sua pasta, e os usuários rskmacho, administrador, root acessarão todas as pastas com acesso total.
Grupo como dono
Com ajuda de um companheiro aqui do site chamado M4tri_x, ficou assim:
Crie um usuário conforme já vimos anteriormente, esse usuário eu chamei de "admingroup". Entre no /etc/group usando qualquer editor de texto, eu usei:
# gedit /etc/group
Encontre a linha:
admingroup:x:1010
Insira os usuários que eu queria que tivessem acesso total as pastas, ficou assim:
Agora você "engana o Linux" e coloca o seu "usuário" como dono do arquivo, porém ele vai dar acesso a todos os usuários adicionados (rskmacho, administrador, root).
Permissões chmod
Usando o comando chmod:
# chmod [opção] [permissão] [diretório/pasta]
Na guia [permissão].
Você pode fazer por binário, Octal, ou Escrita, particularmente, eu prefiro OCTAL.
Por exemplo:
# chmod 2770 /dados
Cada um desses números variam de 0 a 7, esse número de 4 algarismos dá a permissão dessa maneira.
* Primeiro algarismo significa o Atributo;
* Segundo algarismo significa a Permissão do Usuário Dono;
* Terceiro algarismo significa a Permissão do Grupo de Acesso;
* Quarto algarismo significa a Permissão dos Usuários sem grupo.
Conforme abaixo:
ATRIBUTO.........OCTAL
- - -.....................0
- - t.....................1
- s -.....................2
- s t.....................3
s - -.....................4
s - t.....................5
s s -.....................6
s s t.....................7
sst, onde significa respectivamente:
* s = O arquivo é executado como dono,
* s = O arquivo é executado como o Grupo,
* t = Somente o Dono pode apagar o arquivo.
PERMISSÃO.....................OCTAL
sem acesso.....................0
somente executar............1
somente escrever............2
escrever e executar.........3
somente ler....................4
ler e executar.................5
ler e escrever.................6
Acesso total...................7
Por exemplo:
# chmod 1754 /dados
Neste caso:
* Somente o dono pode apagar arquivos (1)
* O dono possui acesso total (7)
* O grupo que acessa somente pode LER e EXECUTAR (5)
* Os usuários "avulsos" somente podem LER (4)
Bom, explicado bem rápido.
Fonte: vivaolinux
Postado Por: RedDeviL
Por: Roberto Serrano Camacho
Introdução
Bom, trabalho em uma empresa e estávamos migrando o nosso Windows server para Linux. O problema que eu encontrei foi o seguinte:
Uso um programinha em Clipper que utiliza uma letra mapeada "G:" e trabalha com as suas subpastas.
Cada usuário da empresa tem que acessar as subpastas do diretório G:, com certas permissões, mas eu não posso usar vários compartilhamentos do Samba.
Segue abaixo a minha solução.
Preparando o sistema
Entre como super usuário:
$ sudo passwd root (cria o password do user root)
$ su (muda para usuário root)
Eu não vou mostrar o smb.conf inteiro, isso você pode pegar em qualquer um dos artigos anteriores.
Lembre-se de criar um compartilhamento do samba para a pasta desejada, no meu caso, todas as subpastas estão dentro da pasta /dados.
Meu smb.conf ficou assim:
Código:
.. [Dados] path = /dados admin users = Administrador valid users = %U read only = no guest ok = no browseable = yes writable = yes public = yes ...
Código:
writable = yes public = yes
# groupadd [seu grupo]
Por exemplo:
# groupadd escritorio
# groupadd fabrica
Crie também todos os usuários que terão acesso e já coloque em qual grupo ele pertence:
# useradd [usuário] -G [grupo]
Por exemplo:
# useradd diretor -G escritorio
# useradd fulano -G fabrica
Lembre-se também de criar os usuários no samba:
# smbpasswd -a [usuario]
Por exemplo:
# smbpasswd -a diretor
# smbpasswd -a fulano
Bom, agora crie as subpastas:
# mkdir /[seu diretório]/[ sua pasta]
No meu caso:
# mkdir /dados/escritorio
# mkdir /dados/fabrica
Inserindo permissões
Nessa hora, altere o dono e o grupo de acesso de cada pasta. Use o comando:
# chown [opção] [usuário dono].[grupo que acessa] [diretório/pasta]
No meu caso:
# chown root.escritorio /dados/escritorio
# chown root.fabrica /dados/fabrica
Se você colocar a opção -R no lugar de "opção", você altera a propriedade de todas as subpastas ao mesmo tempo.
Altere a permissão da pasta principal:
# chown -R root.users /dados
Neste momento eu tive um problema, eu precisava que ao invés de root ser o dono do arquivo, que um grupo de pessoas fossem o "dono", pois éramos em 3 administradores que precisávamos de acesso total.
Para isso, ver a página "Grupo como Dono".
Voltando:
Mude as permissões da pasta usando o comando:
# chmod [opção] [permissão] [diretório/pasta]
No meu caso:
# chmod 2755 /dados
# chmod -R 2770 /dados/escritorio
# chmod -R 2771 /dados/fabrica
(isso poderia ser substituído por "# chmod -R 2770 /dados", mas eu separei para que você faça permissões referentes para cada pasta)
Quanto a esse número 2770, ele significa o tipo de acesso, existem milhões de artigos quanto a isso, vou dar uma pequena relembrada na página "Permissões Chmod".
Pronto. Cada grupo vai acessar somente a sua pasta, e os usuários rskmacho, administrador, root acessarão todas as pastas com acesso total.
Grupo como dono
Com ajuda de um companheiro aqui do site chamado M4tri_x, ficou assim:
Crie um usuário conforme já vimos anteriormente, esse usuário eu chamei de "admingroup". Entre no /etc/group usando qualquer editor de texto, eu usei:
# gedit /etc/group
Encontre a linha:
admingroup:x:1010
Insira os usuários que eu queria que tivessem acesso total as pastas, ficou assim:
Código:
admingroup:x:1010:rskmacho,administrador,root
Permissões chmod
Usando o comando chmod:
# chmod [opção] [permissão] [diretório/pasta]
Na guia [permissão].
Você pode fazer por binário, Octal, ou Escrita, particularmente, eu prefiro OCTAL.
Por exemplo:
# chmod 2770 /dados
Cada um desses números variam de 0 a 7, esse número de 4 algarismos dá a permissão dessa maneira.
* Primeiro algarismo significa o Atributo;
* Segundo algarismo significa a Permissão do Usuário Dono;
* Terceiro algarismo significa a Permissão do Grupo de Acesso;
* Quarto algarismo significa a Permissão dos Usuários sem grupo.
Conforme abaixo:
ATRIBUTO.........OCTAL
- - -.....................0
- - t.....................1
- s -.....................2
- s t.....................3
s - -.....................4
s - t.....................5
s s -.....................6
s s t.....................7
sst, onde significa respectivamente:
* s = O arquivo é executado como dono,
* s = O arquivo é executado como o Grupo,
* t = Somente o Dono pode apagar o arquivo.
PERMISSÃO.....................OCTAL
sem acesso.....................0
somente executar............1
somente escrever............2
escrever e executar.........3
somente ler....................4
ler e executar.................5
ler e escrever.................6
Acesso total...................7
Por exemplo:
# chmod 1754 /dados
Neste caso:
* Somente o dono pode apagar arquivos (1)
* O dono possui acesso total (7)
* O grupo que acessa somente pode LER e EXECUTAR (5)
* Os usuários "avulsos" somente podem LER (4)
Bom, explicado bem rápido.
Fonte: vivaolinux
Postado Por: RedDeviL
Comment