C코드에서 쉘 명령어를 사용하기 위해서 system() 함수를 사용한다.
이 때, passwd 같이 입력 프롬프트에서 대기하는 명령어는 사용이 어렵다.
해서 passwd를 프롬프트 없이 한줄로 처리하는 방법을 포스팅한다.
echo 'password' | /usr/bin/passwd --stdin 'username'
위와 같이 하면 한줄로 패스워드 변경이 가능하다.
#include <stdio.h>
int main(void){
system("echo '123123' | /usr/bin/passwd --stdin 'test5'");
return 0;
}
[root@hong tmp]# ./a.out
test5 사용자의 비밀 번호 변경 중
passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
'OS' 카테고리의 다른 글
Windows - 윈도우10 자동업데이트 기능 끄기 (설정변경) (0) | 2016.09.01 |
---|---|
Linux - 특정 서버를 통해 ssh 접속할 때 한번에 연결하기 (pseudo terminal) (0) | 2016.09.01 |
Windows - 윈도우 작업관리자 "Microsoft Windows Search 인덱서" CPU, Memory 먹는 현상 (0) | 2016.09.01 |
Linux - 명령어 결과에서 grep으로 찾은 라인의 위 아래 라인까지 가져오기 (0) | 2016.09.01 |
Linux - CentOS ip 설정 (0) | 2016.09.01 |