您的位置:首页 > 运维架构 > Linux

window 与centos 系统之间共享文件

2015-09-18 16:55 555 查看
window 与centos 系统之间共享文件有如下方式实现:

首先分两种环境讲解:

一、centos 和window是同一个宿主机内(及centos 是通过VMware Player等工具装在window 主系统内)

1、在VMware Player 底部有个settings 设置,切换options 选择share folders 激活它,然后add 你要共享的window 文件夹。

2、重启一下vmware player,就可以在centos 系统中看到你刚才共享的文件夹了。以后文件交换就通过这个共享文件去交换

3、打开centos 系统 查看共享目录,一般情况下是在(mnt/hgfs/你设置的共享目录)

二、centos 是独立于window环境存在的系统

如果是这种情况我们需要用到一个开源工具(samba)

1、首选安装samba,命令如下:

yum install samba

2、修改配置文件

文件 :/etc/samba/smb.conf在该文件最后添加

如果文件中有 

security = user

passdb backend = tdbsam

这两行先注释掉吧,这属于私有的用户权限

security =share

[dwc]

 public = yes

 comment = share

 path = 填写你需要共享的文件目录

 browseable = yes

 guest ok = yes

 writable = yes

3、开启samba

/etc/init.d/smb start 或service smb start

然后在window 可以通过 //centos ip 的方式访问 如果需要账号密码需要输入账号密码即可具体samba 更多的配置项可以参考samba相关资料

 

当然还有其他方式实现文件共享

1、使用SSH工具将文件通过SSH工具复制到Linux中,如PUTTY。

2、使用FTP,在Linux中启动vsftpd服务,在XP中使用ftp向它上传文件。

 

这里注意啦:1、需要网络互通哈,测试网络互通可以通过ping 命令查看 2、需要修改防火墙过滤项或直接关闭防火墙。

 

samba 扩展阅读:

第一节、samba干有用

Samba(SMB其缩写) 网络服务器Linux作本地服务器重要服务用于Linux和Windows共享文件之用;Samba用于Windows和Linux之间共享文件也样用于Linux和Linux之间共享文件;过对于Linux和Linux之间共享文件有更好网络文件系统NFSNFS也需要架设服务器;

大家知道Windows 网络每台机器即文件共享服务器也同客户机;Samba 也样能行比台Linux机器架了Samba Server 能充当共享服务器同时也能做客户机来访问其网络Windows共享文件系统或其LinuxSabmba 服务器;

我们Windows网络看共享文件功能知道我们直接把共享文件夹当做本地硬盘来使用Linux通过Samba向网络机器提供共享文件系统也把网络其机器共享挂载本地机上使用;定意义上说和FTP样

Samba 应该范围主要Windows和Linux 系统共存网络使用;网络环境都Linux或Unix类系统没有必要用Samba应该用NFS更好点;

Samba 能我们提供点服务呢主要共享文件和共享打印机;

samba包括两服务器守护进程smbd和nmbd两进程各司其职功用同:smbdsamba服务内核建立对、验证用户、提供文件系统和打印服务基础负责硬盘驱动器和打印机共享用户通过客户端访问进程来进行文件和打印机共享;nmbd实现网络浏览使得samba服务器显示windows网络邻居同时允许用户浏览用资源负责NETBIOS信息管理和传递使得windows用户Explorer使用\\serverip来访问samba共享文件

 

2、安装及服务操作命令

安装samba程序非常简单使用rpm -q samba查看当前系统否已经安装了samba软件

没有进入光盘rpm -ivh *samba*.rpm即

仔细说下安装包:

samba-common-3.0.28-0.el5.8    //samba服务器和客户端基本文件

 

samba-3.0.28-0.el5.8           //samba服务器核心软件包

system-config-samba-1.2.39-1.el5     //samba图形配置界面

samba-client-3.0.28-0.el5.8          //samba客户端软件 

启动、暂停和停止服务:/etc/init.d/smb start

/etc/init.d/smb stop

/etc/init.d/smb restart

或service smb start

service smb stop

service smb restart 

 

第二节、由简单例子说起匿名用户读写实现

第步: 更改smb.conf

我们来实现简单功能让所有用户读写Samba 服务器共享文件夹;我们要改动下smb.conf ;首先您要备份下smb.conf文件;

 

[root@localhost ~]# cd /etc/samba

[root@localhost samba]# cp smb.conf smb.conf.bak

[root@localhost samba]# vi smb.conf 或geidt smb.conf &

 

我们把下面段写入smb.conf: 

[global]

workgroup = WORKGROUP

netbios name = Liukai

server string = Liukai's Samba Serversecurity = share

[test]

        path = /opt/test        writeable = yes

        browseable = yes

        guest ok = yes

注解:

 

[global]段全局配置必段写其有下几行;

workgroup Windows显示工作组;里我设置WORKGROUP (用大写);

netbios name Windows显示出来计算机名;

server string Samba服务器说明自己来定义;重要;

