mirror of
https://github.com/samba-team/samba.git
synced 2025-03-08 04: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
|
can be used to maintain the local user database on
|
||||||
a Samba server.</para></listitem></varlistentry>
|
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>
|
<varlistentry>
|
||||||
<term><citerefentry><refentrytitle>net</refentrytitle>
|
<term><citerefentry><refentrytitle>net</refentrytitle>
|
||||||
<manvolnum>8</manvolnum></citerefentry></term>
|
<manvolnum>8</manvolnum></citerefentry></term>
|
||||||
|
@ -5,7 +5,6 @@ manpages='''
|
|||||||
manpages/cifsdd.8
|
manpages/cifsdd.8
|
||||||
manpages/dbwrap_tool.1
|
manpages/dbwrap_tool.1
|
||||||
manpages/eventlogadm.8
|
manpages/eventlogadm.8
|
||||||
manpages/findsmb.1
|
|
||||||
manpages/idmap_ad.8
|
manpages/idmap_ad.8
|
||||||
manpages/idmap_autorid.8
|
manpages/idmap_autorid.8
|
||||||
manpages/idmap_hash.8
|
manpages/idmap_hash.8
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!@PERL@
|
#!/usr/bin/env perl
|
||||||
#
|
#
|
||||||
# Prints info on all smb responding machines on a subnet.
|
# Prints info on all smb responding machines on a subnet.
|
||||||
# This script needs to be run on a machine without nmbd running and be
|
# 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
|
# 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
|
# of the workgroup name for machines that are the domain master browser for
|
||||||
# that workgroup.
|
# that workgroup.
|
||||||
#
|
#
|
||||||
# Options:
|
# Options:
|
||||||
#
|
#
|
||||||
# -d|-D enable debug
|
# -d|-D enable debug
|
||||||
# -r add -r option to nmblookup when finding netbios name
|
# -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
|
for ($i = 0; $i < 2; $i++) { # test for -d and -r options
|
||||||
$_ = shift;
|
$_ = shift;
|
||||||
@ -38,7 +38,7 @@ if ($_) { # set broadcast address if it was specified
|
|||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
# do numeric sort on last field of IP address
|
# do numeric sort on last field of IP address
|
||||||
sub ipsort
|
sub ipsort
|
||||||
{
|
{
|
||||||
@t1 = split(/\./,$a);
|
@t1 = split(/\./,$a);
|
||||||
@t2 = split(/\./,$b);
|
@t2 = split(/\./,$b);
|
||||||
@ -48,7 +48,7 @@ sub ipsort
|
|||||||
|
|
||||||
# look for all machines that respond to a name lookup
|
# 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");
|
die("Can't run nmblookup '*'.\n");
|
||||||
|
|
||||||
# get rid of all lines that are not a response IP address,
|
# 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
|
# 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");
|
die("Can't get nmb name list.\n");
|
||||||
@nmblookup = <NMBLOOKUP>;
|
@nmblookup = <NMBLOOKUP>;
|
||||||
close NMBLOOKUP;
|
close NMBLOOKUP;
|
||||||
|
|
||||||
# get the first <00> name
|
# 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 ($_) { # we have a netbios name
|
||||||
if (/GROUP/) { # is it a group name
|
if (/GROUP/) { # is it a group name
|
||||||
($name, $aliases, $type, $length, @addresses) =
|
($name, $aliases, $type, $length, @addresses) =
|
||||||
gethostbyaddr(pack('C4',split('\.',$ip)),2);
|
gethostbyaddr(pack('C4',split('\.',$ip)),2);
|
||||||
if (! $name) { # could not get name
|
if (! $name) { # could not get name
|
||||||
$name = "unknown nis name";
|
$name = "unknown nis name";
|
||||||
@ -92,7 +92,7 @@ foreach $ip (@ipaddrs) # loop through each IP address found
|
|||||||
/(.{1,15})\s+<00>\s+/;
|
/(.{1,15})\s+<00>\s+/;
|
||||||
$name = $1;
|
$name = $1;
|
||||||
$name =~ s/^\s+//g;
|
$name =~ s/^\s+//g;
|
||||||
}
|
}
|
||||||
|
|
||||||
# do an smbclient command on the netbios name.
|
# 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
|
} else { # no netbios name found
|
||||||
# try getting the host name
|
# try getting the host name
|
||||||
($name, $aliases, $type, $length, @addresses) =
|
($name, $aliases, $type, $length, @addresses) =
|
||||||
gethostbyaddr(pack('C4',split('\.',$ip)),2);
|
gethostbyaddr(pack('C4',split('\.',$ip)),2);
|
||||||
if (! $name) { # could not get name
|
if (! $name) { # could not get name
|
||||||
$name = "unknown nis 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";
|
print "$ip".' 'x(16-length($ip))."$name\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<refnamediv>
|
<refnamediv>
|
||||||
<refname>findsmb</refname>
|
<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>
|
name queries on a subnet</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
|
|
||||||
@ -26,19 +26,19 @@
|
|||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
<title>DESCRIPTION</title>
|
<title>DESCRIPTION</title>
|
||||||
|
|
||||||
<para>This perl script is part of the <citerefentry>
|
<para>This perl script is part of the <citerefentry>
|
||||||
<refentrytitle>samba</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
<refentrytitle>samba</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
||||||
suite.</para>
|
suite.</para>
|
||||||
|
|
||||||
<para><command>findsmb</command> is a perl script that
|
<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.
|
on a subnet that respond to SMB name query requests.
|
||||||
It uses <citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
It uses <citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||||
and <citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
and <citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||||
to obtain this information.
|
to obtain this information.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
<title>OPTIONS</title>
|
<title>OPTIONS</title>
|
||||||
@ -49,16 +49,16 @@
|
|||||||
<listitem><para>Controls whether <command>findsmb</command> takes
|
<listitem><para>Controls whether <command>findsmb</command> takes
|
||||||
bugs in Windows95 into account when trying to find a Netbios name
|
bugs in Windows95 into account when trying to find a Netbios name
|
||||||
registered of the remote machine. This option is disabled by default
|
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>
|
If set, <citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||||
will be called with <constant>-B</constant> option.</para></listitem>
|
will be called with <constant>-B</constant> option.</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>subnet broadcast address</term>
|
<term>subnet broadcast address</term>
|
||||||
<listitem><para>Without this option, <command>findsmb
|
<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>
|
<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>
|
<citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||||
as part of the <constant>-B</constant> option.</para></listitem>
|
as part of the <constant>-B</constant> option.</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -68,38 +68,38 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>EXAMPLES</title>
|
<title>EXAMPLES</title>
|
||||||
|
|
||||||
<para>The output of <command>findsmb</command> lists the following
|
<para>The output of <command>findsmb</command> lists the following
|
||||||
information for all machines that respond to the initial
|
information for all machines that respond to the initial
|
||||||
<command>nmblookup</command> for any name: IP address, NetBIOS name,
|
<command>nmblookup</command> for any name: IP address, NetBIOS name,
|
||||||
Workgroup name, operating system, and SMB server version.</para>
|
Workgroup name, operating system, and SMB server version.</para>
|
||||||
|
|
||||||
<para>There will be a '+' in front of the workgroup name for
|
<para>There will be a '+' in front of the workgroup name for
|
||||||
machines that are local master browsers for that workgroup. There
|
machines that are local master browsers for that workgroup. There
|
||||||
will be an '*' in front of the workgroup name for
|
will be an '*' in front of the workgroup name for
|
||||||
machines that are the domain master browser for that workgroup.
|
machines that are the domain master browser for that workgroup.
|
||||||
Machines that are running Windows for Workgroups, Windows 95 or
|
Machines that are running Windows for Workgroups, Windows 95 or
|
||||||
Windows 98 will
|
Windows 98 will
|
||||||
not show any information about the operating system or server
|
not show any information about the operating system or server
|
||||||
version.</para>
|
version.</para>
|
||||||
|
|
||||||
<para>The command with <constant>-r</constant> option
|
<para>The command with <constant>-r</constant> option
|
||||||
must be run on a system without <citerefentry>
|
must be run on a system without <citerefentry>
|
||||||
<refentrytitle>nmbd</refentrytitle><manvolnum>8</manvolnum>
|
<refentrytitle>nmbd</refentrytitle><manvolnum>8</manvolnum>
|
||||||
</citerefentry> running.
|
</citerefentry> running.
|
||||||
|
|
||||||
If <command>nmbd</command> is running on the system, you will
|
If <command>nmbd</command> is running on the system, you will
|
||||||
only get the IP address and the DNS name of the machine. To
|
only get the IP address and the DNS name of the machine. To
|
||||||
get proper responses from Windows 95 and Windows 98 machines,
|
get proper responses from Windows 95 and Windows 98 machines,
|
||||||
the command must be run as root and with <constant>-r</constant>
|
the command must be run as root and with <constant>-r</constant>
|
||||||
option on a machine without <command>nmbd</command> running.</para>
|
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
|
without <constant>-r</constant> option set would yield output similar
|
||||||
to the following</para>
|
to the following</para>
|
||||||
|
|
||||||
<programlisting>
|
<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.10 MINESET-TEST1 [DMVENGR]
|
||||||
192.168.35.55 LINUXBOX *[MYGROUP] [Unix] [Samba 2.0.6]
|
192.168.35.55 LINUXBOX *[MYGROUP] [Unix] [Samba 2.0.6]
|
||||||
192.168.35.56 HERBNT2 [HERB-NT]
|
192.168.35.56 HERBNT2 [HERB-NT]
|
||||||
@ -135,10 +135,10 @@ IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION
|
|||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
<title>AUTHOR</title>
|
<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
|
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>
|
to the way the Linux kernel is developed.</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
@ -10,16 +10,3 @@ bld.INSTALL_FILES('${BINDIR}',
|
|||||||
bld.SAMBA_SCRIPT('smbaddshare', pattern='smbaddshare', installdir='.')
|
bld.SAMBA_SCRIPT('smbaddshare', pattern='smbaddshare', installdir='.')
|
||||||
bld.SAMBA_SCRIPT('smbchangeshare', pattern='smbchangeshare', installdir='.')
|
bld.SAMBA_SCRIPT('smbchangeshare', pattern='smbchangeshare', installdir='.')
|
||||||
bld.SAMBA_SCRIPT('smbdeleteshare', pattern='smbdeleteshare', 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