Bem, aqui estão os passos que fiz; o problema está listado na parte inferior.
sudo mkdir /home/test
sudo useradd test
sudo chown root:test /home/test
sudo chmod 755 /home/test
sudo groupadd testgroup
sudo useradd -G testgroup test
sudo useradd -G testgroup other
Em seguida, editei /etc/ssh/sshd_config
e adicionei o seguinte ao final, para que o usuário só possa ver o diretório inicial
Match group testgroup
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
então reiniciei o SSH ( sudo /etc/init.d/ssh restart
)
Depois disso, eu queria que esse usuário pudesse editar alguns outros arquivos no diretório pessoal de outro usuário, então usei este comando para montá-lo e dar a ele permissões.
sudo mount -o bind /home/other/share /home/test/share
sudo chgrp -R testgroup /home/test/share
sudo chmod -R g+rwx /home/test/share
O diretório de compartilhamento é de propriedade de outro, mas o grupo é testgroup (teste e outros usuários). (Octal rwxrwxr-x 0775)
Mas meu problema é que o usuário de teste não pode modificar nenhum arquivo no diretório de compartilhamento (/ home / test / share)
Obrigado,
Edit: saída de alguns comandos (logado como test
user):
id –a
uid=1000(server) gid=1000(server) groups=1000(server),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare),1001(testgroup)
ls –la
drwxrwxr-x 21 server testgroup 4096 Jun 23 16:36 .
drwxr-xr-x 5 root root 4096 Jun 19 16:56 ..
drwxrwxr-x 7 server testgroup 4096 Jun 23 16:35 folder
Tags mount chroot sftp linux file-permissions