用.Net如何访问Linux下目录

很多Windows下的应用需要访问和监控Linux下的目录,本文便介绍如何实现。

只需要搭建配置samba服务,即可将Linux下的目录变得如同Windows下共享可写。

1、服务查询

默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分
,为了对整个过程有一个完整的了解,在此先将这部分卸载掉。使用命令

rpm -qa | grep samba ,默认情况下可以查询到两个已经存在的包:

samba-client-3.0.33-3.7.el5

samba-common-3.0.33-3.7.el5

2、安装Samba
服务器

用以下命令安装:

rpm -ivh samba-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps

安装完成后,使用命令rpm -qa | grep
samba进行查询,发现搭建samba服务器所依赖的所有服务器都已经安装好了即可。

如未成功,一般需要先安装prel-convert-ASN1-0.20-1.1.noarch.rpm,此文件在linux安装光盘中有。

3、配置smb.conf文件

Samba的配置文件一般就放在/etc/samba目录中,主配置文件名为smb.conf,文件中记录着大量的规则和共享信息,所以是samba服务非常重要的核心配置文件,完成samba服务器搭建的大部

分主要配置都在该文件中进行。

Samba服务器的工作原理是:客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者

具有相应的权限,则允许客户端访问,最后将访问过程中系统的信息以及采集的用户访问行为信息存放在日志文件中。

第一步:修改配置文件

首先备份一下samba的配置文件

cd /etc/samba

mv smb.conf smb.confbak

然后重新创建一个smb.conf文件

touch smb.conf

然后我们把这段写入smb.conf中

[global]

workgroup = LinuxGroup

netbios name = Linux

server string = Linux Samba Server
TestServer

security = share

[linuxsir]

path = /opt/share

writeable = yes

browseable = yes

guest ok = yes

注解:

[global]这段是全局配置,是必段写的。其中有如下的几行;

workgroup 就是Windows中显示的工作组;在这里我设置的是LinuxGroup (用大写);

netbios name 就是在Windows中显示出来的计算机名;

server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;

security 这是验证和登录方式,这里我们用了share
;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

[share] 这个在Windows中显示出来是共享的目录;

path = 可以设置要共享的目录放在哪里;

writeable 是否可写,这里我设置为可写;

browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为
browseable=no

guest ok 匿名用户以guest身份是登录;

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

[[email protected] ~]# mkdir -p /opt/share

[[email protected] ~]# id nobody

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

[[email protected] ~]# chown -R nobody:nobody /opt/share

[[email protected] ~]# setsebool samba_export_all_rw
on

注释:

关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody

setsebool
samba_export_all_rw on很关键。

第三步:启动smbd和nmbd服务器;

[[email protected] ~]/etc/rc.d/init.d/smb start

这样就可以如同Windows共享目录一样浏览linux下的目录了。

在.Net里面可以使用System.IO读写该目录的文件,甚至可以用filesystemwatcher组件监控该目录。

时间: 2024-10-12 13:04:21

用.Net如何访问Linux下目录的相关文章

编程实现LINUX下目录的层层遍历

/************************************************************************* > File Name: treedir.c > Author: KrisChou > Mail:[email protected] > Created Time: Tue 19 Aug 2014 05:04:50 PM CST *****************************************************

Linux下目录的合并以及文件的覆盖

有两个目录test和new,test目录下有目录和文件,new目录下有更改过的一些test下的目录和文件,以及一些新增的文件,现在对两个目录进行合并以及覆盖test下的旧文件. cp -frap new/* test/ 命令其实非常简单,解释下: -f 强制覆盖,不询问yes/no(-i的默认的,即默认为交互模式,询问是否覆盖)-r 递归复制,包含目录-a 做一个备份,这里可以不用这个参数,我们可以先备份整个test目录-p 保持新文件的属性不变 记住一点就是,实现合并和覆盖是用cp,而不是mv

linux下目录与文件的权限及特殊权限

一.Linux下目录与文件的权限 chown    更改文件或目录的所属主,所属组   /etc/passwd 配置文件存放用户信息 useradd    添加用户 chown 所属主:所属组 文件或目录 chown -R    更改目录及目录下面的文件所有权限 chown -v    可视化显示权限更改 [[email protected] tmp]# chown user1:root aa [[email protected] tmp]# ls -l drwxr-xr--. 2 user1 

Linux下的tree命令 --Linux下目录树查看

Linux下的tree命令 --Linux下目录树查看 有时我们需要生成目录树结构,可以使用的有ls -R,但是实际效果并不好 这时需要用到tree命令,但是大部分Linux系统是默认不安装该命令的,需要自己安装一下;tree的常见用法: tree -a  #显示所有 tree -d  #仅显示目录 tree -L n  #n代表数字..表示要显示几层... tree -f  #显示完整路径..

Windows访问Linux下的共享目录的配置方法

user安全级别 第一步:安装samba3(如果已经安装就跳过这一步) [[email protected] /]# yum groupinstall "CIFS file server" 第二步:修改配置文件 [[email protected] /]# vi /etc/samba/smb.conf 将security参数的值设为user(这是默认值) security = user 第三步:创建可以访问共享目录的用户 [[email protected] test]# userad

Linux下目录

Linux下一切皆是文件./bin      是Binary的缩写, 这个目录存放着最经常使用的命令 /sbin        s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序. /home      存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的 /root      该目录为系统管理员,也称作超级权限者的用户主目录. /lib        系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文

linux下目录及终端学习

linux目录按调用分为相对路径与绝对路径 相对路径:从当前路径下查找查找目标也可使用./调用当前目录下文件或者../调用上一层目录中文件,可通过pwd查看当前路径 绝对路径:从根目录出发查找文件. 执行cat /etc/passwd命令时由于引用绝对路径,将从根目录直接查找到etc目录,在查找到passwd文件.若采取相对路径,假设当前目录为etc文件,可直接执行cat passwd或者cat ./passwd查找passwd文件. linux下切换目录为cd命令,cd命令也支持相对路径与绝对

linux下目录读权限与执行权限区别

如果你在linux下用过ls,细心的你会发现目录竟然有可执行权限!如: drwxrwxr-x 11 cl cl 4096  9月 25 14:22 ./ drwxr-xr-x 49 cl cl 4096 10月 10 16:00 ../ drwxrwxr-x  5 cl cl 4096  9月 23 10:58 algorithm/ drwxrwxr-x  2 cl cl 4096  9月 23 21:44 temp/ why?? 在网上查了一下才发现是这个意思: 目录的可执行权限是表示你可否在

liunx学习(一):linux下目录操作大全

Linux C函数之文件及目录函数(全):http://blog.sina.com.cn/s/blog_695e489c01013ldd.html linux目录操作发:http://www.cnblogs.com/onlycxue/p/3154341.html linux中遍历文件夹下的所有文件 :http://www.jb51.net/article/37664.htm Linux下C获取文件夹下所有文件名:http://blog.csdn.net/sinat_30071459/articl