其实在我看来samba有三点好处
a:是一个文件共享服务器,是linux与windows的沟通管道
b:可以作为打印print server提供windows远程联机打印,(有人会说windows也可以啊,但个人认为还是linux稳定些)
c:samba也可以作为wins server服务器,配合dhcp服务器可以管理NT网域。
2,samba每次启动至少有两个服务进程smbd,nmbd,它们分别的作用是?
smbd 用来管理samba主机分享什么什么目录,打印服务等
nmbd 用来管理群组,netbios name的解析
3,当samba启动的时候会用到那些端口呢?
samba启动的时候会用到137,138,139,三个端口所以我们在配置防火墙的时候会用到这三个端口的
4,samba的安装?
首先我们需要检测自己到底安装了samba服务没有,因为我们装系统的时候默认是装了samba服务的(我这里装的是fedora4)
[root@版本,下载地址为>1、 下载及安装Samba
推荐用yum来安装,这样它可以自己解决包的依赖关系,省时、省事又方便。一条命令搞定:
yum -y install samba
2、 配置Samba
关于Samba的配置网上资料一大堆,可照着很多教程一步一步做下去发现最后就是用不了,郁闷至极啊。
我的目的不是多仔细,多深入的教你Samba的好,而是教会你如何快速的可以将Samba用起来,因此安全性方面的东西考虑的不是很多。但为了照顾到大家不同档次的水平和口味,我还是尽可能的多写一些东西。
首先,我强烈的建议大家在修改系统原有任何文件的时候一定要养成“先备份,后修改”的好习惯,相信我,这个习惯会为侬节约很多不必要浪费的时间。接下来我要做的是将/home/目录下的用户“koorey”的主目录给挖出来,供我在windows下访问。步骤如下:
1) 备份Samba的配置文件:cp /etc/samba/smbconf /etc/samba/smbconfbak
2) 网上很多教程说针对/etc/samba/smbconf文件要在[global]字段中加入下配置项:
dos charset = GB2312 ←将Windows 客户端的文字编码设置为简体中文 GB2312
unix charset =GB2312 ←指定Samba所在的CentOS服务端新建文件或目录时的编码为 GB2312
display charset= GB2312 ←指定使用SWAT(一种通过浏览器控制Samba的工具)时页面的默认文字编码
directory mask =0777 ←指定新建目录的属性(以下4行)
force directorymode = 0777
directorysecurity mask = 0777
force directorysecurity mode = 0777
create mask =0777 ←指定新建文件的属性(以下4行)
force createmode = 0777
security mask =0777
force securitymode = 0777
声明:我没有加这些配置,而且在我在共享出来的目录里添加,修改删除文件都没任何问题,还没有乱码现象。
我在/etc/samba/smbconf文件的末尾之添加如下字段:
[koorey]
comment = koorey
path = /home/koorey
writable = yes
3) Linux中/etc/passwd里的用户和Samba里的用户几乎没啥关系,硬说有的话,那就是:Samba的所有用户都必须是系统里已存在的用户。我们要授权系统用户访问Samba的话,通过命令:
smbpasswd -a koorey #添加用户koorey到Samba用户数据库中
这条命令输入完后,会提示为新建的用户koorey设置访问密码。最后再执行一下service smb restart命令就OK了。至此,Samba服务器就架设好了。不信?为啥?因为后面还有章节,哈哈,说的没错。理论上说确实已经架设好了,可千万不要忽略了Linux的安全机制的存在:iptables和selinux。其中本人就吃了selinux不少苦头。因为只弄了iptables,却忘记了selinux这个牛叉叉的家伙。关于iptables本人会在后面的博客从头到脚,从里到外,循序渐进的以此和大家交待它的来龙去脉。当然,如果你感兴趣的话。
3、 在对待iptables的问题上:
普通青年:直接在命令行敲…
service iptables stop。
文艺青年:依次在命令行敲…
iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 137 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 138-j ACCEPT
iptables-save
service iptables restart
4、 同样,在对在selinux的问题上:(这丫的把我坑惨了呀)
普通青年:直接在命令行敲…
setenforce 0
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled为开机重启后不再执行setenfore节约光阴。
文艺青年:依次在命令行敲…
setsebool -Psamba_enable_home_dirs on
setsebool -Psamba_export_all_rw on
完事儿之后再:getsebool -a | grep samba一把,你懂得…
5、最后在Windows系统里,访问结果如下:
6、打完收工。
不管你是普通青年还是文艺青年,如果你是一步一步照着做下来的,结果最后Samba还不通,请留言告诉我。第一步: 更改smbconf
我们来实现一个最简单的功能,让所有用户可以读写一个Samba 服务器共享的一个文件夹;我们要改动一下smbconf ;
首先您要备份一下smbconf文件;
[root@localhost ~]# cd /etc/samba
[root@localhost samba]# mv smbconf smbconfBAK
然后我们来重新创建一个smbconf文件;
[root@localhost samba]#touch smbconf
然后我们把下面这段写入smbconf中;
[global]
workgroup = LinuxSir
netbios name = LinuxSir05
server string = Linux Samba Server TestServer
security = share
[linuxsir]
path = /opt/linuxsir
writable = yes
browseable = yes
guest ok = yes
注解:
[global]这段是全局配置,是必段写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;
如果用share呢,就是不用设置用户和密码了;
[linuxsir] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writable 是否可写,这里我设置为可写;(设置目录其他用户对这个目录有“写”的权限)
browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,
那就设置为 browseable=no
guest ok 匿名用户以guest身份是登录;
第二步:建立相应目录并授权(可以略掉);
[root@localhost ~]# mkdir -p /opt/linuxsir
[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@localhost ~]# chown -R nobody:nobody /opt/linuxsir
注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;
第三步:启动smbd和nmbd服务器;
[root@localhost ~]# smbd
[root@localhost ~]# nmbd
第四步:查看smbd进程,确认Samba 服务器是否运行起来了;
[root@localhost ~]# pgrep smbd
13564
13568
第五步:访问Samba 服务器的共享;
在Linux 中您可以用下面的命令来访问;
[root@localhost ~]# smbclient -L //LinuxSir05
Password: 注:直接按回车
在Windows中,您可以用下面的办法来访问;
在运行里输入:
\\计算机名地(IP)
>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)