本文主要是介绍【原创】samba移植到android流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考这一篇文章http://blog.csdn.net/jk198310/article/details/15809341然后结合自己实际操作过程中遇到的一些问题总结出来这个流程
最近做一个关于把samba服务移植到安卓项目,网上不乏一些文章,但是照着文章做还是会出现好多问题,不得不各种百度,google,终于克服困难成功运行起来,
所以把自己记得的流程记录下来,结合网上一些文章总结,并将自己实际遇到的问题贴出来;
废话少说
下面是具体流程:
我用的samba包是samba-3.5.9,交叉编译工具包是arm-linux-gcc-4.4.3.tar.gz
首先解压samba-3.5.9.tar.gz,进入到 samba-3.5.9目录下的source3目录下
:~/programfiles$ cd samba-3.5.9/source3/
:~/programfiles/samba-3.5.9/source3$
source3/lib/system.c作修改4个函数
lib/system.c
中的4个函数
struct passwd *sys_getpwnam(const char *name)
struct passwd *sys_getpwuid(uid_t uid)
struct group *sys_getgrnam(const char *name)
struct group *sys_getgrgid(gid_t gid)
为了避免出错,建议先备份system.文件,或者像我这样把原始四个函数注释掉,然后添加修改后的函数,如下:
/*
struct passwd *sys_getpwnam(const char *name)
{
return getpwnam(name);
}
struct passwd *sys_getpwuid(uid_t uid)
{
return getpwuid(uid);
}
struct group *sys_getgrnam(const char *name)
{
return getgrnam(name);
}
struct group *sys_getgrgid(gid_t gid)
{
return getgrgid(gid);
}
*/
static struct passwd rootpw = {
"root",
"root",
0,
0,
"root",
"/root"
"/system/bin/sh",
};
struct passwd *sys_getpwnam(const char *name)
{
// return getpwnam(name);
return &rootpw;
}
struct passwd *sys_getpwuid(uid_t uid)
{
// return getpwuid(uid);
return &rootpw;
}
static char
这篇关于【原创】samba移植到android流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!