Linux samba对于电脑使用的玩家的常用软件,然后我就学习及深入的研究Linux samba,在这里和大家一起探讨Linux samba的使用方法,希望对大家有用。Linux samba服务器的设置笔记 .
环境:
Linux OS:Fedora10
Samba:sambe3.2.4
- 1.
- 2.
1.查看系统默认的Linux samba版本号
登录FEDORA10后,使用
[root@localhost ~] whereis samba
samba: /etc/samba /usr/lib/samba /usr/share/man/man7/samba.7.gz
[root@localhost ~] rpm qa samba
samba3.2.40.22.fc10.i386
[root@localhost ~]
- 1.
- 2.
- 3.
- 4.
- 5.
已经安装了Linux samba3.2.4版本,不需要再手工安装,这是系统默认装的,可以用service smb start启动samba服务;
之前在CentOS5.3上手工装的Linux samba可以先删除掉,且将/etc/profile文件中的PATH变量恢复原样,以及将/etc/man.config文件恢复原样;使用系统默认的Linux samba服务和配置文件去设置;
2.设置smb.conf文件
参考文章http://doc.chinahtml.com/manual/rhlcgzh_cn9/s1sambaconfiguring.html命令行配置要指定 Windows 工作组和对它的简短描述,编辑 smb.conf 文件中的以下几行:
workgroup WORKGROUPNAME
server string BRIEF COMMENT ABOUT SERVER
- 1.
- 2.
把 WORKGROUPNAME 换成你的机器所属的 Windows 工作组名。BRIEF COMMENT ABOUT SERVER 是可选的,它被用作关于 Samba 系统的 Windows 注释。
要在你的 Linux 系统上创建 Linux samba 共享目录,在 smb.conf 文件中添加以下几行(根据你和你的系统需要修改了该文件之后):
[sharename] 共享文件夹的显示名称
comment Insert a comment here comment注释
path /home/share/ 共享的物理路径
valid users tfox carole 共享文件的可访问用户,此项一般是在“security user”情况下;
public no 不公开
writable yes 可写
printable no 不可打印
create mask 0765 默认建立文件的权限
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
以下为我的文件(security user 时):
[sharename]
comment Insert a comment here (test)
path /home/share/
valid users chenxin
public no
writable yes
printable no
create mask 0765
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
3.“smbpasswd的添加”以及“物理路径下文件权限的修改”:
之后通过//192.168.0.61访问,发现无论输入哪个帐户,都无法访问;之后用:smbpasswd a chenxin 输入新的密码后(我设置了一个和系统用户chenxin的密码一样的smb密码chenxin2006@),再重启smb服务,即可以访问Linux samba服务器了,但内部文件夹内还是无法创建文件:
原因是/home/share 文件夹的权限是755,所以将/home/share文件夹的权限更改为777,问题解决。同时,利用默认的chenxin账户去访问时,在默认共享出来的/home/chenxin文件夹中,可以任意增删文件;
4.匿名访问的权限问题以及匿名访问的smb.conf文件的修改
之后查找匿名访问并可随意读写的问题:在配置文件中,添加如下语句,
[anonymity]
comment Anonymity
path /home/anonymity
public yes
writable yes
printable no
create mask 0765
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
这样,就可以通过匿名账号访问/home/anonymity文件夹了,而且不需要账号密码,就具有了读写权限,同时,原先的/home/share文件夹是需要用户验证的,所以share文件夹访问不了,会提示输入guest账号的密码;
其他:尝试以下内容在系统里新建了一个Guest账号,密码设置为chenxin2006@,且用smbpasswd a Guest添加了smb的密码,***在/etc/samba/smb.conf文件的[sharename]位置后,也就是修改为 valid users chenxin Guest 后,在访问sharename文件夹,windows系统跳出来的用户身份验证信息中,用户名仍然是灰色的“Guest”,密码栏无论怎么输入,都访问不了,这可能和windows系统有关系吧;
默认情况下,在添加系统账号后,/home下生成的用户主目录的权限是700,故在设定其他账号访问此目录下的子文件夹的时候,请注意权限问题!
5.说明
为注释文件;为用户可能需要启用的功能;系统中默认安装的samba3.2.4版本的smb.conf文件中有很多比较好的例程,可以加以修改采用;同时,smb.conf中有很多解释语句,更好的理解配置文件;
附录我的smb.conf整个文件内容:
This is the main Samba configuration file. You should read the
smb.conf(5) manual page in order to understand the options listed
here. Samba has a huge number of configurable options (perhaps too
many!) most of which are not shown in this example
For a step to step guide on installing, configuring and using samba,
read the SambaHOWTOCollection. This may be obtained from:
http://www.samba.org/samba/docs/SambaHOWTOCollection.pdf
Many working examples of smb.conf files can be found in the
SambaGuide which is generated daily and can be downloaded from:
http://www.samba.org/samba/docs/SambaGuide.pdf
Any line which starts with a ; (semicolon) or a (hash)
is a comment and is ignored. In this example we will use a
for commentry and a ; for parts of the config file that you
may wish to enable
NOTE: Whenever you modify this file you should run the command "testparm"
to check that you have not made any basic syntactic errors.
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
SELINUX NOTES:
If you want to use the useradd/groupadd family of binaries please run:
setsebool P samba_domain_controller on
If you want to share home directories via samba please run:
setsebool P samba_enable_home_dirs on
If you create a new directory you want to share you should mark it as
"sambashare_t" so that selinux will let you write into it.
Make sure not to do that on system directories as they may already have
been marked with othe SELinux labels.
Use ls ldZ /path to see which context a directory has
Set labels only on directories you created!
To set a label use the following: chcon t samba_share_t /path
If you need to share a system created directory you can use one of the
following (readonly/readwrite):
setsebool P samba_export_all_ro on
or
setsebool P samba_export_all_rw on
If you want to run scripts (preexec/root prexec/print command/...) please
put them into the /var/lib/samba/scripts directory so that smbd will be
allowed to run them.
Make sure you COPY them and not MOVE them so that the right SELinux context
is applied, to check all is ok use restorecon R v /var/lib/samba/scripts
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
Global Settings
[global]
Netwrok Related Options
workgroup NTDomainName or WorkgroupName, eg: MIDEARTH
server string is the equivalent of the NT Description field
netbios name can be used to specify a server name not tied to the hostname
Interfaces lets you configure Samba to use multiple interfaces
If you have multiple network interfaces then you can list the ones
you want to listen on (never omit localhost)
Hosts Allow/Hosts Deny lets you restrict who can connect, and you can
specifiy it as a per share option as well
workgroup MYGROUPCHENXIN
server string Chenxin Samba Server Version %v
; netbios name MYSERVER
; interfaces lo eth0 192.168.12.2/24 192.168.13.2/24
; hosts allow 127. 192.168.12. 192.168.13.
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
Logging Options
Log File let you specify where to put logs and how to split them up.
Max Log Size let you specify the max size log files should reach
logs split per machine
log file /var/log/samba/log.%m
max 50KB per log file, then rotate
max log size 50
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
Standalone Server Options
Scurity can be set to user, share(deprecated) or server(deprecated)
Backend to store user information in. New installations should
use either tdbsam or ldapsam. smbpasswd is available for backwards
compatibility. tdbsam requires no further configuration.
security user
security share
passdb backend tdbsam
Domain Members Options
Security must be set to domain or ads
Use the realm option only with security ads
Specifies the Active Directory realm the host is part of
Backend to store user information in. New installations should
use either tdbsam or ldapsam. smbpasswd is available for backwards
compatibility. tdbsam requires no further configuration.
Use password server option only with security server or if you can't
use the DNS to locate Domain Controllers
The argument list may include:
password server My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
or to autolocate the domain controller/s
password server *
; security domain
; passdb backend tdbsam
; realm MY_REALM
; password server <NTServerName>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
Domain Controller Options
Security must be set to user for domain controllers
Backend to store user information in. New installations should
use either tdbsam or ldapsam. smbpasswd is available for backwards
compatibility. tdbsam requires no further configuration.
Domain Master specifies Samba to be the Domain Master Browser. This
allows Samba to collate browse lists between subnets. Don't use this
if you already have a Windows NT domain controller doing this job
Domain Logons let Samba be a domain logon server for Windows workstations.
Logon Scrpit let yuou specify a script to be run at login time on the client
You need to provide it in a share called NETLOGON
Logon Path let you specify where user profiles are stored (UNC path)
Various scripts can be used on a domain controller or standalone
machine to add or delete corresponding unix accounts
; security user
; passdb backend tdbsam
; domain master yes
; domain logons yes
the login script name depends on the machine name
; logon script %m.bat
the login script name depends on the unix user used
; logon script %u.bat
; logon path \\%L\Profiles\%u
disables profiles support by specifing an empty path
; logon path
; add user script /usr/sbin/useradd "%u" n g users
; add group script /usr/sbin/groupadd "%g"
; add machine script /usr/sbin/useradd n c "Workstation (%u)" M d /nohome s /bin/false "%u"
; delete user script /usr/sbin/userdel "%u"
; delete user from group script /usr/sbin/userdel "%u" "%g"
; delete group script /usr/sbin/groupdel "%g"
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
Browser Control Options
set local master to no if you don't want Samba to become a master
browser on your network. Otherwise the normal election rules apply
OS Level determines the precedence of this server in master browser
elections. The default value should be reasonable
Preferred Master causes Samba to force a local browser election on startup
and gives it a slightly higher chance of winning the election
; local master no
; os level 33
; preferred master yes
Name Resolution
Windows Internet Name Serving Support Section:
Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
WINS Support: Tells the NMBD component of Samba to enable it's WINS Server
WINS Server: Tells the NMBD components of Samba to be a WINS Client
WINS Proxy: Tells Samba to answer name resolution queries on
behalf of a non WINS capable client, for this to work there must be
at least one WINS Server on the network. The default is NO.
DNS Proxy tells Samba whether or not to try to resolve NetBIOS names
via DNS nslookups.
; wins support yes
; wins server w.x.y.z
; wins proxy yes
; dns proxy yes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
Printing Options
Load Printers let you load automatically the list of printers rather
than setting them up individually
Cups Options let you pass the cups libs custom options, setting it to raw
for example will let you use drivers on your Windows clients
Printcap Name let you specify an alternative printcap file
You can choose a non default printing system using the Printing option
load printers yes
cups options raw
; printcap name /etc/printcap
obtain list of printers automatically on SystemV
; printcap name lpstat
; printing cups
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
Filesystem Options
The following options can be uncommented if the filesystem supports
Extended Attributes and they are enabled (usually by the mount option
user_xattr). Thess options will let the admin store the DOS attributes
in an EA and make samba not mess with the permission bits.
Note: these options can also be set just per share, setting them in global
makes them the default for all shares
; map archive no
; map hidden no
; map read only no
; map system no
; store dos attributes yes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
Share Definitions
[homes]
comment Home Directories
browseable no
writable yes
; valid users %S
; valid users MYDOMAIN\%S
[printers]
comment All Printers
path /var/spool/samba
browseable no
guest ok no
writable no
printable yes
Uncomment the following and create the netlogon directory for Domain Logons
; [netlogon]
; comment Network Logon Service
; path /var/lib/samba/netlogon
; guest ok yes
; writable no
; share modes no
Uncomment the following to provide a specific roving profile share
the default is to use the user's home directory
; [Profiles]
; path /var/lib/samba/profiles
; browseable no
; guest ok yes
A publicly accessible directory, but read only, except for people in
the "staff" group
; [public]
; comment Public Stuff
; path /home/samba
; public yes
; writable yes
; printable no
; write list +staff
[sharename]
comment Insert a comment here 锛坱est锛?path /home/share/
valid users chenxin
public no
writable yes
printable no
create mask 0765
[anonymity]
comment Anonymity
path /home/anonymity
public yes
writable yes
printable no
create mask 0765
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
【编辑推荐】