macOS Sierra no descubre dispositivos en LAN

1

Instalé VirtualBox en un host macOS Sierra, y macOS Sierra, CentOS 7 y Windows 10 como invitados para probar un tarball de Samba.

No estoy usando el método de uso compartido de SMB nativo de macOS Sierra (tanto: host como invitado) "Preferencias del sistema - > Compartir". Para el host macOS Sierra, habilité Compartir con AFP.

El método de instalación de Samba para macOS (host e invitado) fue:

tar zxvf samba-4.5.5.tar.gz  -C /usr/local/Source_Codes/
cd /usr/local/Source_Codes/samba-4.5.5/
./configure --prefix=/usr/local/Custom/samba           \
    --sysconfdir=/usr/local/Custom/samba/etc           \
    --localstatedir=/usr/local/Custom/samba/var           \
    --with-cachedir=/usr/local/Custom/samba/var/cache           \
    --libdir=/usr/local/Custom/samba/var/lib           \
    --with-lockdir=/usr/local/Custom/samba/var/lock           \
    --with-logfilebase=/usr/local/Custom/samba/var/log           \
    --with-piddir=/usr/local/Custom/samba/var/run           \
    --enable-fhs --without-ad-dc  --without-systemd  --without-acl-support
make
sudo make install

La configuración para macOS Sierra Host :

[global]
    log level = 4
    workgroup = BZ
    server string = Samba Server Version %v
    netbios name = MacBook-Air

    wins support = yes
    local master = yes
    preferred master = yes

    log file = /usr/local/Custom/samba/var/log/log.%m
    max log size = 1000

    security = user
    passdb backend = tdbsam


[joseluisbz_Air]
    path = /Users/joseluisbz
    valid users = joseluisbz
    browsable =yes
    writable = yes
    guest ok = yes
    read only = No  

[root_Air]
    path = /
    admin users = joseluisbz
    browsable =yes
    writable = yes
    guest ok = yes
    read only = No

La configuración para macOS Sierra Guest :

[global]
    log level = 4
    workgroup = BZ
    server string = Samba Server Version %v
    netbios name = Vxbox-Mac

    wins support = yes
    local master = yes
    preferred master = yes

    log file = /usr/local/Custom/samba/var/log/log.%m
    max log size = 1000

    security = user
    passdb backend = tdbsam


[joseluisbz_Mac]
    path = /Users/joseluisbz
    valid users = joseluisbz
    browsable =yes
    writable = yes
    guest ok = yes
    read only = No  

[root_Mac]
    path = /
    admin users = joseluisbz
    browsable =yes
    writable = yes
    guest ok = yes
    read only = No

La configuración para CentOS 7 Guest (Instalación de Linux):

[global]
    log level = 4
    workgroup = BZ
    server string = Samba Server Version %v
    netbios name = Vxbox-Lnx

    log file = /var/log/samba/log.%m.log
    max log size = 50

    security = user
    passdb backend = tdbsam

[joseluisbz_Lnx]
    path = /home/joseluisbz
    valid users = joseluisbz
    browsable =yes
    writable = yes
    guest ok = yes
    read only = No

[root_Lnx]
    path = /
    admin users = joseluisbz
    browsable =yes
    writable = yes
    guest ok = yes
    read only = No

[printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = no
    guest ok = no
    writable = no
    printable = yes

Elproblemaes:

macOSSierraHostymacOSSierraGuestnomuestranlosdispositivosenmiLAN,incluidoslosservidoresSamba.

ProbandoelInvitadodeWindows10yelCentOS7InvitadoPuedoverlosotrosdispositivossinproblemas,como:

macOSSierraHost(MacBook-Air)macOSSierraGuest(Vxbox-Mac)Windows10Guest(Vxbox-Win)CentOS7Guest(Vxbox-Lnx)

Capturadepantallaaquí:

Quieroaveriguar,¿cómopuedohacerqueeldescubrimientodelservidorSambaenmiLANfuncioneenSierra?

¿HayalgúnmétodoparaforzarlaactualizacióndelaredenelFinder?

Addendum:paracompilarSamba4.5.5correctamenteeditardosarchivos:

ERROR:Infileincludedfrom../lib/param/loadparm.h:259:default/lib/param/param_local.h:141:1:error:fieldhasincompletetype'structtimespec'LOADPARM_EXTRA_LOCALS^SOL:Thisproblemcanbefixedbyadding#include<time.h>tolib/param/loadparm.h#/Applications/kate.app/Contents/MacOS/kate/usr/local/Source_Codes/samba-4.5.5/lib/param/loadparm.h#pico/usr/local/Source_Codes/samba-4.5.5/lib/param/loadparm.hERROR:[3343/3364]Linkingdefault/source4/torture/smbtortureclang:warning:argumentunusedduringcompilation:'-pie'Undefinedsymbolsforarchitecturex86_64:"_getgrent_r", referenced from:
            _test_enum_r_group in nss_tests_1.o
        "_getpwent_r", referenced from:
            _test_enum_r_passwd in nss_tests_1.o
        ld: symbol(s) not found for architecture x86_64
        clang: error: linker command failed with exit code 1 (use -v to see invocation)
SOL: This problem can be fixed editing the file source4/torture/local/nss_tests.c
    $ sudo /Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text /usr/local/Source_Codes/samba-4.5.5/source4/torture/local/nss_tests.c
    # pico /usr/local/Source_Codes/samba-4.5.5/source4/torture/local/nss_tests.c

    1.a) Original Snippet:  
        static bool test_enum_r_passwd(struct torture_context *tctx,
                        struct passwd **pwd_array_p,
                        size_t *num_pwd_p)
        {
            struct passwd pwd, *pwdp;
            struct passwd *pwd_array = NULL;
            size_t num_pwd = 0;
            char buffer[4096];
    1.a) Edited Snippet:
        static bool test_enum_r_passwd(struct torture_context *tctx,
                        struct passwd **pwd_array_p,
                        size_t *num_pwd_p)
        {
        #ifdef HAVE_GETPWENT_R
            struct passwd pwd, *pwdp;
            struct passwd *pwd_array = NULL;
            size_t num_pwd = 0;
            char buffer[4096];
    1.b) Original Snippet (in the same funcion):
            if (num_pwd_p) {
                *num_pwd_p = num_pwd;
            }

            return true;
        }

        static bool torture_assert_passwd_equal(struct torture_context *tctx,
    1.b) Edited Snippet:
            if (num_pwd_p) {
                *num_pwd_p = num_pwd;
            }

        #endif /* HAVE_GETPWENT_R */
            return true;
        }

        static bool torture_assert_passwd_equal(struct torture_context *tctx,
    2.a) Original Snippet:
        static bool test_enum_r_group(struct torture_context *tctx,
                        struct group **grp_array_p,
                        size_t *num_grp_p)
        {
            struct group grp, *grpp;
            struct group *grp_array = NULL;
            size_t num_grp = 0;
            char buffer[4096];
    2.a) Edited Snippet:
        static bool test_enum_r_group(struct torture_context *tctx,
                        struct group **grp_array_p,
                        size_t *num_grp_p)
        {
        #ifdef HAVE_GETGRENT_R
            struct group grp, *grpp;
            struct group *grp_array = NULL;
            size_t num_grp = 0;
            char buffer[4096];
    2.b) Original Snippet (in the same funcion):
            if (num_grp_p) {
                *num_grp_p = num_grp;
            }

            return true;
        }

        static bool torture_assert_group_equal(struct torture_context *tctx,
    2.b) Edited Snippet:
            if (num_grp_p) {
                *num_grp_p = num_grp;
            }

        #endif /* HAVE_GETGRENT_R */
            return true;
        }

        static bool torture_assert_group_equal(struct torture_context *tctx,
End Solution!
    
pregunta Chepe Questn 20.02.2017 - 22:28

0 respuestas

Lea otras preguntas en las etiquetas