C语言程序:批量创建Linux用户并设置密码
C语言程序:批量创建Linux用户并设置密码
本文提供一个C语言程序,该程序可以批量创建100个Linux用户,并设置初始密码为'stud123456'。程序使用sprintf函数生成用户名和密码,并通过system函数调用useradd命令添加用户。
程序代码:
#include <stdio.h>
#include <stdlib.h>
#define NUM_USERS 100
int main() {
char username[12], password[10];
int i, j;
for (i = 1; i <= NUM_USERS; i++) {
sprintf(username, "Student%02d", i); // 生成用户名
sprintf(password, "stud123456"); // 设置初始密码
// 使用useradd命令为Linux系统添加新用户
char cmd[100];
sprintf(cmd, "sudo useradd -m -p $(openssl passwd -1 %s) %s", password, username);
system(cmd);
}
return 0;
}
编译与运行:
- 使用gcc编译程序:
gcc add_users.c -o add_users
- 运行可执行程序:
sudo ./add_users
验证:
可以使用以下命令验证是否添加成功:
sudo cat /etc/passwd | grep Student
输出结果应该包含100行,每行对应一个新用户的信息。
注意:
- 该程序使用
sudo命令执行useradd,需要管理员权限才能运行。 - 请根据实际情况修改程序中
NUM_USERS的值,以控制创建用户的数量。 - 该程序设置的初始密码为'stud123456',建议在添加用户后立即更改密码,以提高安全性。
- 为了安全起见,请勿将此程序用于生产环境,因为它设置的初始密码过于简单。
实验报告:
请将程序代码、编译结果、验证结果以及实验过程的截图等内容写入实验报告中。
更多信息:
useradd命令:https://www.man7.org/linux/man-pages/man8/useradd.8.htmlopenssl passwd命令:https://www.openssl.org/docs/man1.1.0/man1/openssl-passwd.html
原文地址: https://www.cveoy.top/t/topic/ngE2 著作权归作者所有。请勿转载和采集!