gpt4 book ai didi

c++ - 如何使用 C/C++ 创建 linux 用户?

转载 作者:IT王子 更新时间:2023-10-29 00:16:42 25 4
gpt4 key购买 nike

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

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

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

  • 关于如何实现这一点,您能给我一些建议或好的做法吗?
  • 我应该使用一些 Pam 库吗?有没有例子?
  • 可能的安全漏洞是什么?

我了解 C/C++,并运行 Ubuntu Lucid。

编辑:

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

因此,例如,我需要覆盖 PATH我还应该担心什么?

最佳答案

最好的办法可能是调用 useradd;它会做正确的事情(给定适当的参数)。

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

关于c++ - 如何使用 C/C++ 创建 linux 用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3454089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com