samba文件共享服务可以让linux和linux系统、linux和windows系统之间共享文件
服务查询
默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分,为了对整个过程有一个完整的了解,在此先将这部分卸载掉。使用命令
rpm -qa | grep samba,默认情况下可以查询到两个已经存在的包:
samba-client-xxx-xxx
samba-common-xxx.xxx
卸载Samba
用rpm -e 将两个包卸载掉。对于samba-common-xxx.xxx,因为与其它rpm包之间存在依赖关系,所以必须加参数-f和--nodeps,-f是指强制,--nodeps是指不检查依赖关系,具体完整命令为:
rpm -e samba-common-xxx -f --nodeps
rpm -e samba-client-xxx -f –nodeps
挂在镜像文件
因为安装samba你需要下载对应的安装包,一般系统盘就有这些软件,所以可以直接挂载上去
mount -o loop /home/rhel-server-6.2-x86_64-dvd.iso /media/OS
这样就将系统盘挂载到指定的OS目录了,在OS目录下的Packages下有很多安装包可以使用。
安装Samba
用以下命令安装:
rpm -ivh samba-xxx.rpm -f --nodeps
rpm -ivh samba-client-xxx.rpm -f --nodeps
rpm -ivh samba-common-xxx.rpm -f --nodeps
安装完成后,使用命令rpm -qa | grep samba进行查询,发现搭建samba服务器所依赖的所有服务器都已经安装好了即可。
安装完成后配置/etc/samba/smb.conf配置文件,你可以备份原来的配置,把下面的配置覆盖当前配置即可:
[global]workgroup=takecarnetbios name=Linux-108.12server string=Linux Samba Server TestServer#security=sharesecurity=usermap to guest=Bad User[takecar]path=/opt/takecarwritable=yesbrowseable=yesguest ok=yes以上就是配置匿名用户共享目录/opt/takecar
其中writable是写入权限、browseable是浏览权限、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
关闭和查询服务
pkill smbd
pkill nmbd
pgrep smbd
pgrep nmbd
如果启动后不能访问可能是防火墙原因,关闭防火墙
service iptables stop
chkconfig iptables off
设置服务开机启动 ntsysv命令可以进入图形界面设置,如果windows不能建立linux的共享目录可能是window中的某个服务原因。
可以在运行输入 secpol.msc命令 进入本地策略/安全选项, 设置
直接用进程杀死程序
ps -ef|grep smb
kill -9 pid #pid 为相应的进程号#直接查看指定端口的进程pid
netstat -anp|grep 9217