security 验证和登录方式里我们用了share ;验证方式有好多种其种;另外种常用user验证方式;用share呢用设置用户和密码了;

[test] Windows显示出来共享目录;

path = 设置要共享目录放哪里;

writeable 否写里我设置写;

browseable 否浏览;浏览意味着我们工作组下能看共享文件夹您想显示出来设置 browseable=noguest ok 匿名用户guest身份登录;

第二步:建立相应目录并授权

[root@localhost ~]# mkdir -p /opt/test[root@localhost ~]# id nobody

uid=99(nobody) gid=99(nobody) groups=99(nobody)

[root@localhost ~]# chown -R nobody:nobody /opt/test

注释:关于授权nobody我们先用id命令查看了nobody用户信息发现用户组也nobody我们要准有些系统nobody用户组并非nobody ;

 

第三步:启动服务器

第四步:访问Samba 服务器共享;

1、Linux 您用下面命令来访问;

[root@localhost ~]# smbclient -L //liukai 或 smbclient /test

Password: 注:直接按回车

2、Windows您用下面办法来访问;  或  3、说明:用了netbiosname能用主机名访问没用netbiosname用\\主机名来访问 第三节、简单密码验证服务器修改smb.conf文件:security = userguest account = liukaiencrypt passwords = yessmb passwd file = /etc/samba/smbpasswd建立新用户useradd liukaipasswd liukai成功cat /etc/passwd | mksmbpasswd.sh
> /etc/samba/smbpasswdsmbpasswd -a liukai成功地添加了smb用户重启服务使用用户进行登录即  第四节、复杂点用户共享模型(适合10人左右小型企业)

比公司有五部门分别linuxsirsir01sir02,sir03sir04我们想家公司设计比较安全共享文件模型每用户都有自己网络磁盘sir01sir04还有共用网络硬盘;所有用户(包括匿名用户)有共享资料库此库了安全只读;所有用户(包括匿名用户)要有临时文件终转文件夹... ....

 

1 共享权限设计实现功能;

1)linuxsir部门具有管理所有SMB空间权限;

2)sir01sir04拥有自己空间并且除了自身及linuxsir有权限外对其用户具有绝对隐私性;

3)linuxsir01linuxsir04拥有共同读写权限空间;

4) 所有用户(包括匿名用户)有有读权限空间用于资料库所要求写入数据

5)sir01sir04还有共同空间对sir01sir04用户来说隐私能让其用户来访问

6) 还要有空间让所有用户写入能删除等功能权限上无限制 用于公司所有用户临时文档终转等;

2 服务器上创建相应目录;

[root@localhost ~]# mkdir -p /opt/linuxsir

[root@localhost ~]# cd /opt/linuxsir

[root@localhost linuxsir]# mkdir sir01 sir02 sir03 sir04 sirshare sir0104rw sirallrw

[root@localhost linuxsir]# ls

sir01  sir0104rw  sir02  sir03  sir04  sirallrw  sirshare

 

注:功用下:

 

/opt/linuxsir  管理员目录负责管理其下所有目录;

/opt/linuxsir/sir01  sir01家目录用于私用除了用户本身和linuxsir外其用户都读写;

/opt/linuxsir/sir02  sir02家目录用于私用除了用户本身和linuxsir外其用户都读写;

/opt/linuxsir/sir03  sir03家目录用于私用除了用户本身和linuxsir外其用户都读写;

/opt/linuxsir/sir04  sir04家目录用于私用除了用户本身和linuxsir外其用户都读写;

/opt/linuxsir/sirshare 所用用户(除了linuxsir有权限写入外)只读目录

/opt/linuxsir/sir0104rw 用于sir01sir04用户读写共用目录匿名用户能读写;

/opt/linuxsir/sirallrw 用于所有用户(包括匿名用户)读写;

3 添加用户用户组设置相应目录家目录权限;

3.1 添加用户组;

[root@localhost ~]# /usr/sbin/groupadd linuxsir

[root@localhost ~]# /usr/sbin/groupadd sir01

[root@localhost ~]# /usr/sbin/groupadd sir02

[root@localhost ~]# /usr/sbin/groupadd sir03

[root@localhost ~]# /usr/sbin/groupadd sir04

[root@localhost ~]# /usr/sbin/groupadd sir0104

3.2 添加用户;

[root@cuc03 ~]# adduser -g sir01 -G sir0104  -d /opt/linuxsir/sir01 -s  /sbin/nologin sir01

[root@cuc03 ~]# adduser -g sir02 -G sir0104  -d /opt/linuxsir/sir02 -s  /sbin/nologin sir02

[root@cuc03 ~]# adduser -g sir03 -G sir0104  -d /opt/linuxsir/sir03 -s  /sbin/nologin sir03

[root@cuc03 ~]# adduser -g sir04 -G sir0104  -d /opt/linuxsir/sir04 -s  /sbin/nologin sir04

