[Samba] Problem of displying contents of shares

tabai.nawel tabai.nawel at yahoo.fr
Wed Apr 25 16:56:59 GMT 2007


I'm using samba 3.0.24. I create my Makefile for cross compiling smbd nmbd
testparm and CP850.so:

Makefile:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# Flags divers

#COFLAGS=-O2
CWFLAGS= -g -Wall

# Cross compile tools
CC=mips-linux-gcc
#CC=gcc
LINT=splint
SHLD= $(CC) -O -D_SAMBA_BUILD_
LDSHFLAGS=-shared -Wl,-Bsymbolic
#############################################################
#        O U T P U T   B I N A R Y   N A M E                #
#############################################################




#############################################################
#                  E X T R A   F L A G S                    #
#############################################################


############################################################
#               N E E D E D   INCLUDE & LIBRARIES           #
#############################################################


prefix=/usr/local/samba
exec_prefix=${prefix}
VARDIR= ${prefix}/var
LIBDIR = ${exec_prefix}/lib
CONFIGDIR= ${LIBDIR}
LMHOSTSFILE = $(CONFIGDIR)/lmhosts
LOGFILEBASE = ${VARDIR}
PRIVATEDIR=${prefix}/private
# the directory where lock files go
LOCKDIR = ${VARDIR}/locks
# the directory where pid files go
PIDDIR = ${VARDIR}/locks
SMB_PASSWD_FILE = $(PRIVATEDIR)/smbpasswd

# sbindir is mapped to bindir when compiling SAMBA in 2.0.x compatibility
mode.
SBINDIR = ${exec_prefix}/sbin

APPFLAGS = -DLIBDIR=\"$(LIBDIR)\" -DSBINDIR=\"$(SBINDIR)\" 
-DBINDIR=\"$(BINDIR)\"
APPFLAGS+= -DSWATDIR=\"$(SWATDIR)\" -DCONFIGFILE=\"$(CONFIGFILE)\"
APPFLAGS+= -DSWATDIR=\"$(SWATDIR)\" -DCONFIGFILE=\"$(CONFIGFILE)\"
APPFLAGS+= -DLOGFILEBASE=\"$(LOGFILEBASE)\" -DLMHOSTSFILE=\"$(LMHOSTSFILE)\"
APPFLAGS+=  -DSHLIBEXT=\"so\" -DLOCKDIR=\"$(LOCKDIR)\"
APPFLAGS+=  -DPIDDIR=\"$(PIDDIR)\" -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\"
APPFLAGS+= -DPRIVATE_DIR=\"$(PRIVATE_DIR)\"

FLAGS =  -O -DHAVE_CONFIG_H  -D_SAMBA_BUILD_   -D_LARGEFILE64_SOURCE
FLAGS += -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE

CIFLAGS=-Iinclude/ -I. -Ipopt/ -Insswitch/

DYNEXP=-Wl,--export-dynamic

LDFLAGS=-L/lib

LIBS=  -ldl ####

LIBS_SMBD= -lcrypt -ldl -lresolv
LIBS_NMBD= -ldl -lresolv




TESTFLAGS= -O -Ipopt -Iinclude -Itdb  $(FLAGS) -I.

CFLAGS= $(CWFLAGS) $(COFLAGS) $(CIFLAGS) $(APPFLAGS) $(FLAGS)

SRC_SMBD=smbd/mangle.c smbd/process.c smbd/conn.c  smbd/quotas.c \
	smbd/statcache.c smbd/uid.c smbd/service.c smbd/negprot.c \
	smbd/password.c smbd/connection.c smbd/sec_ctx.c  smbd/session.c \
	smbd/chgpasswd.c smbd/error.c smbd/mangle.c smbd/mangle_map.c
smbd/mangle_hash2.c \
	smbd/mangle_hash.c smbd/dmapi.c smbd/aio.c smbd/files.c  smbd/dir.c \
	smbd/oplock.c smbd/blocking.c smbd/notify.c smbd/reply.c smbd/open.c
smbd/vfs.c \
	smbd/nttrans.c smbd/sesssetup.c smbd/trans2.c smbd/build_options.c
smbd/ipc.c \
	smbd/map_username.c smbd/share_access.c smbd/change_trust_pw.c
smbd/message.c \
	smbd/dosmode.c  smbd/filename.c smbd/fileio.c smbd/close.c smbd/utmp.c
