Ubuntu Samba服务器配置
Ubuntu Samba服务器配置
最近做开源软件方面的东西。有些时候一个包会涉及到好几个操作系统,其中就有windows和Linux,这两个OS之间传包不是很方便,不能用scp或者ssh上去操作,为方便起见,在自己的ubuntu上搭建了一个samba服务器,方便windows和linux间文件的共享。
1. 安装samba软件包
brandon@ubuntu:~$ sudo apt-get install samba
brandon@ubuntu:~$ sudo apt-get install smbfs
brandon@ubuntu:~$ smbd --version Version 4.1.6-Ubuntu
若要通过图形界面安装,还可安装软件包:python-glade2, system-config-samba。python-glade2可用于在创建GUI中调用Python的库,system-config-samba,也是基于GUI的对samba的管理包。
2.创建要共享的目录,并修改权限
brandon@ubuntu:~$ mkdir -p shareWindows brandon@ubuntu:~$ sudo chmod 777 shareWindows/
brandon@ubuntu:~$ ls -l | grep shareWindows drwxrwxrwx 2 brandon brandon 4096 4月 20 20:19 shareWindows
3.对原来的samba配置文件备份,然后修改samba配置文件
brandon@ubuntu:~$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
brandon@ubuntu:~$ sudo gedit /etc/samba/smb.conf
由于smb.conf文件是只读的,所以最好别强行修改权限后用vim修改,直接用gedit,文本编辑方式好操作一些。
修改已下字段:
# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = VMWARE
display charset = UTF-8
unix charset = UTF-8
[shareWindows]
comment = Ubuntu File Server Share
path = /home/brandon/shareWindows
available = yes
browseable = yes
guest ok = yes
read only = no
public = yes
writable = yes
create mask = 0755
directory mask = 0700
force user = nobody
force group = nogroup
brandon@ubuntu:~$ sudo chown nobody:nogroup /home/brandon/shareWindows/ brandon@ubuntu:~$ ls -l | grep shareWindows drwxrwxrwx 2 nobody nogroup 4096 4月 20 22:59 shareWindows
如果配置时想填写workstation name, 到windows机器上查询一下workstation name:
可以在cmd中输入命令:net config workstation
不加入同一个workgroup 也是可以的。force user = nobody force group = nogroup 和命令修改作用是一样的,选择其中一个就可。
然后重启一下samba服务:
brandon@ubuntu:~$ sudo service smbd restart
4.在windows机器上访问该文件夹
查询IP:
brandon@ubuntu:~$ ifconfig然后在windows机器上可以通过ip来访问samba server上的shareWindows文件夹:这里要输入相应的ip地址
可以看到建立的shareWindows文件夹了:
5.验证一下文件读写:
1)在linux机器上创建一个空文件夹, 在windows机器中查看
brandon@ubuntu:~$ cd shareWindows/ brandon@ubuntu:~/shareWindows$ touch new.txt brandon@ubuntu:~/shareWindows$ ls -l total 0 -rw-rw-r-- 1 brandon brandon 0 4月 20 23:37 new.txt在windows机器中查看,其中时间不一样是因为两个系统的时间没有设置统一
2).在windows机器中创建一个test.txt文件,并写入:This is a test file. 在ubuntu机器中查看
在ubuntu机器上查看:
brandon@ubuntu:~/shareWindows$ ls -l total 4 -rw-rw-r-- 1 brandon brandon 0 4月 20 23:37 new.txt -rwxr--r-- 1 nobody nogroup 22 4月 20 23:52 test.txt brandon@ubuntu:~/shareWindows$ cat test.txt This is a test file. brandon@ubuntu:~/shareWindows$6.还可以创建有管理权限的用户和组,并设置访问密码,这样从windows机器上访问时会提示输入密码。
brandon@ubuntu:~$ sudo addgroup smbgrp Adding group `smbgrp' (GID 1001) ... Done.
brandon@ubuntu:~$ ls -l | egrep ?Windows drwxrwxr-x 2 brandon smbgrp 4096 4月 21 00:20 secureWindows drwxrwxrwx 2 nobody nogroup 4096 4月 20 23:47 shareWindows
brandon@ubuntu:~$ sudo chmod 0770 /home/brandon/secureWindows/ brandon@ubuntu:~$ ls -l | egrep ?Windows drwxrwx--- 2 brandon smbgrp 4096 4月 21 00:20 secureWindows drwxrwxrwx 2 nobody nogroup 4096 4月 20 23:47 shareWindows
brandon@ubuntu:~$ sudo adduser brandon smbgrp Adding user `brandon' to group `smbgrp' ... Adding user brandon to group smbgrp Done.
brandon@ubuntu:~$ sudo smbpasswd -a brandon New SMB password: Retype new SMB password: Added user brandon. brandon@ubuntu:~$修改/etc/samba/smb.conf文件,添加新的samba共享文件字段
[secureWindows]
comment = Ubuntu File Server Share
path = /home/brandon/secureWindows
available = yes
valid users = @smbgrp
browseable = yes
guest ok = no
writable = yes
重启samba服务
brandon@ubuntu:~$ sudo service smbd restart smbd stop/waiting smbd start/running, process 13656
这时通过windows机器放问该文件夹是会提示输入密码:
验证:
输入密码进去,创建一个新文件。
在ubuntu机器上查看
brandon@ubuntu:~/secureWindows$ ls brandon@ubuntu:~/secureWindows$ ls fileFromWin.txt brandon@ubuntu:~/secureWindows$ cat fileFromWin.txt This is test at windows machine. brandon@ubuntu:~/secureWindows$
评论暂时关闭