Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- user { "psareel":
- ensure => "present",
- uid => "37692",
- gid => "1",
- password => "OBUxaTBWqPKf.",
- comment => "Pt Sareel",
- home => "/home/psareel",
- shell => "/usr/local/bin/bash",
- }
- run this with something like
- echo | ./shadow.awk
- ./shadow.awk <<< ""
- #!/usr/bin/awk -f
- BEGIN {
- passwd_file="/etc/passwd"
- shadow_file="shadow"
- FS=":"
- }
- {
- while (getline passwd < passwd_file) {
- if (split(passwd, passwd_array, ":") != 7) {
- print "problems reading passwd file"
- exit
- }
- user=passwd_array[1]
- uid=passwd_array[3]
- gid=passwd_array[4]
- comment=passwd_array[5]
- home=passwd_array[6]
- comment => "PolicyKit,,,",
- home => "/var/run/PolicyKit",
- shell=passwd_array[7]
- while (getline shadow < shadow_file) {
- if (split(shadow, shadow_array, ":") != 9) {
- print "problems reading shadow file"
- exit
- }
- if (shadow_array[1] == user) {
- password=shadow_array[2]
- break
- }
- }
- record=sprintf("user { \"%s\":\n", user)
- record=record "ensure => \"present\",\n"
- record=record sprintf("uid => \"%s\",\n", uid)
- record=record sprintf("gid => \"%s\",\n", gid)
- record=record sprintf("password => \"%s\",\n", password)
- record=record sprintf("comment => \"%s\",\n", comment)
- record=record sprintf("home => \"%s\",\n", home)
- record=record sprintf("shell => \"%s\",\n", shell)
- record=record "}\n"
- print record
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement