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
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?
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
Em ~/.ssh/authorized_keys
command="git",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss [...]
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.
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 .