mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
parent
b1b70182c8
commit
6810e37aee
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Convert a Samba 1.9.18 smbpasswd file format into
|
||||
# a Samba 2.0 smbpasswd file format.
|
||||
# Read from stdin and write to stdout for simplicity.
|
||||
# Set the last change time to 0x363F96AD to avoid problems
|
||||
# with trying to work out how to get the seconds since 1970
|
||||
# in awk or the shell. JRA.
|
||||
#
|
||||
nawk 'BEGIN {FS=":"}
|
||||
{
|
||||
if( $0 ~ "^#" ) {
|
||||
print $0
|
||||
} else {
|
||||
printf( "%s:%s:%s:%s:[U ]:LCT-363F96AD:\n", $1, $2, $3, $4);
|
||||
}
|
||||
}'
|
Loading…
Reference in New Issue
Block a user