arm 添加 samb 文件共享

2023-09-01  

编译环境: ubunto 12 arm-linux-gcc 4.3.2 arm linux 4.1.36 开发板 2440

 

测试上传速度,大文件

github源码 https://github.com/samba-team/samba

测试了几个版本,各有问题。

samba-4.6.2 ~ 3.6 需要安装 python 环境,才能编译。4.6 需要 python2.7 ,4.0 3.6 需要 phtyon2.x ,apt-get install 安装的 没有 phtyon.h 还需要编译安装。实在太费时间,不装这个。

samba-2.2.8 编译正常,安装报错 codepages 不能编译,后面有介绍解决方法, 解决了 codepages 以后,启动 报错 Unable to open printcap file /etc/printcap for read!
Failed to setup RT_SIGNAL_LEASE handler ,  touch /etc/printcap 可以解决,但是 Failed to setup RT_SIGNAL_LEASE handler还是出错。

samba-3.4.17 编译,正常使用。 下载地址 : https://github.com/samba-team/samba/archive/samba-3.4.17.tar.gz

下载好解压 cd source3

./autogen.sh
./configure  --bindir=/usr/local/samba --prefix=/usr/local/samba
make CC=arm-linux-gcc
make install

将编译出来的文件全复制到 开发板nfs 文件系统中
cp /usr/local/samba /home/nfs/usr/local/ -rfd
还需要复制 so 库文件 到开发板 nfs 文件系统中
cp /usr/local/samba/lib/*so* /home/nfs/lib/ -d

修改 examples/smb.conf.default  改名为 smb.conf 上传到 开发板 etc 下

smb.conf 红字部分是修改的

  1 # This is the main Samba configuration file. You should read the

  2 # smb.conf(5) manual page in order to understand the options listed

  3 # here. Samba has a huge number of configurable options (perhaps too

  4 # many!) most of which are not shown in this example

  5 #

  6 # For a step to step guide on installing, configuring and using samba, 

  7 # read the Samba-HOWTO-Collection. This may be obtained from:

  8 #  http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf

  9 #

 10 # Many working examples of smb.conf files can be found in the 

 11 # Samba-Guide which is generated daily and can be downloaded from: 

 12 #  http://www.samba.org/samba/docs/Samba-Guide.pdf

 13 #

 14 # Any line which starts with a ; (semi-colon) or a # (hash) 

 15 # is a comment and is ignored. In this example we will use a #

 16 # for commentry and a ; for parts of the config file that you

 17 # may wish to enable

 18 #

 19 # NOTE: Whenever you modify this file you should run the command "testparm"

 20 # to check that you have not made any basic syntactic errors. 

 21 #

 22 #======================= Global Settings =====================================

 23 [global]

 24 

 25 # workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH

 26    workgroup = WORKGROUP

 27 

 28 # server string is the equivalent of the NT Description field

 29    server string = Samba Server

 30 

 31 # Security mode. Defines in which mode Samba will operate. Possible 

 32 # values are share, user, server, domain and ads. Most people will want 

 33 # user level security. See the Samba-HOWTO-Collection for details.

 34    security = share

 35 

 36 # This option is important for security. It allows you to restrict

 37 # connections to machines which are on your local network. The

 38 # following example restricts access to two C class networks and

 39 # the "loopback" interface. For more examples of the syntax see

 40 # the smb.conf man page

 41 ;   hosts allow = 192.168.1. 192.168.2. 127.

 42 

 43 # If you want to automatically load your printer list rather

 44 # than setting them up individually then you'll need this

 45    load printers = yes

 46 

 47 # you may wish to override the location of the printcap file

 48 ;   printcap name = /etc/printcap

 49 

 50 # on SystemV system setting printcap name to lpstat should allow

 51 # you to automatically obtain a printer list from the SystemV spool

 52 # system

 53 ;   printcap name = lpstat

 54 

 55 # It should not be necessary to specify the print system type unless

 56 # it is non-standard. Currently supported print systems include:

 57 # bsd, cups, sysv, plp, lprng, aix, hpux, qnx

 58 ;   printing = cups

 59 

 60 # Uncomment this if you want a guest account, you must add this to /etc/passwd

 61 # otherwise the user "nobody" is used

 62 ;  guest account = pcguest

 63 guest account = root

 64 

 65 # this tells Samba to use a separate log file for each machine

 66 # that connects

 67    log file = /usr/local/samba/var/log.%m

 68 

 69 # Put a capping on the size of the log files (in Kb).

 70    max log size = 50

 71 

 72 # Use password server option only with security = server

 73 # The argument list may include:

 74 #   password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]

 75 # or to auto-locate the domain controller/s

 76 #   password server = *

 77 ;   password server =

 78 

 79 # Use the realm option only with security = ads

 80 # Specifies the Active Directory realm the host is part of

 81 ;   realm = MY_REALM

 82 

 83 # Backend to store user information in. New installations should 

 84 # use either tdbsam or ldapsam. smbpasswd is available for backwards 

 85 # compatibility. tdbsam requires no further configuration.

 86 ;   passdb backend = tdbsam

 87 

 88 # Using the following line enables you to customise your configuration

 89 # on a per machine basis. The %m gets replaced with the netbios name

 90 # of the machine that is connecting.

 91 # Note: Consider carefully the location in the configuration file of

 92 #       this line.  The included file is read at that point.

 93 ;   include = /usr/local/samba/lib/smb.conf.%m

 94 

 95 # Configure Samba to use multiple interfaces

 96 # If you have multiple network interfaces then you must list them

 97 # here. See the man page for details.

 98 ;   interfaces = 192.168.12.2/24 192.168.13.2/24 

 99 

100 # Browser Control Options:

101 # set local master to no if you don't want Samba to become a master

102 # browser on your network. Otherwise the normal election rules apply

103 ;   local master = no

104 

105 # OS Level determines the precedence of this server in master browser

106 # elections. The default value should be reasonable

107 ;   os level = 33

108 

109 # Domain Master specifies Samba to be the Domain Master Browser. This

110 # allows Samba to collate browse lists between subnets. Don't use this

111 # if you already have a Windows NT domain controller doing this job

112 ;   domain master = yes 

113 

114 # Preferred Master causes Samba to force a local browser election on startup

115 # and gives it a slightly higher chance of winning the election

116 ;   preferred master = yes

117 

118 # Enable this if you want Samba to be a domain logon server for 

119 # Windows95 workstations. 

120 ;   domain logons = yes

121 

122 # if you enable domain logons then you may want a per-machine or

123 # per user logon script

124 # run a specific logon batch file per workstation (machine)

125 ;   logon script = %m.bat

126 # run a specific logon batch file per username

127 ;   logon script = %U.bat

128 

129 # Where to store roving profiles (only for Win95 and WinNT)

130 #        %L substitutes for this servers netbios name, %U is username

131 #        You must uncomment the [Profiles] share below

132 ;   logon path = \%LProfiles%U

133 

134 # Windows Internet Name Serving Support Section:

135 # WINS Support - Tells the NMBD component of Samba to enable it's WINS Server

136 ;   wins support = yes

137 

138 # WINS Server - Tells the NMBD components of Samba to be a WINS Client

139 #    Note: Samba can be either a WINS Server, or a WINS Client, but NOT both

140 ;   wins server = w.x.y.z

141 

142 # WINS Proxy - Tells Samba to answer name resolution queries on

143 # behalf of a non WINS capable client, for this to work there must be

144 # at least one    WINS Server on the network. The default is NO.

145 ;   wins proxy = yes

146 

147 # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names

148 # via DNS nslookups. The default is NO.

149    dns proxy = no 

150 

151 # These scripts are used on a domain controller or stand-alone 

152 # machine to add or delete corresponding unix accounts

153 ;  add user script = /usr/sbin/useradd %u

154 ;  add group script = /usr/sbin/groupadd %g

155 ;  add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u

156 ;  delete user script = /usr/sbin/userdel %u

157 ;  delete user from group script = /usr/sbin/deluser %u %g

158 ;  delete group script = /usr/sbin/groupdel %g

159 

160 

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

162 [homes]

163    comment = Home Directories

164    browseable = no

165    writable = yes

166 

167 # Un-comment the following and create the netlogon directory for Domain Logons

168 ; [netlogon]

169 ;   comment = Network Logon Service

170 ;   path = /usr/local/samba/lib/netlogon

171 ;   guest ok = yes

172 ;   writable = no

173 ;   share modes = no

174 

175 

176 # Un-comment the following to provide a specific roving profile share

177 # the default is to use the user's home directory

178 ;[Profiles]

179 ;    path = /usr/local/samba/profiles

180 ;    browseable = no

181 ;    guest ok = yes

182 

183 

184 # NOTE: If you have a BSD-style print system there is no need to 

185 # specifically define each individual printer

186 [printers]

187    comment = All Printers

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。