--- loncom/lcuserdel	2000/10/30 03:37:51	1.12
+++ loncom/lcuserdel	2002/10/07 01:52:28	1.14
@@ -119,15 +119,16 @@ system('/usr/sbin/userdel',$safeusername
 system('/usr/sbin/groupdel',$safeusername); # ignore error message
 
 # Remove entry from /etc/smbpasswd if it exists
-my $oldsmbpasswd=`/bin/cat /etc/smbpasswd`;
-my $newsmbpasswd=`/bin/grep -v '^${safeusername}:' /etc/smbpasswd`;
-
-if ($oldsmbpasswd ne $newsmbpasswd) {
-    open OUT,">/etc/smbpasswd";
-    print OUT $newsmbpasswd;
-    close OUT;
+#  the safest way to do this is with smbpasswd -x
+#  as that's independent of location of the smbpasswd file.
+#
+if (-e '/usr/bin/smbpasswd') {
+  ($>,$<) = (0,0);		# fool smbpasswd to think this is not setuid.
+  system('/usr/bin/smbpasswd -x '.$safeusername);
+  $< = $wwwid;
 }
 
+
 # Change ownership on directory from username:username to www:www
 # This prevents subsequently added users from having access.