ftpinit.c

来自「linux先ftp客户端,实现文件上传下载,建立目录,实现互联网文件共享」· C语言 代码 · 共 44 行

C
44
字号
#include "MyFtpSvr.h"

void FtpInit(int sockControl,char *g_path)
{
	struct passwd *pUser;
	char szSvrMsg[64]={0};
	char userName[12]={0};
	int iLen;
	
	strcpy(szSvrMsg,"220 (MyFTP.1.2.1)\r\n");
	Send(sockControl,szSvrMsg,strlen(szSvrMsg),0);

	memset(szSvrMsg,'\0',sizeof(szSvrMsg));
	Recv(sockControl,szSvrMsg,sizeof(szSvrMsg),0);

	//通过客户端传来的用户名,获得用户的登陆目录
	strcpy(userName,szSvrMsg+5);
	iLen=strlen(userName);
	userName[iLen-2]='\0';
	userName[iLen-1]='\0';
	pUser=getpwnam(userName);
	strcpy(g_path,pUser->pw_dir);

	//设置用户的文件修改权限
	/*setuid(pUser->pw_uid);
    seteuid(pUser->pw_uid);
    setgid(pUser->pw_gid);
    setegid(pUser->pw_gid);
	*/
	endpwent();
	strcpy(szSvrMsg,"331 Please specify the password\r\n");
	Send(sockControl,szSvrMsg,strlen(szSvrMsg),0);
	
	Recv(sockControl,szSvrMsg,sizeof(szSvrMsg),0);
	
	strcpy(szSvrMsg,"230 Login successful. Have fun\r\n");
	Send(sockControl,szSvrMsg,strlen(szSvrMsg),0);
	
	Recv(sockControl,szSvrMsg,sizeof(szSvrMsg),0);

	strcpy(szSvrMsg,"215 UNIX Type: L8\r\n");
	Send(sockControl,szSvrMsg,strlen(szSvrMsg),0);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?