1. 密码管理相关指令
1. 更新用户密码: sudo passwd [用户名] 2.查看当前用户密码状态: passwd -S /* 用户名| 密码状态 |密码最后修改时间|密码最小 |密码最大 |警告时间 |失效时间 | | P:只有一个密码 | | 生存期(天) |生存期(天) | |(-1表示不失效) | | NP:没有密码 | | | | | */ imx6ul P 11/22/2018 0 99999 7 -1 3.删除用户密码 sudo passwd -d [用户名] 4.批量更新密码 (1)先创建用户密码对应文件,格式为username:password,如abc:abc123,不能有空行,保存成文本文件user.txt。 (2)然后执行chpasswd命令 chpasswd < user.txt
2. 更新用户密码函数
1 #include <stdio.h> //popen、pclose、 2 #include <stdlib.h> //system 3 #include <string.h> //strerror 4 #include <errno.h> //errno 5 6 void UpdatePasswd() 7 { 8 char nBuf[128] = {0}; 9 FILE *pFd = NULL; 10 pFd = popen("passwd -S","r"); //查看当前用户密码状态 11 if(pFd != NULL) 12 { 13 if(fgets(nBuf,sizeof(nBuf),pFd) > 0) //得到命令的执行结果 14 { 15 if(strstr(nBuf,"NP") > 0) //NP:没有设置密码,strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串 16 { 17 LOG_FLOW("PASSWD Not Set,Start Set PASSWD\n"); 18 system("echo 'imx6ul:123456'|chpasswd"); //chpasswd命令来批量修改密码 19 } 20 } 21 else 22 { 23 LOG_FLOW("Passwd already set."); 24 } 25 pclose(pFd); 26 } 27 else 28 { 29 LOG_ERROR("Check passwd status error with %s.",strerror(errno)); 30 } 31 }
标签:pFd,nBuf,管理,passwd,密码,include,chpasswd From: https://www.cnblogs.com/dkhlaojogo/p/16895948.html