Очевидно, що Nautilus працює як локальний кореневий обліковий запис (з sudo, gksu тощо) не надасть вам root доступу на сервері.
Проблема полягає в тому, що сервер SFTP в OpenSSH (до якого підключається Nautilus) не підтримує такі команди, як sudo
- це не середовище оболонки. Те, що ви просите просто, неможливо через стандартні механізми.
Однак ви не без варіантів. Я не впевнений, наскільки ви знайомі з SSH, але ви можете тунелювати порти назад через з'єднання, щоб ви могли нормально підключитися, запустити простий FTP-сервер як корінь і тунель все, що повертається на ваш комп'ютер через SSH. Звучить жахливо, але це досить просто.
На сервері запустіть:
# newer Ubuntu installs:
sudo apt-get install python-pyftpdlib
# older Ubuntu installs
sudo apt-get install python-pip
sudo pip install pyftpdlib
Потім з комп'ютера просто запустіть коротку команду SSH:
# If you installed with pip
ssh -tL localhost:2121:localhost:2121 -L localhost:21212:localhost:21212 user@server "sudo python -m pyftpdlib -i localhost -w -p 2121 -r 21212-21212 -d /"
# If you installed with apt-get (and pyftpdlib is pre-1.3, true in 13.10)
ssh -tL localhost:2121:localhost:2121 -L localhost:21212:localhost:21212 user@server "sudo python -m pyftpdlib.ftpserver -i localhost -w -p 2121 -r 21212-21212 -d /"
А потім у Nautilus (на комп’ютері) підключіться до ftp://localhost:2121
. Магія SSH передасть це на FTP-сервер, що працює як root.
Є й інші протоколи (я витратив деякий час на пошуки кращого), але FTP - це найпростіше встати та працювати завдяки великій частині pyftpdlib
. Ви можете зробити подібні речі з webdav та ін., Я впевнений ... Це було б набагато більше злому.