2011-06-28 57 views
-2

您好我有一個C程序,我從服務器上scp'd回到我的客戶機。我的客戶端機器運行的是一個ubuntu shell,等等等等不重要..用linux命令將文件類型更改爲C可執行文件

操作系統當前將C可執行文件視爲純文件。我該如何改變這一點。

注意:我的許多操作系統外殼功能已被剝離...所以請隨時發佈多個解決方案。注意2:沒有辦法將scp或cp文件保存爲可執行文件(由於我的設置非常特殊)。

非常感謝。

+1

/lib/ld-linux.so.2 your.executable – osgx

+2

沒有「C可執行文件」這樣的東西。只有可執行文件。確保您的桌面和服務器與兼容系統(用於相關庫)的架構相同(適用於二進制文件)。 –

回答

2

chmod +x ./file應該給它。任何類型的Unix應該有一些chmod

+1

或添加.exe如果您的運行窗口 –

+0

chmod已被刪除。 – Rell3oT

+1

@ Rell3oT:你必須在chroot或監獄之類的東西里面。這很不尋常。 –

1

Unix/Linux不知道任何「filetype可執行文件」。你的意思是,像cnicutar回答,+的標誌。

此標誌標誌着您的二進制as exectuable。這個標誌只是一個文件權限,被稱爲執行,你需要它來運行二進制文件。

如果在scp之後沒有剩下+ x標記,系統管理員可能已將標記noexec設置爲文件系統,以防止運行任何不可信的軟件。

+1

如果他可以運行cp或scp,有一個'ld-linux.so.2'。請問ld-linux.so.2在'noexec' fs上啓動一個文件? – osgx

+1

我從來沒有見過只有一個文件系統的系統,而不是如果我給用戶shell帳戶。 –

+1

不,ld-linux.so.2不會從noexec fs文件中加載文本段。但是如果Rell3oT沒有noexec? – osgx

相關問題