smbd/fake_file.c \
	smbd/notify_hash.c smbd/srvstr.c smbd/oplock_linux.c smbd/notify_kernel.c \
	smbd/vfs-wrap.c smbd/posix_acls.c smbd/msdfs.c smbd/dfree.c \
	smbd/lanman.c smbd/pipes.c smbd/statvfs.c smbd/ntquotas.c smbd/server.c

SRC_PRINT=printing/printing.c  printing/pcap.c printing/nt_printing.c \
	printing/print_generic.c printing/printing_db.c printing/load.c
printing/notify.c \
	printing/lpq_parse.c printing/printfsp.c


SRC_LIB_SMBD =  lib/events.c lib/account_pol.c lib/access.c lib/sysacls.c
lib/sendfile.c \
	lib/clobber.c lib/fsusage.c lib/privileges.c lib/bitmap.c \
	lib/util_nscd.c lib/server_mutex.c lib/system_smbd.c  lib/adt_tree.c \
	lib/sysquotas.c

SRC_LIB_NMBD = lib/dummyroot.c lib/dummysmbd.c


SRC_LIBSMB_SMBD=  libsmb/trusts_util.c libsmb/namequery_dc.c \
	libsmb/trustdom_cache.c \
	libsmb/clireadwrite.c libsmb/credentials.c  libsmb/samlogon_cache.c\
	libsmb/ntlm_check.c libsmb/cliquota.c

SRC_NSSWITCH= nsswitch/wb_client.c nsswitch/wb_common.c



SRC_AUTH=auth/auth_sam.c auth/auth_ntlmssp.c auth/pampass.c
auth/auth_compat.c auth/auth_util.c \
	auth/auth_builtin.c auth/auth_domain.c auth/auth_server.c
auth/auth_winbind.c \
	auth/pass_check.c auth/auth_unix.c auth/auth.c

SRC_LOC=locking/locking.c locking/posix.c locking/brlock.c

SRC_POPT=popt/findme.c popt/poptparse.c popt/popt.c popt/popthelp.c

SRC_SERVICES= services/svc_netlogon.c services/svc_spoolss.c
services/svc_rcinit.c \
	services/svc_wins.c services/svc_winreg.c services/services_db.c

SRC_LIBADS= libads/ads_status.c libads/dns.c

SRC_LIBADS_SMBD = $(SRC_LIBADS) libads/ads_struct.c

SRC_PASSDB= passdb/secrets.c passdb/machine_sid.c

SRC_PASSDB_SMBD = $(SRC_PASSDB) passdb/passdb.c passdb/pdb_get_set.c \
	passdb/lookup_sid.c passdb/pdb_interface.c \
	passdb/util_wellknown.c passdb/util_builtin.c passdb/pdb_compat.c \
	passdb/util_unixsids.c  passdb/pdb_tdb.c passdb/pdb_smbpasswd.c


SRC_REGISTRY=registry/reg_cachehook.c registry/reg_util.c registry/reg_db.c
\
	registry/reg_perfcount.c registry/reg_eventlog.c registry/reg_frontend.c \
	registry/reg_printing.c registry/reg_frontend.c registry/reg_dynamic.c \
	registry/regfio.c registry/reg_shares.c registry/reg_objects.c

SRC_RPC_SERVER=rpc_server/srv_pipe_hnd.c rpc_server/srv_spoolss_nt.c
rpc_server/srv_lsa.c \
	rpc_server/srv_reg.c rpc_server/srv_lsa_ds.c rpc_server/srv_wkssvc.c \
	rpc_server/srv_svcctl.c rpc_server/srv_ntsvcs.c rpc_server/srv_netlog.c \
	rpc_server/srv_eventlog.c rpc_server/srv_dfs.c rpc_server/srv_srvsvc.c \
	rpc_server/srv_pipe.c rpc_server/srv_srvsvc_nt.c rpc_server/srv_spoolss.c \
	rpc_server/srv_lsa_nt.c rpc_server/srv_lsa_hnd.c rpc_server/srv_samr.c \
	rpc_server/srv_svcctl_nt.c rpc_server/srv_wkssvc_nt.c
rpc_server/srv_reg_nt.c \
	rpc_server/srv_netlog_nt.c  rpc_server/srv_netlog_nt.c
rpc_server/srv_ntsvcs_nt.c \
	rpc_server/srv_samr_nt.c rpc_server/srv_dfs_nt.c
rpc_server/srv_eventlog_nt.c \
	rpc_server/srv_eventlog_lib.c rpc_server/srv_samr_util.c
rpc_server/srv_svcctl_nt.c \
	rpc_server/srv_pipe.c

