Linux Samba服务器搭建

Linux Samba服务器搭建

SMB协议(Server Message Block),之后扩展成CIFS(Common Internet Filesystem)

CentOS如果把iso文件设置为安装源,需要在打开软件包管理器之前mount iso文件,打开软件包管理器之后,再mount iso文件是无效的。
SambaWindows 文件服务器
[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 -asamba // 之前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.

操作记录

100130: smb服务启动,使用 smbd& ,是不行的,需要使用的命令是 service smb start

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110778.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号