diff options
author | Jeremy Allison <jra@samba.org> | 2001-04-16 01:23:53 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-04-16 01:23:53 +0000 |
commit | 1d57235e4e742959bce9b5cae033717bb3c21ca9 (patch) | |
tree | 92663008e65d261f51b3cef4214c30d99a28f9d1 | |
parent | 879aa167954206917cce64090f1bc8736725f5d2 (diff) | |
download | samba-1d57235e4e742959bce9b5cae033717bb3c21ca9.tar.gz samba-1d57235e4e742959bce9b5cae033717bb3c21ca9.tar.xz samba-1d57235e4e742959bce9b5cae033717bb3c21ca9.zip |
Use smbpasswd command to manipulate smbpasswd file.
Jeremy.
-rw-r--r-- | source/script/addtosmbpass | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/source/script/addtosmbpass b/source/script/addtosmbpass deleted file mode 100644 index bc82851c52d..00000000000 --- a/source/script/addtosmbpass +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/awk -f -# edit the line above to point to your real location of awk interpreter - -# awk program for adding new entries in smbpasswd files -# arguments are account names to add; feed it an existent Samba password -# file on stdin, results will be written on stdout -# -# Michal Jaegermann, michal@ellpspace.math.ualberta.ca, 1995-11-09 - -BEGIN { - me = "addtosmbpass"; - count = ARGC; - FS = ":"; - - if (count == 1) { - print "Usage:", me, - "name1 [name2 ....] < smbpasswd.in > smbpasswd.out"; - ARGV[1] = "/dev/null"; - ARGC = 2; - exit; - } - - for(i = 1; i < count; i++) { - names[ARGV[i]] = " "; - delete ARGV[i]; - } -# sane awk should work simply with 'ARGC = 1', but not every awk -# implementation is sane - big sigh!! - ARGV[1] = "-"; - ARGC = 2; -# -# If you have ypmatch but is not RPC registered (some Linux systems -# for example) comment out the next line. -# "which ypmatch" | getline ypmatch; - if (1 != match(ypmatch, /^\//)) { - ypmatch = ""; - } - pwdf = "/etc/passwd"; -} -#check for names already present in input -{ - print $0; - for(name in names) { - if($1 == name) { - delete names[name]; - } - } -} -END { - fmt = "%s:%s:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:"; - fmt = fmt "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[U ]:LCT-00000000:%s:\n"; - for(name in names) { - while ((getline < pwdf) > 0) { - if ($1 == name) { - printf(fmt, $1, $3, $5); - close(pwdf); - notfound = ""; - break; - } - notfound = "n"; - } - $0 = ""; - if (notfound && ypmatch) { -# try to find in NIS databases - command = ypmatch " " name " passwd"; - command | getline; - if (NF > 0) { - printf(fmt, $1, $3, $5); - } - close(command); - } - } -} - |