SRC_TDB=tdb/spinlock.c tdb/tdbutil.c tdb/tdb.c

SRC_INTL=intl/lang_tdb.c


SRC_RPC_PARSE= rpc_parse/parse_prs.c rpc_parse/parse_sec.c
rpc_parse/parse_misc.c

SRC_RPC_PARSE_SMBD = $(SRC_RPC_PARSE) rpc_parse/parse_spoolss.c \
	rpc_parse/parse_rpc.c rpc_parse/parse_lsa.c rpc_parse/parse_ntsvcs.c \
	rpc_parse/parse_buffer.c rpc_parse/parse_net.c   \
	rpc_parse/parse_svcctl.c rpc_parse/parse_wks.c rpc_parse/parse_reg.c \
	rpc_parse/parse_dfs.c rpc_parse/parse_eventlog.c \
	rpc_parse/parse_samr.c rpc_parse/parse_srv.c

SRC_MODULES=modules/vfs_fake_perms.c

SRC_RPC_CLIENT=rpc_client/cli_spoolss_notify.c rpc_client/cli_lsarpc.c
rpc_client/cli_netlogon.c \
	rpc_client/cli_pipe.c

SRC_GROUPDB= groupdb/mapping.c


SRC_NMBD= nmbd/nmbd_subnetdb.c nmbd/nmbd_winsserver.c \
	nmbd/nmbd_processlogon.c nmbd/nmbd_incomingrequests.c
nmbd/nmbd_responserecordsdb.c \
	nmbd/nmbd_namequery.c nmbd/asyncdns.c nmbd/nmbd_elections.c
nmbd/nmbd_incomingdgrams.c \
	nmbd/nmbd_become_lmb.c nmbd/nmbd_workgroupdb.c nmbd/nmbd_lmhosts.c
nmbd/nmbd_winsproxy.c \
	nmbd/nmbd_browserdb.c nmbd/nmbd_become_lmb.c nmbd/nmbd_sendannounce.c
nmbd/nmbd_serverlistdb.c \
	nmbd/nmbd_mynames.c nmbd/nmbd_nameregister.c nmbd/nmbd_workgroupdb.c 
nmbd/nmbd_namerelease.c \
	nmbd/nmbd_nodestatus.c nmbd/nmbd_synclists.c nmbd/nmbd_synclists.c
nmbd/nmbd_browsesync.c \
	nmbd/nmbd_become_dmb.c nmbd/nmbd.c nmbd/nmbd_logonnames.c
nmbd/nmbd_packets.c nmbd/nmbd_namelistdb.c



SRC_LIB= lib/charcnv.c lib/wins_srv.c lib/interface.c lib/util_sock.c \
	lib/signal.c lib/util_str.c lib/debug.c lib/xfile.c lib/dmallocmsg.c\
	lib/smbrun.c lib/util_file.c lib/sock_exec.c lib/util.c \
	lib/pidfile.c lib/fault.c lib/messages.c lib/util_unistr.c lib/select.c \
	lib/system.c lib/ms_fnmatch.c lib/interfaces.c lib/gencache.c \
	lib/talloc.c lib/iconv.c lib/popt_common.c lib/substitute.c \
	lib/data_blob.c lib/util_sec.c lib/util_pw.c lib/version.c  lib/time.c \
	lib/util_sid.c lib/dprintf.c lib/module.c  lib/tallocmsg.c \
	lib/hmacmd5.c lib/md4.c lib/arc4.c lib/md5.c  lib/username.c \
	lib/util_uuid.c lib/secacl.c lib/secdesc.c lib/secace.c \
	lib/util_seaccess.c lib/sharesec.c lib/crc32.c lib/genrand.c lib/replace.c

SRC_LIBSMB=libsmb/clispnego.c libsmb/nterr.c libsmb/smb_signing.c \
	libsmb/cliconnect.c libsmb/dcerpc_err.c  libsmb/smbencrypt.c \
	libsmb/nmblib.c libsmb/errormap.c libsmb/smbdes.c libsmb/namecache.c \
	libsmb/clientgen.c  libsmb/namequery.c libsmb/clifile.c \
	libsmb/clitrans.c libsmb/conncache.c libsmb/clioplock.c \
	libsmb/pwd_cache.c  libsmb/unexpected.c libsmb/ntlmssp.c \
	libsmb/clierror.c libsmb/clistr.c libsmb/clikrb5.c libsmb/asn1.c \
	libsmb/doserr.c libsmb/clirap.c   \
	libsmb/ntlmssp_sign.c libsmb/ntlmssp_parse.c libsmb/smberr.c

