分类: LINUX
2009-03-24 15:34:36
1、安装samba服务。
sudo apt-get install samba smbfs
2、建立一个共享share。可以匿名访问,只能读。用户smbuser可以写和读。
1)、sudo groupadd -g 300 smb
2)、sudo useradd -u 300 -g 300 -d /dev/null -s /dev/null smbguest
3)、smbguest 要和你在 guest account = smbguest 字段中定义的一致(见后面修改smb配置文件)。
4)、sudo useradd -u 301 -g 300 -d /dev/null -s /dev/null smbuser
5)、security = user
#security = share (share为共享时不需要权限验证,不安全的。默认为user)
6)、sudo mkdir /home/smbhome
7)、sudo chown smbuser /home/smbhome
8)、sudo chgrp smb /home/smbhome
9)、sudo chmod 0775 /home/smbhome
10)、sudo smbpasswd -a smbuser
注:
添加smb帐户并设置密码
sudo smbpasswd -a smbuser
删除smb帐户
sudo smbpasswd -x smbuser
3、修改smb配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo gedit /etc/samba/smb.conf
搜索以下行,并修改:
; workgroup = MSHOME
去掉注释符;,并修改MSHOME为你的工作组名。
; security = user
去掉注释符;使用user认证模式。
; guest account = nobody
去掉注释符;,并修改nobody为smbguest。
按以下配置修改[homes]域:
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mask = 0755
directory mask = 0755
printable = no
wide links = no
注:通过Homes段,Samba可以得到用户的Home目录并使之共享。
在配置文件最后添加[share]域:
[share]
comment = linux share
path = /home/smbhome
guest ok = yes
write list = smbuser
printable = no
directory mask 0775
create mask 0775
wide links = no
4、重启samba服务,使配置生效。
sudo /etc/init.d/samba restart
5、在windows下访问ubuntu的share共享
输入用户名(smbuser)和密码后就可以看到ubuntu的共享了。
6、在ubuntu上访问windows共享
1)、创建挂载目录。
sudo mkdir /home/istone/winshare
2)、挂载windows共享。
sudo mount -t smbfs -o codepage-cp936,iocharset=utf8,username=istone,password=passwd //192.168.0.103/winshare /home/istone/winshare
上面的这个我用不好用,是在ubuntu 7.10上用的,下面的这个好用:
sudo mount -t cifs //192.168.1.1/semson /home/semson/smb-semson -o username=semson,iocharset=utf8
-t挂载类型
codepage 是目标系统也就是windows 平台的代码页(cp936是指 gb2312,比如win2k),iocharset 是指流传递的接收方编码方式(ubuntu 是 utf8)
username为windows下的用户名,有共享文件夹的读写权限。Password为用户名对应的密码。
//192.168.0.103/winshare Windows的共享目录。
/home/istone/winshare/ Ubuntu的挂载目录。
后一条的命令,-t cifs参数应该是与smbmount类似的作用,在ubuntu7.10中没有smbmount这个命令了。