当前位置: 首页 > 面试题库 >

如何使用C / C ++创建Linux用户?

养昊天
2023-03-14
问题内容

我想构建一个 使用用户名作为参数程序,并创建用户及其主文件夹
(具有一些诸如文件夹之类的硬编码规范,以及诸如用户名之类的安全检查不能是root或现有用户)。

我的应用程序需要创建用户才能授予SSH访问权限。

该程序将使用 sudo 执行。我读过它应该用C或C ++而不是脚本编写,因为脚本很容易被利用。

  • 您能给我 一些建议或好的做法 吗?
  • 我应该使用一些 Pam 库吗?有没有例子?
  • 可能存在 哪些 安全漏洞?

我知道C / C ++,并且正在运行Ubuntu Lucid。

编辑:

用户只有sudo权限才能运行该特定命令,我不希望它能够运行Shell或绕过某些程序(例如,通过更改PATH环境)。

结果,例如,我将需要覆盖 PATH我还要担心什么?


问题答案:

最好的选择是调用useradd。它将做正确的事情(给定适当的参数)。

尝试通过调用适当的API手动创建一个是可能的,但不是可取的。



 类似资料:
  • 问题内容: 我想要一种简单的方法来在C ++ / Linux中创建多个目录。 例如,我想在目录中保存文件lola.file: 但是如果目录不存在,我希望它们可以自动创建。一个可行的例子将是完美的。 问题答案: 这是一个可以用C ++编译器编译的C函数。 宏和是对的错误检查版本,并在中声明(并在和中实现)。该标头处理的是旧版本,可以在现代Unix系统上替换(但是在1990年有很多问题)。并声明。 v

  • 我编写了一个RESTAPI。NET Core现在需要创建一个推送通知到Firebase Cloud Messaging(FCM)。对于测试,我使用Firebase控制台,但我需要通过编程来完成。我已经通过谷歌浏览了Firebase的文档和一些例子,但我更困惑了。 我认为可以通过常规创建消息,但有人可以发布一个简单的工作示例以便我可以拿起它吗?或者也许,我的理解完全错误?

  • 本文向大家介绍使用OpenGL创建窗口 C ++,包括了使用OpenGL创建窗口 C ++的使用技巧和注意事项,需要的朋友参考一下 在OpenGL上制作任何程序的基本步骤是创建一个窗口,所有代码都将在其中工作,因此我们如何创建它?在您的机器上安装OpenGL库之后(Ubuntu的OpenGL安装指南:如何在Ubuntu中安装OpenGL),我们可以开始了。 首先让我们了解如何构建OpenGL程序吗

  • 问题内容: 如何使用ac api(或与此相关的任何其他语言)获得与命令相似的功能?我需要的不仅仅是信息;特别是与SMTP相关的数据。 问题答案: 如果阻塞(同步)查询没问题,只需使用,然后将程序与- lresolv链接即可。

  • 问题内容: 如何使用Python在Linux中创建用户?我的意思是,我了解子流程模块,并考虑过调用“ adduser”并立即传递所有参数,但是“ adduser”命令会询问一些问题,例如密码,全名,电话和其他东西。我将如何使用子流程回答这个问题?我在以下问题中看到了名为pexpect的模块:我可以将Python用作Bash的替代品吗?。还有其他标准模块吗? 问题答案: 使用,它不会提出任何问题,但

  • 我一直试图简单地打开一个文件在一个C++非常基本的代码,代码是建立正常的,但当它运行,文件不是创建。请注意,我以前处理过文件,从来没有遇到过这个问题。 输出总是错误!