TOPFILES=dynconfig.c

SRC_PARAM= param/params.c param/loadparm.c

SRC_TEST=utils/testparm.c

SRC_LIB_SHAREDSMB= $(SRC_LIBSMB) $(TOPFILES) $(SRC_PARAM) $(SRC_LIBADS) 
$(SRC_PASSDB)
SRC_LIB_SHAREDSMB+= $(SRC_RPC_PARSE) $(SRC_POPT) $(SRC_TDB) $(SRC_INTL)
$(SRC_LIB)

SMBD_SRC_ALL = $(SRC_SMBD) $(SRC_LIB_SMBD) $(SRC_PRINT) $(SRC_LIBSMB_SMBD)
SMBD_SRC_ALL += $(SRC_PASSDB_SMBD) $(SRC_REGISTRY) $(SRC_RPC_SERVER)
SMBD_SRC_ALL+= $(SRC_PARM_SMBD)  $(SRC_AUTH) $(SRC_LOC) $(SRC_POPT)
SMBD_SRC_ALL+= $(SRC_RPC_PARSE_SMBD) $(SRC_MODULES) $(SRC_TDB) $(SRC_INTL)
SMBD_SRC_ALL += $(SRC_RPC_CLIENT)  $(SRC_SERVICES)
SMBD_SRC_ALL+= $(SRC_GROUPDB) $(SRC_NSSWITCH) $(SRC_LIBADS_SMBD)
SMBD_SRC_ALL+= $(SRC_LIB_SHAREDSMB)

NMBD_SRC_ALL= $(SRC_NMBD) $(SRC_LIB_NMBD) $(SRC_TDB)
NMBD_SRC_ALL+= $(SRC_POPT) $(SRC_PASSDB) $(SRC_INTL) $(SRC_LIBADS)
NMBD_SRC_ALL+= $(SRC_RPC_PARSE) $(SRC_LIB_SHAREDSMB)

OBJ_LIB_SHAREDSMB=$(SRC_LIB_SHAREDSMB:.c=.o)
OBJ_SMBD= $(SMBD_SRC_ALL:.c=.o)
OBJ_NMBD= $(NMBD_SRC_ALL:.c=.o)


POPT_OBJ= $(SRC_POPT:.c=.o)

VERSION_OBJ = lib/version.o

WBCOMMON_OBJ = nsswitch/wb_common.o

TDB_OBJ=tdb/spinlock.o tdb/tdbutil.o tdb/tdb.o

LIB_OBJ= $(VERSION_OBJ) lib/charcnv.o lib/debug.o lib/fault.o
lib/interface.o lib/md4.o \
	lib/interfaces.o lib/pidfile.o lib/signal.o lib/system.o lib/time.o \
	lib/genrand.o lib/username.o lib/util_pw.o lib/smbrun.o \
	lib/bitmap.o lib/crc32.o lib/dprintf.o lib/xfile.o lib/wins_srv.o \
	lib/util_str.o lib/util_sid.o lib/util_uuid.o \
	lib/util_unistr.o lib/util_file.o lib/data_blob.o lib/fsusage.o \
	lib/util.o lib/util_sock.o lib/sock_exec.o lib/util_sec.o \
	lib/talloc.o lib/substitute.o \
	lib/ms_fnmatch.o lib/select.o lib/messages.o \
	lib/tallocmsg.o lib/dmallocmsg.o libsmb/smb_signing.o \
	lib/md5.o lib/hmacmd5.o lib/arc4.o lib/iconv.o \
	nsswitch/wb_client.o $(WBCOMMON_OBJ) \
	intl/lang_tdb.o \
	lib/adt_tree.o lib/gencache.o $(TDB_OBJ) \
	lib/module.o lib/events.o \
	lib/secdesc.o lib/util_seaccess.o lib/secace.o lib/secacl.o  \
	lib/system_smbd.o lib/access.o

POPT_LIB_OBJ= lib/popt_common.o

PARAM_OBJ= dynconfig.o param/loadparm.o param/params.o lib/sharesec.o

LIB_DUMMY_OBJ= lib/dummysmbd.o lib/dummyroot.o

LIB_NONSMBD_OBJ= $(LIB_OBJ) $(LIB_DUMMY_OBJ)

SECRETS_OBJ= passdb/secrets.o passdb/machine_sid.o

LIBSAMBA_OBJ= libsmb/nterr.o libsmb/dcerpc_err.o libsmb/smbdes.o
libsmb/smbencrypt.o \
	libsmb/ntlm_check.o libsmb/ntlmssp.o libsmb/ntlmssp_parse.o
