SAMBA<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
SAMBA 服务的主要功能在于, unix linux windwos 这三者的 os 之间的文件共享服务。。它通过 smb portocol 这个协议来进行通讯。。 smb 的全名为。。 server message block samba 服务主要提供以下的四个服务。。
1 验证使用者的身份,并给予适当的权限。。。 2 可以共享文件和打印机。。。 3 可以提供 netblos 的名称解析(也就是可以扮演一台 windows 服务器) 4. 。。。。。可以浏览不同操作主机之间的资源
Samba 的主要进程有两个。。一个是 smbd 和 nmbd ,这两个主要进程。。第一个 smbd 进程负责 1 和 2 两个主要服务。。而 nmbd 是负责 3 和 4 这两个服务的。。。。
Samba 服务是一个系统服务。。。它是启动和停止都是在一个服务上进行的。。。它的软件套件。。分为四个。。。。。 samba , common, client swat 它的主要端口。。有以下这三个, 137 138 139 它的配置文件。。存放在。。。、、 /etc/samba/smb.conf 这个路径里。。。其他一些相关资料。。也存放在。 /etc/samba/* 这个目录文件里。。另外和这个 samba 相关的还有。。。。 system-config-samba 和 samba-swat 这两个图形界面。。。都是可以 设置 samba 这个服务的。。还有。。 samba 的日志文件都会记录在 /var/log/samba/* 这个文件下。。。
其中。。。 samba-swat 这个图形界面是通过。。。 901 端口。。来访问的。。如果要安装。。。 samba-swat 这个图形界面软件。。。。就要重启守护进程。。。。。用命令。。 chkconfig swat on 然后。。重启。。开启后。。用。。。。。。。。。。。。 Mozilla Firefox 浏览器。。。输入 127.0.0.1:901 就进入。。了 samba-swat 了。。。
下面在介绍一下 samba 的配置文件。。它是在 /etc/samba/smb.conf 的这个路径。。用 vi 编辑器打开。。。。预设会有。。。三大选项 global( 全局 ) homes (家目录) printers( 打印机 ) 这三打选项。。第一个是针对全局来设置的。。。第二个是针对。。用户。。。第三个是针对。。。打印机。。。注意。。 global 的设定会影响。。 homes 和 printers 这两个。。因为它是影响全局的。。。。。
我们来看看这个配置文件中的一些参数。。。。。
Public=no 是表示匿名用户不可使用。。。
Browsable=yes 表示用户可以看到其资源
Writable=no 表是用户不能往里些入东西。。
Printable=no 表示硬盘默认的分享目录
Group=yes 表示连接进来的用户会自动加入到这个,表示的用户组里
下面是。。一个例子。。。。。。。。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
上面的参数。。都是默认的。。。。。
我们要养成一个习惯。。在每次。。做配置文件修改时。。先要备份一份。。。。以避免出错。。。。。。命令为。。。。。。。。。。 cp /etc/samba/smb.conf 空格 /etc/samba/smb.conf.bak
用命令开启。。。。。 vi /etc/samba/smb.conf
那我们就来实验一下。。。。。。。。。。。来共享这个目录。。。。。。。。( /smbdata )
要求 : workgroup=RHCE
Share name=myshar
Not writable
Not allow anonymous access
Access this shared directory as tom
打开配置文件。。。。。。。
在。。。 global 的设定中。。。将 workgroup = mygroup 改为。。。 workgroup = RHCE
我们移到最后面。。。可能会看到一个。。设定的例子。。不用管他我们另起启一行,,,写
其实我们只想要写一行 就行了。。
【 myshare 】
Path = /smbdata
另外的不去设置它默认是 no 的。。。。想要去设置的话。。自己添加相应的设置。。。
存档并离开
再在去创建一个。。。。目录 mkdir /smbdata
用 touch /smbdata/hello.tom 的档案。。。。
用 useradd tom 创建一个 tom 账户。。。。。。。。
想要修改密码。。。。教大家一个小命令。。。。。。。
Echo 1234 | passwd –stdin tom 它是意思是说。。。将 1234 这个密码 连接输入到 tom 这个账号。。。
这样就可以从 windows 找到 linux 共享了。。。但是会遇到一个问题。。就是没有权限去登入它。。。怎么办呢。。。。下面我们来讲讲。。。 samba 的身份验证。。。。。也是在。。刚才那一个目录下去查看它。。。它是一个安全登入的选项。。。。。你会看到。。。 security = X 它这里会有四种方式。。。。
User 它是使用本机上的账号密码来做身分的验证(它是系统默认的方式)它这里指的本机密码并不是指在 /etc/shadow 而是。。 samba 的密码数据库是在 、 /etc/samba/smbpsswd 里
Share 的认证方式是不指定密码认证。。。也就是。。空密码。。匿名登入。。
Domain 它的认证方式。。是交给工作域里的一台指定计算机来完成的。。。。。
Ads 它是认证方式是。。。交给活动目录。。来做身份的认证。。。。。
在上面我们已经创建了一个 tom 的用户。。。我们可以用命令来查看一下,有没有 tom 这一个用户
Tail /etc/passwd 哪它就会显示出来有没有 tom 这个用户了。。。。
我们再来看看。。 samba 数据库里有没有 tom 密码的数据。。。命令为 cat /etc/samba/smbpsswd 可以发现什么都没有,这是为什么呢。。。应为我们还没有把 tom 这个用户加如到这个数据库中去。。所以就没有这个。。 tom 用户的内容了。。。。我们在这里要添加这个 tom 的。。。命令为
Smbpasswd –a tom ( 新增 tom 用户的密码 )
这里 a 的参数是 add 的意思
Enter 后输入两次相同的密码。。。即可 要记住了。。 samba 数据库的账号和 local 的账号是一样的。。。
除了上面 -a 的参数外。。另外。。还有以下几个参数。。。
不加参数的话表示。。要修改密码。。。例如。。。。 smbpasswd tom 表示要修改 tom 在 samba 数据库里的密码
………. –d 代表的是。。停掉这个用户。。。。 d 的参数代表的是 disable 的意思。。。。。。。。
。。。。。。 -e 代表的是。。。启用这个用户。。。 e 代表的是。。。 enable 的意思。。。。。。。。。
………..-x 代表的是。。。删除这个用户。。。 x 表示的是。。。 expurqation 的意思。。。。。。
下一步,我们再来介绍 ….smbclient 这一个工具。。。
是在客户端里输入。。。。。 smbclient//machine/share 除了 smbclient 以外。。则是一条 unc path
用这条命令来查看。。。。。区域内的共享资源。。。。。 smbclient –L hotname (这里要注意 L 是大写的)
比如。。。。 smbclient –L server01 或 192.168.1.10( 主要查看共享目录的 )
以上的设置都是匿名的。。他们以匿名的方式登入。。当然在配置文件里要做相应的设置。。。。如果不是匿名的。。要要特定的账号等如怎么办,那我就给它。。后面加上特定账号和密码好了。。。。
命令为。。。 smbclient –L 192.168.1.10 –U tom%1234
要想查寻网络内的 ip 可以用 nmblookup\* 它会一广播的方式去查询。。。。
最后,我要讲的是 mount 挂载。。。
命令为。。。。。。 mount //server/share /mnt/smb –o username=user%passwd
我们还可以让他实现自动挂载。。。。是在我们的 /etc/fstab 里去设定的。。。。。
第一步我们先去 mkdir 一个目录。。。。。 mkdir /mnt/smb
然后。。。我们加入。。。 vi /etc/fstab 在下面输入。。。。。
//192.168.1.10/myshar /mnt/smb ambfs defaults,username=tom%123 0 0
保存并离开。。。最后。。 reboot 。。。。开机后 mount look look 。。。。。。就 ok 了。。。。
转载于:https://blog.51cto.com/angel9999/114160