windows写文件到ubuntu之samba
1:安装samba
sudo apt-get install samba smbfs smbclient
2:修改配置/etc/samba/smb.conf
1.全局设置部分 security = user 这行设置了samba的安全等级,Samba一共可以设置四个安全登记,由底到高分别为: share 这个选项表示任何人都可以不需要输入密码登录。 user 这个是Samba的默认级别,要求每个用户必须输入密码才能登录。 server user级别的密码都是保存在本机上,而server级别的密码和用户名都保存在另一台主机上。 domain 这个级别要求网络里必须有一台Windows的域控制器,验证工作由域控制器来完成。 需要注意,只要输入用户名和密码的级别,其用户名一定首先也是Linux系统内的用户 workgroup = MSHOME 这部分是Windows主机的工作组明,Windows主机必须在同一个工作组中 server string = %h server(Samba,Ubuntu) 这个选项是显示在Windows上的信息,可以自定义,其中%h为Samba配置文件中的变量,代表了主机名,即使用hostname命令得到的主机名 map to guest = bad user 当 security = user 时,这个选项必须注释掉,如:# map to guest = bad user 2.共享设置部分 添加一个共享文件夹设置如下 [share] 共享文件名,不需要与实际文件名一致 comment = my share directory 对这个共享分支的描述 path = /home/share 系统的共享目录,必须为绝对路径 public = yes 是否允许所有人都能够看到此目录,no为看不到 writable = yes 是否允许用户在此目录下可写,no为不可些,如果可写,还需要目录具有写权限 read only = yes 设置用户是否只读 vaild users = username 设置只有 username 用户有效 SAMBA 用户管理 在需要密码登录时有效,在设置用户密码时,此用户必须是LINUX系统的用户,如下面的指令 user 必须先是系统的用户 sudo smbpasswd -a user 接下来根据提示输入两次密码即可 smbpasswd 指令相关参数如下: -a 新添加一个Samba用户。 -d 禁用一个Samba用户。 -e 使禁用的Samba用户解禁。 启动 SAMBA 服务 # 停止 SAMBA 服务 sudo /etc/init.d/smbd stop # 启动 SAMBA 服务 sudo /etc/init.d/smbd start # 重新启动 sudo /etc/init.d/smbd restart 在 WINDOWS 下访问共享目录 # 在资源管理器,或浏览器中直接输入即可, “192.168.1.10” 为服务器 IP \\192.168.1.10 故障测试指令 testparm
3:写文件
public void SmbTest() { try { /* DataSet ds = new DataSet(); ds.ReadXml(@"E:\Test\Test\Test\163074.xml"); ds.WriteXml(@"\\10.53.132.52\share\012\a.xml"); */ Directory.CreateDirectory(@"\\10.53.132.52\share\013"); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
接下来会通过FTP来实现该目标。
chkconfig smb on #设置 Samba开机自动启动
service smb start #启动Samba服务