2013-06-04 51 views
0

我想寫一個腳本,將SSH入主機,在那裏執行安裝操作,運行一些其他命令並退出。卸載沒有sudo

其他命令(cd,cp)不需要sudo privelages但掛載選項requries sudo權限。我想寫一個腳本,它會這樣做:

ssh [email protected] "mount -t nfs xx.xx.xx.xx:/ /nfs -o rsize=4096,wsize=4096 ; cp pqr rst ; umount /nfs ;" 

和其他一些非sudo命令。如何在沒有sudo選項的情況下執行此操作,並且在腳本運行時不輸入任何密碼。

+0

你想做什麼?如果你只是想將文件從'here'複製到'there',然後在'scp'或'rsync'循環。 – Attie

回答

1

您必須在server主機上添加/nfs條目到/etc/fstab

選擇條目的列表必須選擇userusers(取決於如果你希望用戶可以卸載文件系統或沒有)。

例子:

xx.xx.xx.xx:/ /nfs nfs rsize=4096,wsize=4096,user 0 0 
+0

但是修改/ etc/fstab需要root權限,所以這在安裝目錄或設備標識未預先知道的情況下仍然不起作用。 – matt2000

+0

@ matt2000:不,管理員可以在之前修改/ etc/fstab。當然,如果你沒有root權限,那麼掛載一個文件系統是完全不可能的(如果它在/ etc/fstab中是不允許的話),否則會導致嚴重的安全漏洞 –

+0

管理員可以添加到/ etc/fstab中以允許將未指定的設備安裝到未指定的位置? fstab允許通配符嗎?例如,桌面系統如何允許非特權用戶安裝USB驅動器等?就我所知,他們不使用fstab。當系統的唯一用戶被信任掛載設備時,這根本不是安全漏洞,而不是做其他事情。 – matt2000

-2

可以允許無需sudo的力量來安裝該用戶。

使用NOPASSWD目錄

關注這個Link

或者您可能更願意編寫expect腳本,該腳本將寫入密碼並在提示時輸入密碼。

+0

這允許用戶在沒有密碼的情況下使用sudo。他問的是如何避免sudo。 – St0rM