【原创】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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值