- Smb Config
- Enable Smb 1
The /etc/smb.conf file is the main configuration file for the Samba server, in which you can specify which directory you want to access from Windows machines, which IP addresses are authorized, and so on. The first few lines of the file under the [global] line contain global configuration directives, which are common to all shares, unless they are over-ridden on a per-share basis, followed by share sections. A lot of options exist, and it's important to read the documentation that comes with Samba for more information on each of the different settings and parameters.
I want to tweak smb.conf without causing network hiccups for folks who rely on our samba4 fileshare. I made an obvious path change that should only affect my own private share, and ran smbcontrol smbd reload-config. It didn't complain, but didn't affect my share, either. SMBconf switches to SMB 1 on OS X 10.9 or later. OS X 10.9 (Mavericks) brought SMB 2 as the default network protocol; with OS X 10.10 (Yosemite), SMB 3 was added. If you face issues connecting to your NAS, or connections to Windows file servers don't work as expected (e.g., inability to rename files or folders), it may help to switch back to the slower but more reliable SMB 1. The following smb.conf file shows a sample configuration needed to implement a Windows NT4-based domain member server. Becoming a member server of an NT4-based domain is similar to connecting to an Active Directory. The main difference is NT4-based domains do not use Kerberos in their authentication method, making the smb.conf file simpler. Updating the smb.conf on Linux. When upgrading a Linux server, a small modification must be made to the usa share path to point to the new install. '/etc/samba/smb.conf' and change the path under the usa share to the path of the new Harmony install. I recently tried to connect to a other samba server for footage storage. So I edited the motion config file and then rebooted. Weird enough the camera took a unusal long time to reboot and then did not connect to the samba share.
The following configuration example is a minimal working configuration file for Samba with encrypted password support. Also, it's important to note that we comment in this Samba configuration only parameters that relate to security and optimization, and left other posiblities for you to explore.
In our example we have created just one directory, [tmp] and have allowed only class C machine IP address ranges to connect on the Samba server. Also, we don't use print-sharing capability between Samba and Windows on this server. Edit the smb.conf file, vi/etc/smb.conf and add/change the following parameters:
This tells the smb.conf file to set itself up for this particular configuration setup with:
[global].
workgroup = OPENNA The option workgroup specifies the workgroup your server will appear to be in when queried by clients. It's important to have the same workgroup name on both clients and servers.
server string = R&D of Open Network Architecture Samba Server The option server string specifies the string that you wish to show to your users in the printer comment box in print manager, or to the IPC connection in the net view command under Windows machines.
encrypt passwords = True The option encrypt passwords if set to True instructs Samba to use encrypted passwords instead of plain text password when negotiating with the client. Sniffer program will not be able to detect your password when it is encrypted. This option always must be set to True for security reasons.
security = user The option security, if set to user, specifies that a client must first log-on with a valid username and password, or the connection will be refused. This means that a valid username and password for the client must exit in your /etc/passwd file on the Linux server and in the /etc/smbpasswd file of the Samba server, or the connection from the client will fail. See Securing samba in this chapter for more information about the smbpasswd file.
smb passwd file = /etc/smbpasswd The option smb passwd file specifies the path to the encrypted smbpasswd file. The smbpasswd file is a copy of the /etc/passwd file of the Linux system containing valid usernames and passwords of clients allowed to connect to the Samba server. The Samba software reads this file, smbpasswd when a connection is requested.
log file = /var/log/samba/log.%m The option log file specifies the locations and names of Samba log files. With the name extension %m, it allows you to have separate log files for each user or machine that logs on your Samba server i.e.log.machine1.
socket options = IPTOS_LOWDELAY TCP_NODELAY The option socket options specifies parameters that you can include in your Samba configuration to tune and improve your samba server for optimal performance. By default we chose to tune the connection for a local network, and improve the performance of the Samba server for transferring files.
domain master = Yes The option domain master specifies to set nmbd, the Samba server daemon, as a domain master browser for its given workgroup. This option usually must be set to Yes only on one Samba server for all other Samba servers on the same network and workgroup.
local master = Yes The option local master allows nmbd, the Samba server daemon, to try to become a local master browser on a subnet. Like the above, usually this option must be set to Yes only on one Samba server that acts as a local master on a subnet for all the other Samba servers on your network.
preferred master = Yes The option preferred master specifies and controls if nmbd the Samba server daemon, is a preferred master browser for its workgroup. Once again, this must usually be set to Yes on one server for all the others on your network.
os level = 65 The option os level specifies by its value whether nmbd, the Samba server daemon, has a chance of becoming a local master browser for the Workgroup in the local broadcast area. The number 65 will win against any NT Server. If you have an NT Server on your network, and want to set your Linux Samba server to be a local master browser for the Workgroup in the local broadcast area then you must set the os level option to 65. Also, this option must be set only on one Linux Samba server, and must be disabled on all other Linux Samba servers you may have on your network.
dns proxy = No The option dns proxy if set to Yes specifies that nmbd, the Samba server daemon, when acting as a WINS server and finding that a Net BIOS name has not been registered, should treat the Net BIOS name word-for-word as a DNS name and do a lookup with the DNS server for that name on behalf of the name-querying client. Since we have not configured the Samba server to act as a WINS server, we don't need to set this option to Yes. Also, setting this option to Yes will degrade your Samba performance.
name resolve order = lmhosts host bcast The option name resolve order specifies what naming services to use in order to resolve host names to IP addresses, and in what order. The parameters we chose cause the local lmhosts file of samba to be examined first, followed by the rest.
bind interfaces only = True The option bind interfaces only if set to True, allows you to limit what interfaces will serve smb requests. This is a security feature. The configuration option interfaces = eth0 192.168.1.1 below completes this option.
interfaces = eth0 192.168.1.1 The option interfaces allows you to override the default network interface list that Samba will use for browsing, name registration and other NBT traffic. By default, Samba will query the kernel for the list of all active interfaces and use any interface, except 127.0.0.1, that is broadcast capable. With this option, Samba will only listen on interface eth0 on the IP address 192.168.1.1. This is a security feature, and completes the above configuration option bind interfaces only = True.
hosts deny = ALL The option hosts deny specifies the list of hosts that are not permitted access to Samba services unless the specific services have their own lists to override this one. For simplicity, we deny access to all hosts by default, and allow specific hosts in the hosts allow = option below.
Smb Config
hosts allow = 192.168.1.4 127.0.0.1 The option hosts allow specifies which hosts are permitted to access a Samba service. By default, we allow hosts from IP class C 192.168.1.4 and our localhost 127.0.0.1 to access the Samba server. Note that the localhost must always be set or you will receive some error messages.
debug level = 1 The option debug level allows the logging level to be specified in the smb.conf file. If you set the debug level higher than 2 then you may suffer a large drop in performance. This is because the server flushes the log file after each operation, which can be very expensive.
create mask = 0644 The option create mask specifies and sets the necessary permissions according to the mapping from DOS modes to UNIX permissions. With this option set to 0644, all file copying or creating from a Windows system to the Unix system will have a permission of 0644 by default.
directory mask = 0755 The option directory mask specifies and set the octal modes, which are used when converting DOS modes to UNIX modes when creating UNIX directories. With this option set to 0755, all directory copying or creating from a Windows system to the Unix system will have a permission of 0755 by default.
level2 oplocks = True The option level2 oplocks, if set to True, will increase the performance for many accesses of files that are not commonly written, such as .EXE application files.
read raw = no The option read raw controls whether or not the server will support the raw read SMB requests when transferring data to clients. Note that memory mapping is not used by the read raw operation. Thus, you may find memory mapping is more effective if you disable read raw using read raw = no, like we do.
write cache size = 262144 The option write cache size allows Samba to improve performance on systems where the disk subsystem is a bottleneck. The value of this option is specified in bytes, and a size of 262,144 represent a 256k cache size per file.
[tmp].
comment = Temporary File Space The option comment allows you to specify a comment that will appear next to a share when a client does queries to the server.
path = /tmp The option path specifies a directory to which the user of the service is to be given access. In our example this is the tmp directory of the Linux server.
Enable Smb 1
read only = No The option read only specifies if users should be allowed to only read files or not. In our example, since this is a configuration for the tmp directory of the Linux server, users can do more than just read files.
valid users = admin The option valid users specifies a list of users that should be allowed to login to this service. In our example only the user admin is allowed to access the service.
invalid users = root bin daemon nobody named sys tty disk mem kmem users The option invalid users specifies a list of users that should not be allowed to login to this service. This is really a paranoid check to absolutely ensure an improper setting does not breach your security. It is recommended that you include all default users that run daemons on the server.
PrevHomeNextConfigurationsUpConfigure the /etc/lmhosts file