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;
}

编译与运行:

  1. 使用gcc编译程序:
gcc add_users.c -o add_users
  1. 运行可执行程序:
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.html
  • openssl passwd命令:https://www.openssl.org/docs/man1.1.0/man1/openssl-passwd.html

原文地址: https://www.cveoy.top/t/topic/ngE2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录