libsmb/ntlmssp_sign.o

RPC_PARSE_OBJ= rpc_parse/parse_sec.o rpc_parse/parse_prs.o
rpc_parse/parse_misc.o

DOSERR_OBJ= libsmb/doserr.o


TEST_OBJ= $(SRC_TEST:.c=.o)

TESTPARM_OBJ= $(TEST_OBJ) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ)
TESTPARM_OBJ+=$(SECRETS_OBJ) $(LIBSAMBA_OBJ) $(RPC_PARSE_OBJ) $(DOSERR_OBJ)


SRC_MOD=modules/CP850.c
CP850_OBJ = $(SRC_MOD:.c=.o)


#############################################################
#                     T A R G E T S                         #
#############################################################
all: smbd nmbd testparm CP850.so

doc:
	@echo "Generating document with Doxygen..."
	@doxygen doxygen.cfg


#smbd: $(OBJ_SMBD)

smbd:$(OBJ_SMBD)
	@mkdir -p bin
	@echo "Generating smbd $(OBJ_SMBD)"
	#$(CC) -o bin/smbd -pie  $(DYNEXP) $^ $(LIBS_SMBD) $(LDFLAGS)
	$(CC) -o bin/smbd   $(DYNEXP) $^ $(LIBS_SMBD) $(LDFLAGS)

nmbd: $(OBJ_NMBD)
	@mkdir -p bin
	$(CC) -o bin/nmbd -pie $(DYNEXP) $(LIBS_NMBD)  $^



bin/testparm:$(TESTPARM_OBJ) $(POPT_OBJ)
	@echo Linking $@
	@$(CC) $(TESTFLAGS) -pie -o bin/testparm $(TESTPARM_OBJ) $(DYNEXP) $(LIBS)
$(POPT_OBJ)


CP850.so: $(CP850_OBJ:.o=.po)
	@echo "Building plugin $@"
	@$(SHLD) $(LDSHFLAGS) -o bin/CP850.so $(CP850_OBJ:.o=.po) \
		-Wl,-soname=`basename $@`

debug:
	@echo SMBD_SRC_ALL = $(SMBD_SRC_ALL)
	@echo OBJ_SMBD = $(OBJ_SMBD)


%.o: %.c
	#$(CC) -o $@  -fPIE -c $< $(CFLAGS)
	$(CC) -o $@   -c $< $(CFLAGS)

%.po: %.c
	$(CC) -o $@  -fPIC -c $< $(CFLAGS)



clean:
	@rm -rf $(OBJ_SMBD)  $(OBJ_NMBD) $(TESTPARM_OBJ) bin  modules/CP850.po


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


I want to specify some things :
    
    * I'm executing the deamons (smbd and nmbd) on an embeded system
    * The problem is that the shares are displayed but I can't display the
content of each share.
    * This is my configuration file smb.conf :

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[global]

workgroup=MSHOME

netbios name = server_samba
security= share
max log size = 5 
guest account = root
name resolve order = bcast
browsable = yes
load printers = no
max open files = 1014
logon home=""
logon path =""
disable spoolss = yes

#====================== Share Definitions==================

[disques]
   path = /mnt
   guest ok = yes
   writable = yes
   browseable = yes 

force create mode = 0660 
force directory mode = 0770 

[share]
   path = /mnt/usb
   guest ok = yes
   writable = yes
   browseable = yes
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

     * I created all the tree :
.
|-- etc
|   |-- group
|   `-- passwd
| 
`-- usr
    `-- local
        |
        `-- samba
            |-- bin
            |   |-- nmbd
            |   `-- smbd
            |    '--testparm
            |
            `-- private
             '---var
             |     '---locks
              ' --  lib
                    |-- charset
                    |   |-- CP850.so
                    |   
                    '-- smb.conf
                    |
                     ' -- lowcase.dat
                     '-- valid.dat

       * When I copied upcase.dat under /usr/local/samba/lib, an
authentification message appear
       * I tried also with  a configuration on security= user and map to
guest= Bad Password and I can't display         contents of shares
       * I can also create a new folder under a specific share but when I
refresh the page it disappears
       * When I test my configuration file smb.conf with testparm I get the
follow message : applet net found


-- 
View this message in context: http://www.nabble.com/Problem-of-displying-contents-of-shares-tf3646707.html#a10185037
Sent from the Samba - General mailing list archive at Nabble.com.



More information about the samba mailing list