[root@cuc03 ~]# adduser -g linuxsir -d /opt/linuxsir -G linuxsir,sir01,sir02,sir03,sir04,sir0104 -d /opt/linuxsir -s  /sbin/nologin linuxsir

 

样添加用户请参考:

 

《Linux 文件和目录属性》

《Linux 用户管理工具介绍》

当我们还得学会查看用户信息工具用法比 用finger和id来查看用户信息主要看用户否添加正确;比;请参考《Linux 用户(User)查询篇》

 

[root@localhost ~]# id linuxsir

[root@localhost ~]# finger linuxsir

3.3 添加samba用户并设置密码;

我们用方法先添加用户添加些用户都虚拟用户因些用户能通过SHELL登录系统;另外值得注意系统用户密码和Samba用户密码同您设置了系统用户能登入SHELL设置用户Samba密码和系统用户通过SHELL登录密码同

我们通过smbpasswd 来添加Samba用户并设置密码原理通过读取/etc/passwd文件存用户名

 

[root@localhost sir01]# smbpasswd -a linuxsir

New SMB password: 注:里添加Samba用户linuxsir密码;

Retype new SMB password: 注:再输入次;

 

用同样方法来添加 sir01、sir02、sir03、sir04密码;

3.4 配置相关目录权限和归属;

[root@cuc03 ~]# chmod 755 /opt/linux

[root@cuc03 ~]# chown  linuxsir:linuxsir /opt/linuxsir

[root@cuc03 ~]# cd /opt/linuxsir

[root@cuc03 ~]# chmod 2770 sir0*

[root@cuc03 ~]# chown sir01.linuxsir sir01

[root@cuc03 ~]# chown sir02.linuxsir sir02

[root@cuc03 ~]# chown sir03.linuxsir sir03

[root@cuc03 ~]# chown sir04.linuxsir sir04

[root@cuc03 ~]# chown linuxsir.sir0104 sir0104rw

[root@cuc03 ~]# chown linuxsir.linuxsir sirshare

[root@cuc03 ~]# chmod 755 sirshare

[root@cuc03 ~]# chown linuxsir:linuxsir sirallrw

[root@cuc03 ~]# chmod 3777 sirallrw

4 修改Samba配置文件 smb.conf;

配置文件下修改/etc/samba/smb.conf要忘记重启smbd和nmbd服务器;

 

[global]

workgroup = LINUXSIR

netbios name = LinuxSir

server string = Linux Samba   Test Server

security = share

[linuxsir]

        comment = linuxsiradmin

        path = /opt/linuxsir/

        create mask =  0664

#create mask用户创建文件时权限掩码;对用户来读写对用户组读写对其用户读;

        directory mask = 0775

#directory mask 用来设置用户创建目录时权限掩码意思对于用户和用户组读写对其用户读执行;

        writeable = yes

        valid users = linuxsir

        browseable = yes

[sirshare]

        path = /opt/linuxsir/sirshare

        writeable = yes

        browseable = yes

        guest ok = yes

[sirallrw]

        path = /opt/linuxsir/sirallrw

        writeable = yes

        browseable = yes

        guest ok = yes

[sir0104rw]

        comment = sir0104rw

        path = /opt/linuxsir/sir0104rw

        create mask =  0664

        directory mask = 0775

        writeable = yes

        valid users = linuxsir,@sir0104 
#@sir0104用户组;

        browseable = yes

[sir01]

        comment = sir01

        path = /opt/linuxsir/sir01

        create mask =  0664

        directory mask = 0775

        writeable = yes

        valid users = sir01,@linuxsir

        browseable = yes

[sir02]

        comment = sir02

        path = /opt/linuxsir/sir02

        create mask =  0664

        directory mask = 0775

        writeable = yes

        valid users = sir02,@linuxsir

        browseable = yes

[sir03]

        comment = sir03

        path = /opt/linuxsir/sir03

        create mask =  0664

        directory mask = 0775

        writeable = yes

        valid users = sir03,@linuxsir

        browseable = yes

[sir04]

        comment = sir04

        path = /opt/linuxsir/sir04

        create mask =  0664

        directory mask = 0775

        writeable = yes

        valid users = sir04,@linuxsir

        browseable = yes 

 

附:

1、出现问题:

使用user模式时先做share新建账号newman进行user模式登陆出现samba允许用户使用上用户名与服务器或共享资源多重连接

2、问题解决:

xp运行cmd输入下命令

net use * /del /y

清空登陆信息能够正常访问了

3、错误原因:

事实上samba限制而Windows限制

打开存public=yessamba服务器时首先点击了有public=yes共享资源时候widows会用默认用户名去连接服务器般windows登录名之再去点击没有public=yes共享资源由于使用了user级别服务器要验证由于之前默认登录已经存出现了上述故障即使注销连接没有采用正确顺序访问共享资源仍会陷入泥潭

因此好办法用public=yes给公共帐号建立共用账户并公示出来样处理其实权限更清晰些
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: