Como dar acesso ao shell do desenvolvedor para usar o GIT e gerenciar código, nada mais?

1

No CentOS 6.5 (SElinux off, chroot) com Webmin / Virtualmin (última versão) Eu quero dar a um desenvolvedor acesso ao SSH dentro de / home / site para que ele possa usar somente git para gerenciar o código. Eu também quero dar-lhe acesso ao FTP em / home / site / e acesso ao MySQL para os 3 DBs (site e 2 sub-servidores)

SSH : criei um usuário chamado dev_ssh. O SSH é somente baseado em certificado e eu tenho o SSH em / home / dev_ssh funcionando. Eu quero dar a este usuário acesso ao diretório / home / site, mas o usuário não pode fazer o cd para / home / site, a menos que eu o adicione a sudoers .

FTP : criei 1 usuário para o site (dev.site), ele pode acessar todo o / home / site. Esta parte está funcionando bem.

MySQL : Eu criei um usuário mysql dev_mysql, e dei a este usuário acesso a todos os 3 DBs (principal e sub-servidores dos DBs). O acesso ao MySQL eu poderia ter que mantê-lo dessa maneira, já que esse usuário tem acesso para fazer login remotamente no MySQL apenas para aqueles 3 DBs (enquanto o usuário unix pode acessar somente a partir do MySQL localhost). Esta parte está funcionando bem.

Como resolvo o acesso do SSH ao problema / home / site?

Além disso, essa configuração inteira é a maneira correta de configurá-lo em um ambiente Webmin?

    
por Gaia 06.08.2014 / 18:44

4 respostas

1

Use o grupo de sistemas para dar acesso ao diretório. Altere a propriedade do grupo de /home/site para um grupo comum, como git , e adicione o usuário dev_ssh a esse grupo.

chgrp -Rvf git /home/site
usermod -a -G git dev_ssh
    
por 10.08.2014 / 15:32
0

Em ~/.ssh/authorized_keys

command="git",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss [...]
    
por 10.08.2014 / 15:29
0

Você pode restringir o usuário 'git' a somente fazer atividades do Git com uma ferramenta shell limitada chamada git-shell que vem com o Git. Se você definir isso como o shell de login do usuário "git", o usuário "git" não poderá ter acesso normal ao seu servidor. Para usar isso, especifique git-shell em vez de bash ou csh para o shell de login de seu usuário. Para fazer isso, você provavelmente precisará editar seu arquivo / etc / passwd.

    
por 14.08.2014 / 13:10
0
setfacl -m d:u:dev_ssh:rx /home/site

Verifique se o sistema de arquivos contendo /home/site foi montado com a opção acl . Fonte: Documentos da Lista de Controle de Acesso do CentOS .

    
por 16.08.2014 / 14:01