Rõ ràng việc chạy Nautilus làm tài khoản root cục bộ của bạn (với sudo, gksu, v.v.) sẽ không cung cấp cho bạn quyền truy cập root trên máy chủ.
Vấn đề là máy chủ SFTP trong OpenSSH (là thứ mà Nautilus đang kết nối) không hỗ trợ các lệnh như sudo
- đó không phải là môi trường shell. Những gì bạn yêu cầu đơn giản là không thể thông qua các cơ chế tiêu chuẩn.
Tuy nhiên bạn không phải là không có lựa chọn. Tôi không chắc bạn quen với SSH như thế nào nhưng bạn có thể chuyển các cổng qua một kết nối để bạn có thể kết nối bình thường, chạy một máy chủ FTP đơn giản như root và đường hầm tất cả trở lại máy tính của bạn qua SSH. Nghe có vẻ kinh khủng nhưng nó khá đơn giản.
Trên máy chủ, chạy:
# newer Ubuntu installs:
sudo apt-get install python-pyftpdlib
# older Ubuntu installs
sudo apt-get install python-pip
sudo pip install pyftpdlib
Sau đó, từ máy tính của bạn, chỉ cần chạy một lệnh SSH ngắn:
# 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 /"
Và sau đó trong Nautilus (trên máy tính của bạn), kết nối với ftp://localhost:2121
. Sự kỳ diệu của SSH sẽ chuyển tiếp đến máy chủ FTP đang chạy bằng root.
Có các giao thức khác (tôi đã dành một thời gian để tìm kiếm một giao thức tốt hơn) nhưng FTP là cách dễ nhất để khởi động và chạy nhờ phần lớn vào pyftpdlib
. Bạn có thể làm những điều tương tự với webdav et al, tôi chắc chắn ... Nó sẽ chỉ là hack nhiều hơn xung quanh.