命令行登录FTP下,如何远程执行服务器上的可执行文件?不是在本机执行,而是远程执行,命令是什么呢。求高

命令行登录FTP下,如何远程执行服务器上的可执行文件?不是在本机执行,而是远程执行,命令是什么呢。求高,第1张

ftp是可以远程执行文件的,前提条件是你登陆的用户拥有“执行”权限,具体命令是:

quote

site

exec

exe

(你要执行的exe文件,bat也可以)。

说ftp不能执行是对ftp协议本身不够了解,其实用过ftp服务器端软件(例如serv-u)的人一定注意过,在设置用户权限的时候有一项是“执行”,如果这一项选中,那么本用户就拥有了执行远程服务器程序的权限。然而使用很多ftp客户端软件执行命令的时候都是在本地执行的,所以让很多人误解ftp不能在远程执行,这是客户端软件的问题,与ftp协议无关。所以用以上命令在命令行是能够在远程计算机执行命令的。

另外说ftp执行是漏洞,这也是片面的。实际应该是ftp协议本身提供执行的命令,但是这本身是非常不安全的,做为操作系统(甚至所有服务器端软件)应该将这种权限设为对一般客户不可见。只有特殊权限的用户才能访问,这样才是软件本身应提供的功能。

架设一台FTP服务器其实很简单。首先,要保证你的机器能上网,而且有不低于ADSL 512Kbps的网络速度。其次,硬件性能要能满足你的需要。最后,需要安装FTP服务器端的软件,这类软件很多,可以使用微软的IIS(Internet Information Server 因特网信息服务系统),也可以使用专业软件。不同的软件提供的功能不同,适应的需求和操作系统也不同。一般来说,系统最低要求如下:

CPU:PⅢ 450MHz以上

内存:256MB SDRAM以上

带宽:ADSL 512Kbps以上

至于操作系统,Windows 98/Me/NT/2000/XP均可,如果对服务器的性能和安全性要求很低,可以采用Windows 98和Windows Me。本文中,如无特殊说明,均以Windows XP专业版为操作系统,其余操作系统下FTP服务器的架设及设置均大同小异。

一、用IIS架设

如果只是想建个小型的同时在线用户数不超过10个的FTP服务器,且不会同时进行大流量的数据传输,可以用IIS 5.0作为服务器软件来架设(IIS只适用于Windows NT/2000/XP操作系统)。

1.安装

Windows XP默认安装时不安装IIS组件,需要手工添加安装。进入控制面板,找到“添加/删除程序”,打开后选择“添加/删除Windows组件”,在弹出的“Windows组件向导”窗口中,将“Internet信息服务(IIS)”项选中。在该选项前的“√”背景色是灰色的,这是因为Windows XP默认并不安装FTP服务组件。再点击右下角的“详细信息”,在弹出的“Internet信息服务(IIS)”窗口中,找到“文件传输协议(FTP)服务”,选中后确定即可。

安装完后需要重启。Windows NT/2000和Windows XP的安装方法相同。

2.设置

电脑重启后,FTP服务器就开始运行了,但还要进行一些设置。点击“开始→所有程序→管理工具→Internet信息服务”,进入“Internet信息服务”窗口后,找到“默认FTP站点”,右击鼠标,在弹出的右键菜单中选择“属性”。在“属性”中,我们可以设置FTP服务器的名称、IP、端口、访问账户、FTP目录位置、用户进入FTP时接收到的消息等。

1)FTP站点基本信息

进入“FTP站点”选项卡,其中的“描述”选项为该FTP站点的名称,用来称呼你的服务器,可以随意填,比如“我的小站”;“IP地址”为服务器的IP,系统默认为“�全部未分配 ”,一般不须改动,但如果在下拉列表框中有两个或两个以上的IP地址时,最好指定为公网IP;“TCP端口”一般仍设为默认的21端口;“连接”选项用来设置允许同时连接服务器的用户最大连接数;“连接超时”用来设置一个等待时间,如果连接到服务器的用户在线的时间超过等待时间而没有任何操作,服务器就会自动断开与该用户的连接。

2)设置账户及其权限

很多FTP站点都要求用户输入用户名和密码才能登录,这个用户名和密码就叫账户。不同用户可使用相同的账户访问站点,同一个站点可设置多个账户,每个账户可拥有不同的权限,如有的可以上传和下载,而有的则只允许下载。

