samba安装和启动
samba的源码安装采用最新版本samba-4.1.14,官网下载。安装过程如下:
$ sudo mkdir /usr/local/samba-4.1.14
$ ./configure --prefix=/usr/local/samba-4.1.14
...
Checking for program xsltproc : not found
Checking for program python : /usr/bin/python
Checking for program python : /usr/bin/python
Checking for program python : /usr/bin/python
Checking for Python version >= 2.5.0 : ok 2.7.6
Checking for library python2.7 : not found
Checking for library python2.7 : yes
Checking for program python2.7-config : not found
Checking for program python-config-2.7 : not found
Checking
for custom code
: Could not find the python development headers
/home/anonymalias/Downloads/samba-4.1.14/wscript:100:
error: the configuration failed (see
'/home/anonymalias/Downloads/samba-4.1.14/bin/config.log')
上面错误的原因是samba必须依赖python,执行
$ sudo apt-get install python-dev
后面就是make &&sudo make install,安装ok后,安装目录结构如下:
/usr/local/samba-4.1.14$ ls
bin etc include lib private sbin share va
将源码文件下默认的conf文件拷贝到安装目录下的etc目录中
/usr/local/samba-4.1.14$ cp /home/anonymalias/Downloads/samba-4.1.14/examples/smb.conf.default etc/smb.conf
修改smb.conf中配置
global段添加如下字段
[global]
...
netbios name = ubuntu
共享资源字段采用默认配置
[homes]
comment = Home Directories
browseable = no
writable = yes
# NOTE: If you have a BSD-style print system there is no need to
# specifically define each individual printer
[printers]
comment = All Printers
path = /usr/spool/samba
browseable = no
# Set public = yes to allow user 'guest account' to print
guest ok = no
writable = no
printable = yes
添加用户名为Ubuntu的账户,
/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:
samba服务器的用户是依赖于linux的用户,只能添加linux中已存在的用户,否则会出现如下错误:
/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a user1
New SMB password:
Retype new SMB password:
Failed to add entry for user user1.
启动samba 服务
/usr/local/samba-4.1.14$ sudo sbin/nmbd
/usr/local/samba-4.1.14$ sudo sbin/smbd
在Windwos文件管理器或直接win+R,输入server ip,可以看到如下界面:
1、安装有关Samba的RPM包(samba、samba-common、samba-client)2、创建Samba用户
3、修改配置文件
4、重启samba服务
5、设置目录访问权限
6、测试
具体步骤如下:
1、安装RPM包(缺省情况下RHEL5安装了samba的相关软件包,可以用如下命令查看)
[root@localhost ~]#rpm -qa | grep samba
samba -----samba服务器程序的所有文件
samba-common -----提供了Samba服务器和客户机中都必须使用的公共文件
samba-client -----提供了Samba客户机的所有文件
samba-swat -----以Web界面的形式提供了对Samba服务器的管理功能
2、创建samba用户
[root@localhost ~]#smbpasswd -a user1 (“-a”是创建samba用户,“-x”是删 [root@localhost ~]#smbpasswd -a user2 除samba用户,“-d”是禁用samba用
[root@localhost ~]#smbpasswd -a user3 户帐号,“-e”是启用samba用户帐号)
3、修改配置文件
samba配置文件的位置:/etc/samba/smb.conf
[root@localhost ~]#vim /etc/samba/smb.conf
Vi大开配置文件后,首先介绍一下Samba服务器的安全级别,如图所示:系统默认设置“user”
Samba服务器的安全级别分为5种,分别是user、share、server、domain和ads。在设置不同的级别时,samba服务器还会使用口令服务器和加密口令。
1、user -----客户端访问服务器时需要输入用户名和密码,通过验证后,才能使用服务器的共享资源。此级别使用加密的方式传送密码。
2、share -----客户端连接服务器时不需要输入用户名和密码
3、server -----客户端在访问时同样需要输入用户名和密码,但是,密码验证需要密码验证服务器来负责。
4、domain -----采用域控制器对用户进行身份验证
5、ads -----若samba服务器加入到Windows活动目录中,则使用ads安全级别,ads安全级别也必须指定口令服务器
共享目录的配置
[homes] -----samba用户的宿主目录
comment = Home Directories -----设置共享的说明信息
browseable = no -----目录浏览权限
writable = yes -----用户对共享目录可写
这个共享目录只有用户本身可以使用,默认情况下,用户主目录位于/home目录下,每个Linux用户有一个以用户名命名的子目录。
以下是共享打印机的设置:
[printers] -----共享打印机
comment = All Printers -----设置共享的说明信息
path = /var/spool/samba -----指定共享目录的路径
browseable = no -----目录浏览权限
guest ok = no -----允许来宾访问
writable = no -----用户对共享目录可写
printable = yes -----可以打印
以上是系统默认设置
添加自定义的共享目录:( user1对/ASUS有所有权,user2拥有只读权限,其他用户不能访问;public共享目录允许所有用户访问及上传文件)
[ASUS]
comment = user1 Directories -----设置共享的说明信息
browseable = yes -----所有samba用户都可以看到该目录
writable = yes -----用户对共享目录可写
path = /ASUS -----指定共享目录的路径
[public]
comment = all user Directories -----设置共享的说明信息
browseable = yes -----所有samba用户都可以看到该目录
writable = yes -----用户对共享目录可写
path = /public -----指定共享目录的路径
guest ok = yes -----允许来宾访问
4、修改完配置文件后需要重启samba服务
[root@localhost ~]#service smb restart
Samba服务器包括两个服务程序
2 smbd
? smbd服务程序为客户机提供了服务器中共享资源的访问
2 nmbd
? nmbd服务程序提供了NetBIOS主机名称的解析,为Windows网络中域或者工作组内的主机进行主机名称的解析
5、设置目录权限
[root@localhost ~]#mkdir /ASUS ------创建要共享目录
[root@localhost ~]#mkdir /public ------创建要共享的目录
[root@localhost ~]#chmod 750 /ASUS ------修改/ASUS权限(属主拥有
所有权,属组只读,其它用户不能访问)
[root@localhost ~]#chown user1 /ASUS ------将/ASUS的属主改为user1
[root@localhost ~]#groupadd ASUS ------添加ASUS组
[root@localhost ~]#usermod –G ASUS user1 ------将user1加入到ASUS组
[root@localhost ~]#usermod –G ASUS user2 ------将user2加入到ASUS组
[root@localhost ~]#chgrp ASUS /ASUS ------将/ASUS的属组改为
ASUS
[root@localhost ~]#chmod 777 /public ------给所有用户分配完全控制
权限
配置完成后,还要检查/etc/service文件中以“netbios”开头的记录,正确的文件
记录如下所示,如果这些记录前有#或没有这些记录,应手工添加,否则用户无
法访问Linux服务器上的共享资源
6、测试
找一台内网windows客户端,打开“网上邻居 ”,输入samba服务器的IP点击
“搜索”
如图所示:已经搜索到
双击打开,如图所示:提示输入用户名和密码,先来输入user1的用户名和密码
作测试。
登录成功,
打开user1的宿主目录,此目录user1是拥有所有权限的,创建一个目录测试一
下,如图所示:可以创建
Public目录是允许任何用户上传、下载及删除文件,如图所示
User1对ASUS目录拥有完全控制权限,所以user1可以在此目录下作任何操作
切换另一个用户测试,由于我们在同一台计算机上作测试,测试之前首先要清楚
计算机上的缓存,如图所示:打开 “命令提示符模式”,“net use /del *”是清
除计算机上缓存
重新打开网上邻居,找到Samba 服务器的共享资源,以user2的身份登录
以下几幅图片可以看到,user2对ASUS目录拥有只读权限,对public、user2目
录拥有所有权
再切换一个用户登录,记得要清除缓存哦,输入user3的用户名及密码
如图所示:user3无法访问ASUS目录
User3只对user3和public目录拥有所有权
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)