环境:RedHat 5.5 64Bit Windows 2008 Server 64Bit
其实经常看本博客的朋友都知道,本博客的每一篇文章都与ArcGIS的应用有关,那么此文章也是一样。
在ArcGIS10.1 Server的推出就出现了一个比较大的改变,因为ArcSDE逐渐推进直连,那么如果你的Server安装在linux要连接SDE的话,无疑需要直连SDE,而且Server10.1要成功发布数据源为SDE的服务,就需要注册数据库,那么一般情况下,我们的Desktop10.1安装在Windows上,如果Linux安装了Server,那么我们需要在Linux创建共享文件夹,将相关的SDE连接文件拷贝进去,然后再进行注册,那么问题就来了,如何实现Windows 与 Linux文件系统共享?
如果需要了解Linux操作系统与Linux直接的共享可以参考
首先,我们需要在Linux安装Samba,关于Samba了解,请点击参考
[root@RedHat ~]# yum install samba
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package samba.x86_64 0:3.0.33-3.28.el5 set to be updated
--> Processing Dependency: perl(Convert::ASN1) for package: samba
--> Running transaction check
---> Package perl-Convert-ASN1.noarch 0:0.20-1.1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
samba x86_64 3.0.33-3.28.el5 Server 16 M
Installing for dependencies:
perl-Convert-ASN1 noarch 0.20-1.1 Server 41 k
Transaction Summary
================================================================================
Install 2 Package(s)
Upgrade 0 Package(s)
Total download size: 16 M
Is this ok [y/N]: y
Downloading Packages:
--------------------------------------------------------------------------------
Total 6.4 GB/s | 16 MB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : perl-Convert-ASN1 1/2
Installing : samba 2/2
Installed:
samba.x86_64 0:3.0.33-3.28.el5
Dependency Installed:
perl-Convert-ASN1.noarch 0:0.20-1.1
Complete!
1:Linux共享文件夹,Windows访问
a:加入Linux已经有一个用户ags,相关的路径/home/ags,我们可以直接使用相关命令来共享/home/ags即可
[root@RedHat ~]# smbpasswd -a ags
New SMB password:
Retype new SMB password:
Added user ags.
[root@RedHat ~]# service smb restart
Shutting down SMB services: [ OK ]
Shutting down NMB services: [ OK ]
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
直接使用Smbpasswd命令添加已有的ags用户,设定SMB密码,这个密码可以不与操作系统的ags用户的密码一致,重启SMB服务即可。
然后在Windows 系统运行访问linux的IP,然后输入刚刚设定用户名和密码即可。
b:但是这个路径使用整个ags用户所在路径的文件夹共享,那我是否可以只共享/home/ags/share这个文件夹呢?
当然可以,首先我们要创建这个share文件夹。然后进入/etc/samba/smb.conf文件进行添加
[share]
comment = share dir
path = /home/ags/share
valid users=ags
public = yes
writable = yes
guest ok=yes
这些都代表什么意思呢,
更多了解
comment---------注释说明
path------------分享资源的完整路径名称,除了路径要正确外,目录的权限也要设对
browseable------是yes/否no在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取
printable-------是yes/否no允许打印
hide dot ftles--是yes/否no隐藏隐藏文件
public----------是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)
guest ok--------是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)
read only-------是yes/否no以只读方式共享当与writable发生冲突时也writable为准
writable--------是yes/否no不以只读方式共享当与read only发生冲突时,无视read only
vaild users-----设定只有此名单内的用户才能访问共享资源(拒绝优先)(用户名/@组名)
invalid users---设定只有此名单内的用户不能访问共享资源(拒绝优先)(用户名/@组名)
read list-------设定此名单内的成员为只读(用户名/@组名)
write list------若设定为只读时,则只有此设定的名单内的成员才可作写入动作(用户名/@组名)
create mask-----建立文件时所给的权限
directory mask--建立目录时所给的权限
force group-----指定存取资源时须以此设定的群组使用者进入才能存取(用户名/@组名)
force user------指定存取资源时须以此设定的使用者进入才能存取(用户名/@组名)
allow hosts-----设定只有此网段/IP的用户才能访问共享资源
allwo hosts = 网段 except IP
deny hosts------设定只有此网段/IP的用户不能访问共享资源
allow hosts=本网段指定IP指定IP
deny hosts=指定IP本网段指定IP
设置完毕后,可以使用testparm命令进行测试
[root@RedHat ~]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[share]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
passdb backend = tdbsam
cups options = raw
[homes]
comment = Home Directories
valid users = Yes
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
[share]
comment = share dir
path = /home/ags/share
valid users = ags
read only = No
guest ok = Yes
重启SMB服务即可,但是还出现一个问题,当我们在Windows访问该用户时,会出现两个共享,一个是/home/ags文件夹的共享,一个是/home/ags/share文件夹的共享,那么我们怎么才能只让用户访问/home/ags/share这个共享呢?我们可以留意一下,上面共享了[homes],所以我们可以修改相关的参数,valid users=no(也就是用户不能访问home文件夹)即可,这样重新访问用户虽然可以看到/home/ags文件夹,但是不能访问。
2:Windows共享文件夹,Linux访问
这个直接使用mount命令即可,如果我的Windows操作系统的用户名是administrator,密码是123,那么我共享某个文件夹data之后,在Linux访问即可
[root@RedHat ~]# mount -t cifs -o username=administrator //192.168.100.111/data /home/new
Password:
输入密码即可,然后打开mount的linux路径来查看
[root@RedHat ~]# cd /home/new
[root@RedHat new]# ls
02JD1JF RenameFieldGPTool
02JD1JF.rar SampleArcPyMappingScriptTools
1111.mxd SanFrancisco.mpk
1.dbf schema.ini
-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
-------------------------------------------------------------------------------------------------------