其实这些功能函数实现都没什么技术含量,直接系统调用就好,只要umask设置对就OK。

实现了这些基本的功能,应该该建立一个权限模型的时候了,这个要好好学习,复杂啊…

不然所有的操作都是unix下运行ftpserver进程的用户权限,没意义,只能个人使用了。


void do_mkdir(int connfd,char *dirname)  //mkdir
{
char *mkdok = "257 diretory created ok.\r\n";
char *mkderror = "550 Create directory operation failed.\r\n";
umask(S_IWGRP | S_IWOTH);
if( mkdir(dirname,RWXRWXRWX) == 0 )
write(connfd,mkdok,strlen(mkdok));
else
write(connfd,mkderror,strlen(mkderror));
return;
}

void do_dele(int connfd,char *delname)   //rmdir or delete file
{
char *deleok = "250 Delete operation successful.\r\n";
char *delerror = "550 Delete operation failed.\r\n";
if( remove(delname) == 0)
write(connfd,deleok,strlen(deleok));
else
write(connfd,delerror,strlen(delerror));
return;
}
转载请注明来源:Leoncom-《FtpServer的MKD,RMD,DELE实现》
Trackback

no comment untill now

Add your comment now