(三)在linux下查看共享文件
(1)查看所有共享内容
smbclient 是Samba 的Linux 客户端,在Linux机器上用来查看服务器上的共享资源,也可以象FTP一样,用户可以登录Samba服务器,也可以上传put和下载get文件[3]。使用下面的命令,其中用户名是指windows系统的用户名,然后输入该用户的密码。
#smbclient -L //IP或机器名 [-U 用户名]
# smbclient -L //WANGHAIFENG-PC -U wanghaifeng
Password:
Domain=[WANGHAIFENG-PC] OS=[Windows 7 Ultimate 7600] Server=[Windows 7 Ultimate 6.1]
Sharename Type Comment
——— —- ——-
ADMIN\( Disk 远程管理 <br> C\) Disk 默认共享
D\( Disk 默认共享 <br> E\) Disk 默认共享
IPC\( IPC 远程 IPC <br> print\) Disk 打印机驱动程序
samba_test Disk
Users Disk
Domain=[WANGHAIFENG-PC] OS=[Windows 7 Ultimate 7600] Server=[Windows 7 Ultimate 6.1]
Workgroup Master
——— ——-
[root@lcmsp_test samba]# smbclient -L //192.168.31.226 -U wanghaifeng
Password:
Domain=[WANGHAIFENG-PC] OS=[Windows 7 Ultimate 7600] Server=[Windows 7 Ultimate 6.1]
Sharename Type Comment
——— —- ——-
ADMIN\( Disk 远程管理 <br> C\) Disk 默认共享
D\( Disk 默认共享 <br> E\) Disk 默认共享
IPC\( IPC 远程 IPC <br> print\) Disk 打印机驱动程序
samba_test Disk
Users Disk
session request to 192.168.31.226 failed (Called name not present)
session request to 192 failed (Called name not present)
session request to *SMBSERVER failed (Called name not present)
NetBIOS over TCP disabled – no workgroup available
分别使用IP和主机名进行测试,发现使用主机名进行访问的时候一切正常,使用IP进行访问就会出现上面的那些问题,尚待解决…,已经可以在共享内容中看到我们的共享文件samba_test。
# smbclient -L //WANGHAIFENG-PC/
Password:
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 7 Ultimate 7600] Server=[Windows 7 Ultimate 6.1]
Sharename Type Comment
——— —- ——-
cli_rpc_pipe_open: cli_nt_create failed on pipe srvsvc to machine WANGHAIFENG-PC. Error was NT_STATUS_ACCESS_DENIED
Error returning browse list: NT_STATUS_ACCESS_DENIED
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 7 Ultimate 7600] Server=[Windows 7 Ultimate 6.1]
Workgroup Master
——— ——-
#smbclient -L //WANGHAIFENG-PC/ -U Guest
Password:
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 7 Ultimate 7600] Server=[Windows 7 Ultimate 6.1]
Sharename Type Comment
——— —- ——-
cli_rpc_pipe_open: cli_nt_create failed on pipe srvsvc to machine WANGHAIFENG-PC. Error was NT_STATUS_ACCESS_DENIED
Error returning browse list: NT_STATUS_ACCESS_DENIED
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 7 Ultimate 7600] Server=[Windows 7 Ultimate 6.1]
尝试着匿名登录,但是失败了,Windows上开启了Guest用户后,也是不行,不知道有什么好的方法。
(2)登录获取共享内容
使用下面的命令能够登录samba上传和下载文件
#smbclient //IP地址或者主机名/共享文件夹 -U 用户
# smbclient //WANGHAIFENG-PC/samba_test -U wanghaifeng
Password:
Domain=[WANGHAIFENG-PC] OS=[Windows 7 Ultimate 7600] Server=[Windows 7 Ultimate 6.1]
smb: > ? //登录成功,进入samba的shell,输入?查看所有命令
? altname archive blocksize cancel
case_sensitive cd chmod chown close
del dir du exit get
getfacl hardlink help history lcd
link lock lowercase ls mask
md mget mkdir more mput
newer open posix posix_open posix_mkdir
posix_rmdir posix_unlink print prompt put
pwd q queue quit rd
recurse reget rename reput rm
rmdir showacls setmode stat symlink
tar tarmode translate unlock volume
vuid wdel logon listconnect showconnect
!
smb: > ls //ls可以查看有哪些文件
. D 0 Fri Mar 12 11:37:15 2010
.. D 0 Fri Mar 12 11:37:15 2010
test.txt A 11 Fri Mar 12 11:37:44 2010
51199 blocks of size . 24705 blocks available
smb: > ? du //? 命令 可以查看命令的使用方法
HELP du:
<mask> computes the total size of the current directory
smb: > get test.txt //使用get进行下载
getting file est.txt of size 11 as test.txt (3.6 kb/s) (average 3.6 kb/s)
smb: > put install.log //使用put进行上传操作
putting file install.log as install.log (326.4 kb/s) (average 326.4 kb/s)
上述的命令和ftp的命令非常的类似,可以使用put上传,get进行下载操作。
(3)挂载共享文件夹到Linux目录
我们也可以使用mount命令将共享的Windows文件挂载到Linux目录下面,命令格式如下面所示,username和password都是指,windows系统的用户名和密码,与samba用户名和密码无关
# mount -t cifs -o username=xxx,password=xxx //hostname/dir /mnt/tmp
# mount -t cifs -o username=wanghaifeng //192.168.31.226/samba_test /mnt
Password:
#cd /mnt/
[root@lcmsp_test mnt]# ls
install.log test.txt
#ls -l
总计 37
-rwxrwSrwt 1 root root 36099 03-12 11:46 install.log
-rwxrwSrwt 1 root root 11 03-12 11:37 test.txt
#df -k
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
75% /
/dev/hdc1 22173 73694 24% /boot
tmpfs 0 0% /dev/shm
//192.168.31.226/samba_test
52% /mnt
假如用下面这种方式挂载,便会报错,由于在RedHat5上已经默认不知道smbfs了
# mount -t smbfs -o username=wanghaifeng //192.168.31.226/samba_test /mnt
mount: unknown filesystem type ‘smbfs’
(四)在linux下共享文件
那如何在linux下共享文件呢,这都是在samba的配置文件smb.conf里面设置的,默认是访问samba用户的的HOME目录。
可以根据需求将配置共享目录,是否匿名,具体的配置可以查看参考资料【3】和【4】
(五)在windows下查看linux共享文件
在windows查看linux下的共享文件就很方便了,在文件浏览器里直接输入\IP就可以直接查看文件内容了,比如\192.168.31.145,输入用户名和密码,这里用户名和密码就是在开始设置的samba用户名和密码
参考资料:
[1] mount: unknown filesystem type “smbfs” http://hi.baidu.com/joe266/blog/item/a2ddfdef94729211fdfa3ce8.html
[2]http://lists.samba.org/archive/samba/2005-April/103326.html
[3]http://www.linuxsir.org/main/node/158
[4]http://gchuyun.javaeye.com/blog/
# [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身份是登录;
[global]
workgroup = Linux
netbios name = RHEL5
server string = Linux Samba Server TestServer
security = user
[test]
path = /share/test
writable = yes
valid users = user1
browseable = yes

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/171041.html