3)安全设定

进入“安全账户”选项卡,有“允许匿名连接”和“仅允许匿名连接”两项,默认为“允许匿名连接”,此时FTP服务器提供匿名登录。“仅允许匿名连接”是用来防止用户使用有管理权限的账户进行访问,选中后,即使是Administrator(管理员)账号也不能登录,FTP只能通过服务器进行“本地访问”来管理。至于“FTP站点操作员”选项,是用来添加或删除本FTP服务器具有一定权限的账户。IIS与其他专业的FTP服务器软件不同,它基于Windows用户账号进行账户管理,本身并不能随意设定FTP服务器允许访问的账户,要添加或删除允许访问的账户,必须先在操作系统自带的“管理工具”中的“计算机管理”中去设置Windows用户账号,然后再通过“安全账户”选项卡中的“FTP站点操作员”选项添加或删除。但对于Windows 2000和Windows XP专业版,系统并不提供“FTP站点操作员”账户添加与删除功能,只提供Administrator一个管理账号。

提示:匿名登录一般不要求用户输入用户名和密码即可登录成功,若需要,可用“anonymous”作为用户名,以任意电子邮件地址为密码来登录。

4)设置用户登录目录

最后设置FTP主目录(即用户登录FTP后的初始位置),进入“主目录”选项卡,在“本地路径”中选择好FTP站点的根目录,并设置该目录的读取、写入、目录访问权限。“目录列表样式”中“UNIX”和“MS-DOS”的区别在于:假设将G�\Ftp设为站点根目录,则当用户登录FTP后,前者会使主目录显示为“\”,后者显示为“G�\Ftp”。

设置完成后,FTP服务器就算真正建成了。如果前面IP地址为218.1.1.1,则用户使用FTP客户端软件(用来登录FTP服务器的上传/下载软件,如CuteFTP、FlashFXP等,如无特别说明,本文中所称FTP客户端软件均以CuteFTP Pro 2.0为例)时,主机处填218.1.1.1,端口填21,此服务器的地址表述为:ftp�//218.1.1.1�21。IIS虽然安装简单,设置较简便,但功能不强,管理也很麻烦,尤其是连新建一个基本的授权访问账户都要进行繁杂的设置,而且IIS本身的安全性也比较差,容易受到诸如“红色代码”等专门针对IIS漏洞进行攻击的病毒侵袭,因而很多人都喜欢使用第三方的FTP服务器软件来架设。

众所周知SFTP账号是基于SSH账号的,所以在默认情况下访问服务器的权限是非常大的。下面为SFTP用户权限设置方法。

必要条件:

你的openssh-server版本至少得失48p1, 因为配置权限需要版本添加的新配置项ChrootDirectory来完成。

如何查看自己服务器上的ssh版本?大家可以尝试以下命令:

$ ssh -V

具体实施步骤:

1 我们需要创建一个用户组,专门用于sftp用户

$ groupadd sftpusers

2 我们创建一个用户test

$ useradd -s /bin/false -G sftpuser test

注意这里我们将test用户的shell设置为/bin/false使他没有登陆shell的权限

3 编辑 /etc/ssh/sshd_config

找到Subsystem这个配置项,将其修改为

Subsystem sftp internal-sftp

然后再到文件最尾处增加配置设定属于用户组sftpusers的用户都只能访问他们自己的home文件夹

Match Group sftpusers

ChrootDirectory %h

ForceCommand internal-sftp

AllowTcpForwarding no

保存并关闭文件

4 修改test用户home文件夹的权限,让其属于root用户

chown root ~test

5 重启sshd服务

$ service sshd restart

6 测试用户账号

$ ssh test@localhost

连接会被拒绝或者无法登陆

$ sftp tesst@localhost

登陆后你会发现你的账号无法切换到除自己home目录之外的地方的

常见问题:

如果你链接服务器的时候出现下面的提示:

Write failed: Broken pipe

Couldn't read packet: Connection reset by peer

这个问题的原因是ChrootDirectory的权限问题,你设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root, 权限是 750 或者 755。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 命令行登录FTP下,如何远程执行服务器上的可执行文件?不是在本机执行,而是远程执行,命令是什么呢。求高

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情