2012-07-13 45 views
-2

我已經被問到this question,但我被告知,我需要創建一個proggram而不使用ssh客戶端。我怎麼說我只需要使用不同的.dll編寫純C#程序。我不知道我該怎麼做。在C#中從Windows創建Ubuntu上的用戶#

+3

要回答「如何」部分中,你首先需要知道允許哪些網絡接入方式。使用ssh作爲遠程訪問Ubuntu機器的標準方式,拒絕SSH作爲選項的方法必須首先回答你有哪些其他選項。然後你可以回到這裏並尋求如何在C#中實現它的幫助。 – 2012-07-13 17:00:33

+1

根據[其他問題](http://stackoverflow.com/questions/11363871/how-to-create-a-user-on-ubuntu-machine-from-ac-sharp-program),有人建議發佈此在[serverfault](http://serverfault.com/)上提出問題,所以你可能會有更好的運氣。 – 2012-07-13 17:00:39

+0

我可以想到許多非常不安全的方式(而且不可靠),但他們需要大量的創造力。你可以設置一個cron作業來檢查特定文件夾的文件(可能還有用FTP放置),並從該文件中的信息運行創建用戶腳本。你也可以使用數據庫和cron作業。我不會建議這個,但如果你需要做的,然後.... – Drakkainen 2012-07-13 17:04:19

回答

2

如果你想實施一個合適的解決方案,你想使用OpenLDAP

然後可以使用C#來查詢LDAP數據庫,並用它來遠程創建帳戶。

+0

這可能是最合理的解決方案。 – Drakkainen 2012-07-13 17:26:10

1

我不認爲這是可以做到的,因爲你想獲得對linux系統的遠程訪問,你需要使用ssh來訪問命令行來讓你的用戶。看看ssh,有一些好的客戶端可以讓你訪問這些窗口,我確信我找到了一些關於如何製作ssh程序的教程。

+0

我可以使用ssh dll's,但我對此一無所知。 – Alexander 2012-07-13 17:09:44

+0

我不知道這是什麼好處,但看看這個鏈接http://www.codeproject.com/Articles/11966/sharpSsh-A-Secure-Shell-SSH-library-for-NET它給源代碼不知道這是多麼有幫助。 – bobthemac 2012-07-13 17:13:33

+0

謝謝,我會看到的。 – Alexander 2012-07-13 17:21:06

1

因此,既然你不能使用SSH,現在是時候發揮創意! 我假設你有管理員權限。如果你不知道,請告訴我。

在Ubuntu盒子上建立一個數據庫(MySQL),並創建一個db/table來創建新用戶。您可以從C#插入一行到該表中。

設置一個cron作業或其他一些應用程序(以python,C++,w/e爲例),它將定期檢查該表中的新行。如果找到,則提取數據,根據該數據創建用戶,然後刪除該行。這將不得不以root身份運行,因此請小心!

我以前做過這樣的事情,它很混亂,令人費解,但它的工作,我猜。

+0

謝謝,我想如果我用MySQL來做,我會再次犯錯,因爲我需要編寫純粹的C#程序。 – Alexander 2012-07-13 17:24:30

+0

據我所知MySQL與c#工作http://www.codeproject.com/Articles/43438/Connect-C-to-MySQL – Drakkainen 2012-07-13 17:39:55

相關問題