Ну, вот шаги, которые я сделал; проблема указана внизу.
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
Затем я отредактировал /etc/ssh/sshd_config
и добавил в конец следующее, чтобы пользователь мог только просматривать свой домашний каталог
Match group testgroup
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
затем я перезапустил SSH (sudo /etc/init.d/ssh restart
)
После этого я хотел, чтобы этот пользователь мог редактировать некоторые другие файлы в домашнем каталоге другого пользователя, поэтому я использовал эту команду для его монтирования и предоставления ему разрешений.
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
Каталог общего доступа принадлежит другому, но группа является testgroup (пользователи test & other). (Восьмеричное rwxrwxr-x 0775)
Но моя проблема в том, что тестовый пользователь не может изменять файлы в каталоге общего доступа (/home/test/share)
Спасибо,
Редактировать: вывод некоторых команд (вошли как test
пользователь):
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