mirror of
https://github.com/samba-team/samba.git
synced 2025-03-07 00:58:40 +03:00
s3:script: Remove findsmb from default installation
This tool is the only client tool which requires perl. Distributions are removing perl from the default installation now. Also this is a wrapper around nmblookup which is obsolete in the AD world. However it might still be used by someone so move it just to examples/scripts/nmb/ Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Mon Apr 19 14:37:04 UTC 2021 on sn-devel-184
This commit is contained in:
parent
aa2ab7feb1
commit
cc4e6a900a
@ -186,13 +186,6 @@
|
||||
can be used to maintain the local user database on
|
||||
a Samba server.</para></listitem></varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><citerefentry><refentrytitle>findsmb</refentrytitle>
|
||||
<manvolnum>1</manvolnum></citerefentry></term>
|
||||
<listitem><para>The <command>findsmb</command> command
|
||||
can be used to find SMB servers on the local network.
|
||||
</para></listitem></varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><citerefentry><refentrytitle>net</refentrytitle>
|
||||
<manvolnum>8</manvolnum></citerefentry></term>
|
||||
|
@ -5,7 +5,6 @@ manpages='''
|
||||
manpages/cifsdd.8
|
||||
manpages/dbwrap_tool.1
|
||||
manpages/eventlogadm.8
|
||||
manpages/findsmb.1
|
||||
manpages/idmap_ad.8
|
||||
manpages/idmap_autorid.8
|
||||
manpages/idmap_hash.8
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!@PERL@
|
||||
#!/usr/bin/env perl
|
||||
#
|
||||
# Prints info on all smb responding machines on a subnet.
|
||||
# This script needs to be run on a machine without nmbd running and be
|
||||
@ -13,14 +13,14 @@
|
||||
# local master browsers for that workgroup. There will be an "*" in front
|
||||
# of the workgroup name for machines that are the domain master browser for
|
||||
# that workgroup.
|
||||
#
|
||||
#
|
||||
# Options:
|
||||
#
|
||||
# -d|-D enable debug
|
||||
# -r add -r option to nmblookup when finding netbios name
|
||||
#
|
||||
|
||||
$SAMBABIN = "@BINDIR@";
|
||||
$SAMBABIN = "/usr/bin";
|
||||
|
||||
for ($i = 0; $i < 2; $i++) { # test for -d and -r options
|
||||
$_ = shift;
|
||||
@ -38,7 +38,7 @@ if ($_) { # set broadcast address if it was specified
|
||||
|
||||
######################################################################
|
||||
# do numeric sort on last field of IP address
|
||||
sub ipsort
|
||||
sub ipsort
|
||||
{
|
||||
@t1 = split(/\./,$a);
|
||||
@t2 = split(/\./,$b);
|
||||
@ -48,7 +48,7 @@ sub ipsort
|
||||
|
||||
# look for all machines that respond to a name lookup
|
||||
|
||||
open(NMBLOOKUP,"$SAMBABIN/nmblookup $BCAST '*' --debuglevel=0|") ||
|
||||
open(NMBLOOKUP,"$SAMBABIN/nmblookup $BCAST '*' --debuglevel=0|") ||
|
||||
die("Can't run nmblookup '*'.\n");
|
||||
|
||||
# get rid of all lines that are not a response IP address,
|
||||
@ -68,10 +68,10 @@ foreach $ip (@ipaddrs) # loop through each IP address found
|
||||
|
||||
# find the netbios names registered by each machine
|
||||
|
||||
open(NMBLOOKUP,"$SAMBABIN/nmblookup $R_OPTION -A $ip --debuglevel=0|") ||
|
||||
open(NMBLOOKUP,"$SAMBABIN/nmblookup $R_OPTION -A $ip --debuglevel=0|") ||
|
||||
die("Can't get nmb name list.\n");
|
||||
@nmblookup = <NMBLOOKUP>;
|
||||
close NMBLOOKUP;
|
||||
close NMBLOOKUP;
|
||||
|
||||
# get the first <00> name
|
||||
|
||||
@ -80,7 +80,7 @@ foreach $ip (@ipaddrs) # loop through each IP address found
|
||||
|
||||
if ($_) { # we have a netbios name
|
||||
if (/GROUP/) { # is it a group name
|
||||
($name, $aliases, $type, $length, @addresses) =
|
||||
($name, $aliases, $type, $length, @addresses) =
|
||||
gethostbyaddr(pack('C4',split('\.',$ip)),2);
|
||||
if (! $name) { # could not get name
|
||||
$name = "unknown nis name";
|
||||
@ -92,7 +92,7 @@ foreach $ip (@ipaddrs) # loop through each IP address found
|
||||
/(.{1,15})\s+<00>\s+/;
|
||||
$name = $1;
|
||||
$name =~ s/^\s+//g;
|
||||
}
|
||||
}
|
||||
|
||||
# do an smbclient command on the netbios name.
|
||||
|
||||
@ -146,7 +146,7 @@ foreach $ip (@ipaddrs) # loop through each IP address found
|
||||
|
||||
} else { # no netbios name found
|
||||
# try getting the host name
|
||||
($name, $aliases, $type, $length, @addresses) =
|
||||
($name, $aliases, $type, $length, @addresses) =
|
||||
gethostbyaddr(pack('C4',split('\.',$ip)),2);
|
||||
if (! $name) { # could not get name
|
||||
$name = "unknown nis name";
|
||||
@ -157,5 +157,4 @@ foreach $ip (@ipaddrs) # loop through each IP address found
|
||||
}
|
||||
print "$ip".' 'x(16-length($ip))."$name\n";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -13,7 +13,7 @@
|
||||
|
||||
<refnamediv>
|
||||
<refname>findsmb</refname>
|
||||
<refpurpose>list info about machines that respond to SMB
|
||||
<refpurpose>list info about machines that respond to SMB
|
||||
name queries on a subnet</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
@ -26,19 +26,19 @@
|
||||
|
||||
<refsect1>
|
||||
<title>DESCRIPTION</title>
|
||||
|
||||
|
||||
<para>This perl script is part of the <citerefentry>
|
||||
<refentrytitle>samba</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
||||
suite.</para>
|
||||
|
||||
<para><command>findsmb</command> is a perl script that
|
||||
prints out several pieces of information about machines
|
||||
prints out several pieces of information about machines
|
||||
on a subnet that respond to SMB name query requests.
|
||||
It uses <citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
and <citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
to obtain this information.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>OPTIONS</title>
|
||||
@ -49,16 +49,16 @@
|
||||
<listitem><para>Controls whether <command>findsmb</command> takes
|
||||
bugs in Windows95 into account when trying to find a Netbios name
|
||||
registered of the remote machine. This option is disabled by default
|
||||
because it is specific to Windows 95 and Windows 95 machines only.
|
||||
because it is specific to Windows 95 and Windows 95 machines only.
|
||||
If set, <citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
will be called with <constant>-B</constant> option.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>subnet broadcast address</term>
|
||||
<listitem><para>Without this option, <command>findsmb
|
||||
</command> will probe the subnet of the machine where
|
||||
</command> will probe the subnet of the machine where
|
||||
<citerefentry><refentrytitle>findsmb</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
is run. This value is passed to
|
||||
is run. This value is passed to
|
||||
<citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
as part of the <constant>-B</constant> option.</para></listitem>
|
||||
</varlistentry>
|
||||
@ -68,38 +68,38 @@
|
||||
<refsect1>
|
||||
<title>EXAMPLES</title>
|
||||
|
||||
<para>The output of <command>findsmb</command> lists the following
|
||||
information for all machines that respond to the initial
|
||||
<command>nmblookup</command> for any name: IP address, NetBIOS name,
|
||||
<para>The output of <command>findsmb</command> lists the following
|
||||
information for all machines that respond to the initial
|
||||
<command>nmblookup</command> for any name: IP address, NetBIOS name,
|
||||
Workgroup name, operating system, and SMB server version.</para>
|
||||
|
||||
<para>There will be a '+' in front of the workgroup name for
|
||||
machines that are local master browsers for that workgroup. There
|
||||
will be an '*' in front of the workgroup name for
|
||||
machines that are the domain master browser for that workgroup.
|
||||
Machines that are running Windows for Workgroups, Windows 95 or
|
||||
Windows 98 will
|
||||
not show any information about the operating system or server
|
||||
<para>There will be a '+' in front of the workgroup name for
|
||||
machines that are local master browsers for that workgroup. There
|
||||
will be an '*' in front of the workgroup name for
|
||||
machines that are the domain master browser for that workgroup.
|
||||
Machines that are running Windows for Workgroups, Windows 95 or
|
||||
Windows 98 will
|
||||
not show any information about the operating system or server
|
||||
version.</para>
|
||||
|
||||
<para>The command with <constant>-r</constant> option
|
||||
must be run on a system without <citerefentry>
|
||||
<refentrytitle>nmbd</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry> running.
|
||||
</citerefentry> running.
|
||||
|
||||
If <command>nmbd</command> is running on the system, you will
|
||||
only get the IP address and the DNS name of the machine. To
|
||||
get proper responses from Windows 95 and Windows 98 machines,
|
||||
If <command>nmbd</command> is running on the system, you will
|
||||
only get the IP address and the DNS name of the machine. To
|
||||
get proper responses from Windows 95 and Windows 98 machines,
|
||||
the command must be run as root and with <constant>-r</constant>
|
||||
option on a machine without <command>nmbd</command> running.</para>
|
||||
|
||||
<para>For example, running <command>findsmb</command>
|
||||
<para>For example, running <command>findsmb</command>
|
||||
without <constant>-r</constant> option set would yield output similar
|
||||
to the following</para>
|
||||
|
||||
<programlisting>
|
||||
IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION
|
||||
---------------------------------------------------------------------
|
||||
IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION
|
||||
---------------------------------------------------------------------
|
||||
192.168.35.10 MINESET-TEST1 [DMVENGR]
|
||||
192.168.35.55 LINUXBOX *[MYGROUP] [Unix] [Samba 2.0.6]
|
||||
192.168.35.56 HERBNT2 [HERB-NT]
|
||||
@ -135,10 +135,10 @@ IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION
|
||||
|
||||
<refsect1>
|
||||
<title>AUTHOR</title>
|
||||
|
||||
<para>The original Samba software and related utilities
|
||||
|
||||
<para>The original Samba software and related utilities
|
||||
were created by Andrew Tridgell. Samba is now developed
|
||||
by the Samba Team as an Open Source project similar
|
||||
by the Samba Team as an Open Source project similar
|
||||
to the way the Linux kernel is developed.</para>
|
||||
</refsect1>
|
||||
|
@ -10,16 +10,3 @@ bld.INSTALL_FILES('${BINDIR}',
|
||||
bld.SAMBA_SCRIPT('smbaddshare', pattern='smbaddshare', installdir='.')
|
||||
bld.SAMBA_SCRIPT('smbchangeshare', pattern='smbchangeshare', installdir='.')
|
||||
bld.SAMBA_SCRIPT('smbdeleteshare', pattern='smbdeleteshare', installdir='.')
|
||||
|
||||
sed_expr1 = 's#@PERL@#/usr/bin/env perl#'
|
||||
sed_expr2 = 's#@BINDIR@#${BINDIR}#'
|
||||
|
||||
bld.SAMBA_GENERATOR('findsmb-script',
|
||||
source='findsmb.in',
|
||||
target='findsmb',
|
||||
rule='sed -e "%s" -e "%s" ${SRC} > ${TGT}' % (sed_expr1, sed_expr2))
|
||||
|
||||
bld.INSTALL_FILES('${BINDIR}',
|
||||
'findsmb',
|
||||
destname='findsmb',
|
||||
chmod=MODE_755)
|
||||
|
Loading…
x
Reference in New Issue
Block a user