SMB协议(Server Message Block),之后扩展成CIFS(Common Internet Filesystem)。
CentOS如果把iso文件设置为安装源,需要在打开软件包管理器之前mount iso文件,打开软件包管理器之后,再mount iso文件是无效的。
Samba即Windows 文件服务器。
[root@localhost ~]# service smb status // 查询Samba服务器状态
smbd 已停
nmbd 已停
[root@localhost ~]# service smb start // 启动Samba服务器
启动 SMB 服务: [确定]
启动 NMB 服务: [确定]
[root@localhost ~]# service smb status // Samba服务器现在正在运行之中
smbd (pid 31914) 正在运行...
nmbd (pid 31917) 正在运行...
Windows网上邻居只能看到属于同一个组中的计算机?在电脑属性中修改组名之后,还需要重启系统才会生效。开始Group名称是MsHOME(只有几台机子),改为WORKGROUP之后,发现了很多的共享目录,但是大部分是打不开的。
[root@localhost ~]# which mksmbpasswd.sh
/usr/bin/mksmbpasswd.sh // 可以将/etc/passwd信息转换成/etc/samba/smbpasswd...
Samba软件:
已经安装的Samba软件包:[root@localhost ~]# rpm -qa | grep samba
samba-client-3.0.33-3.15.el5_4.1
samba-common-3.0.33-3.15.el5_4.1
samba-3.0.33-3.15.el5_4.1
system-config-samba-1.2.41-5.el5
系统中所有和Samba有关的软件包:
[root@localhost ~]# yum search samba
Loaded plugins: fastestmirror
samba.i386 : Samba SMB 服务器。
samba-client.i386 : Samba (SMB) 客户程序。
samba-common.i386 : 用在 Samba 服务器和客户机上的文件。
samba-swat.i386 : Samba SMB 服务器配置程序。// Samba图形化配置工具?
sblim-cmpi-dns.i386 : SBLIM WBEM-SMT Dns
sblim-cmpi-samba.i386 : SBLIM WBEM-SMT Samba
sblim-cmpi-samba-devel.i386 : SBLIM WBEM-SMT Samba - Header Development Files
sblim-cmpi-samba-test.i386 : SBLIM WBEM-SMT Samba - Testcase Files
sblim-tools-libra.i386 : SBLIM Common Resource Access Library for WBEM-SMT tasks
sblim-tools-libra-devel.i386 : SBLIM Common Resource Access Library for WBEM-SMT
: tasks Header Development Files
system-config-samba.noarch : Samba 服务器配置工具
Samba配置:
[root@localhost ~]# testparm /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions // 检查Samba配置的语法
[global] // Samba配置内容
server string = Tomato %v
passdb backend = tdbsam
cups options = raw
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
Samba服务器状态:
[root@localhost ~]# smbstatus
Samba version 3.0.33-3.15.el5_4.1
PID Username Group Machine
------------------------------------------------------------------- // 当前没有设置共享文件
Service pid machine Connected at
-------------------------------------------------------
No locked files
Samba运行出错(诊断与分析):
NetBIOS是建立主机名和IP之间的联系。如果一个子网内有两台机子的名称是相同的,运行就会出错?
开始时本机的名称居然是:
[root@localhost ~]# hostname
localhost
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost 改为Node1
GATEWAY=10.x.x.x
[root@localhost ~]# hostname -v // 修改HostName为 Node1之后,hostname命令显示的主机名还未发生变化。
gethostname()=`localhost'
localhost
重启后,主机名修改生效:
[root@Tomato ~]# hostname
Node1
开始尝试连接本机了:
[root@Tomato ~]# smbclient -L //SMBServer
Connection to SMBServer failed (Error NT_STATUS_BAD_NETWORK_NAME)
[root@Tomato ~]# smbclient -L //Tomato // 开始有点成功的征兆了:)
Password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.33-3.15.el5_4.1]
Sharename Type Comment
--------- ---- -------
dirs Disk share
IPC$ IPC IPC Service (Tomato 3.0.33-3.15.el5_4.1)
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.33-3.15.el5_4.1]
Server Comment
--------- -------
TOMATO Tomato 3.0.33-3.15.el5_4.1
XOGER
Workgroup Master // 这个Master是自动选择的吗?
--------- -------
WORKGROUP XOGER
启动samba服务器,XP还需要关闭服务器,已经可以发现Samba主机了。
可以看到各个工作组的
刚开始说网络存在同名,Samba主机总是打不开,后来修改了主机名。重启Linux,才发现主机名已经更改过来。从XP打开,还总是显示为localhost,点击图标马上出错。(重启XP后,显示不不再是localhost,已经可以点击进目录了。。。)
显示为localhost,即使Samba服务器已经更新,Xp还是需要重启?
Samba服务器名字怪异的原因找到了。。。(后面使用了Samba的系统变量) #server string = Tomato %v
权限错误:
成功添加samba用户
[root@Tomato ~]# smbpasswd -a samba // 之前samba通过useradd -M已经加到系统中
New SMB password:
Retype new SMB password:
Added user samba.
为什么一点击,马上权限报错的原因找出了。是文件夹的mode设置的问题。 设置模式开始是 666,改为655就好了。。。
文件传送成功:
文件夹属性修改后,文件终于传送成功。。。。(不过怎么不用验证的啊?)
登录权限:
security = share, 登录Samba服务器不需要输入账号密码。改为security = user之后,登录,需要输入账号密码,但是怎么显示错误了呢?
修改密码文件权限:
-rw-r--r-- 1 root root 20 12-08 22:31 lmhosts
-rw------- 1 root root 4096 01-16 06:18 passdb.tdb
-rw------- 1 root root 8192 01-17 00:59 secrets.tdb
-rw-r--r-- 1 root root 10068 01-17 17:10 smb.conf
-rw-r--r-- 1 root root 0 01-17 17:09 smbpasswd
-rw-r--r-- 1 root root 97 12-08 22:31 smbusers
[root@Tomato ~]# chmod 600 /etc/samba/smbpasswd -v
“/etc/samba/smbpasswd” 的权限模式已更改为 0600 (rw-------)
[root@Tomato ~]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
[root@Tomato ~]# cat /etc/samba/smbpasswd
可能是SELinux还有关系,这里并没有禁用SELinux。。。
[root@Tomato ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0
现在添加用户成功了吗?
[root@Tomato ~]# smbpasswd -a xxxeee
New SMB password:
Retype new SMB password:
Failed to modify password entry for user xxxeee
[root@Tomato ~]# smbpasswd -a xxxeeee
New SMB password:
Retype new SMB password:
Failed to modify password entry for user xxxeeee
[root@Tomato ~]# smbpasswd -a samba
New SMB password:
Retype new SMB password:
Added user samba.
[root@Tomato ~]# cat /etc/samba/smbpasswd //这次确实把密码写到文件中了:)
samba:502:CCF9155E3E7DB453AAD3B435B51404EE:3DBDE697D71690A769204BEB12283678:[U ]:LCT-4B52F4C8:
修改文件夹的所有者:
[root@Tomato ~]# chown samba:samba /share/ -v
“/share/” 的所有者已更改为 samba:samba
原来:drwxrwxrwx 3 root root 4096 01-17 15:27 share
现在:drwxrwxrwx 3 samba samba 4096 01-17 15:27 share
删除Samba用户:[root@Tomato ~]# smbpasswd -x root
Deleted user root.
[root@Tomato ~]# smbpasswd -x samba
Deleted user samba.
操作记录: