EasyDSS流媒体服务器Linux emerg getpwnam("xxx") failed解决办法

本文转自EasyDarwin开源团队Alex的博客:http://blog.csdn.net/cai6811376/article/details/73770943

EasyDSS 流媒体服务器是什么?

EasyDarwin如何支持点播和RTMP/HLS直播?EasyDSS!

getpwnam(“xxxxx”)

近期有EasyDSS流媒体服务器用户反应运行easydss for linux会遇到getpwnam("nobody") getpwnam("root") getpwnam("www")错误,导致easydss无法运行。

原因

以用户为nobody为例,我们使用getpwnam这个函数来获取nobody账户的账户信息,并且我们默认任务这个nobody属于nobody用户组。
这里主要分为两种情况。

  1. 在部分Linux发行版中默认无nobody用户组(如:ubuntu 14.04.1 LTS)。这里就需要添加nobody用户组,并且把nobody用户加入nobody用户组。
    命令为:
    groupadd nobody
    usermod -a -G nobody nobody
    查看用户命令为cat /etc/passwd,查看用户组为cat /etc/group
  2. 我们easydss for linux使用ubuntu 14.04 LTS编译,并且“试图”使用-static解决所有linux发行版的运行兼容问题,结果,这里就是此问题引起。

if you link your program statically to GNU libc and use name services (getpwnam() etc.), you end up linked dynamically against libc’s NSS (name service switch).

https://unix.stackexchange.com/questions/227910/will-my-linux-binary-work-on-all-distros

解决方案

  • 运行easydss for linux时,遇到getpwnam错误时,检查nobody用户和nobody组是否存在,不存在则添加。
  • 较小众或者版本较低的linux发行版,请联系EasyDarwin团队进行支持。

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDSS.com

EasyDarwin:www.EasyDarwin.org

QQ交流群:560148162

Copyright © EasyDarwin.org 2012-2017

EasyDarwin

posted @ 2017-06-27 13:27  Babosa|EasyDarwin  阅读(251)  评论(0编辑  收藏  举报