首先要安装samba
sudo apt-get install samba
sudo apt-get install smbfs
1.windows
访问 ubuntu
下面我们来共享群组可读写文件夹,
A:
可匿名访问,只有读取权限 /home/share
B:
授权用户可访问,且可读写 /home/mes
首先创建这个两个文件夹
代码:
mkdir /home/share
chmod 755 /home/share
mkdir /home/mes
chmod 777 /home/mes
备份并编辑smb.conf
允许网络用户访问
代码: sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo vim /etc/samba/smb.conf
更改及添加如下代码:
[global]
#security = user
security = share
username map = /etc/samba/smbusers #
用户映射文件
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
然后设定共享:
[share] #
共享名
path = /home/share #
共享路径
browseable = no #
相当于windows
系统中 共享名$
guest ok = yes #
是否允许匿名访问
read only = yes #
只读
writable = no #
是否可写
[mes]
path = /home/mes
browseable = no
guest ok = no
create mask = 0700
directory mask = 0700
writable = yes
valid users = mes,@mes #
可访问的用户及组,可不加组
write list = mes #
有写入权限的用户
到此,设置文件已经结束,接下来就是创建用户
sudo useradd mes -s /bin/false -d /home/mes #
没有shell
,不可本机登陆(安全起见)
sudo smbpasswd -a mes #
设置smb
访问密码,这个不是系统密码(上步允许登陆系统的话,还可设定系统密码)。 -a
是添加用户,-x
是删除用户
建立用户映射文件
sudo vim /etc/samba/smbusers
gbmddl = "mes" #
这样就可用gbmddl
用户访问smb
共享,给暴力破解系统账号密码增加难度,因gbmddl
在系统中根本就不存在
然后重启samba
,其它用户即可访问
sudo /etc/init.d/samba restart
2.Ubuntu linux
系统访问windows xp/2003/2000
系统
第一种:用smb
访问
如果在ubuntu linux
系统终端pingwindows
主机的ip
地址可以ping
通,且windows
计算机中有共享的文件夹,则打开位置下的网络服务器,点击界面中windows
网络->workgroup
,在workgroup
组中就可以看到windows
计算机名,双击会弹出输入用户名和密码的对话框,将我们上面设置smb
的用户名和密码输入就可以进行访问。
第二种:用ubuntu
系统自带的连接到服务器功能访问
在位置中启动连接到服务器,在服务类型中选择“windows
共享”
,在服务器中输入windows
计算机的ip
地址或计算机名,点击连接,这样在系统桌面中就会显示一个连接到windows
计算机的文件卷。
我们可以像访问ubuntu
系统中的磁盘一样来访问它,同样在访问的时候要输入smb
的用户名和密码。
第三种:用mount
挂载windows
的共享目录到本地磁盘
首先要在ubuntu
系统中建立一个挂载点,在这里我们建立的挂在点为 /mnt/wind
同样在保证网络连接正常,且windows
中有共享目录的前提下,进行一下操作
以windows
的ip
为192.168.0.1
,共享文件夹为share
为例
命令如下:
mount
-t smbfs –o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind
有是这样在访问的时候会出现中文乱码的问题,这样我们可以按下面命令来执行,可以解决这个问题
mount -t smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind
注解:usename
和password
都为smb
的用户和密码,如果要详细了解mount
命令,使用man mount
在终端查看详细用法
提示:要访问windows
中有特殊密码的文件夹,可以在samba
中新建一个与windows
登录相同名相同密码的用户,然后mount
即可,例:
sudo useradd administrator //
不要让其有登录ubuntu
的权限
sudo smbpasswd -a administrator
然后提示输入密码:输入windows
访问的密码即可
第四种:使用smbclient
命令
命令如下:
smbclient //192.168.0.1/share
-U wangyh
password:
输入smb
用户wangyh
的密码
回车就可以用,用命令get
下载文件,用put
上传文件。
注解:
smbclient
介绍:
命令 说明
?
或help [command]
提供关于帮助或某个命令的帮助
![shell command]
执行所用的SHELL
命令,或让用户进入 SHELL
提示符
cd [
目录]
切换到服务器端的指定目录,如未指定,则 smbclient
返回当前本地目录
lcd [
目录]
切换到客户端指定的目录;
dir
或ls
列出当前目录下的文件;
exit
或quit
退出smbclient
get file1 file2
从服务器上下载file1
,并以文件名file2
存在本地机上;
如果不想改名,可以把file2
省略
mget file1 file2 file3 filen
从服务器上下载多个文件;
md
或mkdir
目录 在服务器上创建目录
rd
或rmdir
目录 删除服务器上的目录
put file1 [file2]
向服务器上传一个文件file1,
传到服务器上改名为file2
;
mput file1 file2 filen
向服务器上传多个文件
mount -t smbfs -o username=linking,password=534534534 //192.168.1.29/kebie /mnt/dyh
mount -t smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777, username=linking,password=54545454 //192.168.1.29/kebie /mnt/linking
vim /etc/rc.local //开机运行脚本