1*83b1a68cSAdrien Destugues<!-- 2*83b1a68cSAdrien DestuguesIf you move this file, you must update the package rules file at 3*83b1a68cSAdrien Destuguesbuild/jam/packages/NetFS to reflect the new location. Otherwise the package will 4*83b1a68cSAdrien Destuguesnot build. 5*83b1a68cSAdrien Destugues--> 6*83b1a68cSAdrien Destugues<html> 7*83b1a68cSAdrien Destugues<head> 8*83b1a68cSAdrien Destugues<title>NetFS</title> 9*83b1a68cSAdrien Destugues<style> 10*83b1a68cSAdrien Destugues.code { 11*83b1a68cSAdrien Destugues font-family: monospace; 12*83b1a68cSAdrien Destugues background: #eee; 13*83b1a68cSAdrien Destugues border: 1px solid black; 14*83b1a68cSAdrien Destugues whitespace: pre; 15*83b1a68cSAdrien Destugues padding: 1em; 16*83b1a68cSAdrien Destugues} 17*83b1a68cSAdrien Destuguesspan.code { 18*83b1a68cSAdrien Destugues padding: 0; 19*83b1a68cSAdrien Destugues border: 0; 20*83b1a68cSAdrien Destugues} 21*83b1a68cSAdrien Destugues</style> 22*83b1a68cSAdrien Destugues</head> 23*83b1a68cSAdrien Destugues<body> 24*83b1a68cSAdrien Destugues 25*83b1a68cSAdrien Destugues<h1 align="center">NetFS</h1> 26*83b1a68cSAdrien Destugues 27*83b1a68cSAdrien Destugues<hr /> 28*83b1a68cSAdrien Destugues 29*83b1a68cSAdrien Destugues<h2 align="center">Client</h2> 30*83b1a68cSAdrien Destugues 31*83b1a68cSAdrien Destugues<p>To run the client, execute the following at the command line:</p> 32*83b1a68cSAdrien Destugues 33*83b1a68cSAdrien Destugues<pre class="code"> 34*83b1a68cSAdrien Destugues$ netfs_mount 35*83b1a68cSAdrien Destugues</pre> 36*83b1a68cSAdrien Destugues 37*83b1a68cSAdrien Destugues<p>A "Network" icon will appear on your desktop, containing remote servers 38*83b1a68cSAdrien Destuguesidentified by host name. Inside the folder for each server are the shares on 39*83b1a68cSAdrien Destuguesthat server.</p> 40*83b1a68cSAdrien Destugues 41*83b1a68cSAdrien Destugues<p>You can also run the steps individually:</p> 42*83b1a68cSAdrien Destugues 43*83b1a68cSAdrien Destugues<pre class="code"> 44*83b1a68cSAdrien Destugues$ /system/servers/authentication_server & 45*83b1a68cSAdrien Destugues$ mkdir /network 46*83b1a68cSAdrien Destugues$ mount -t userlandfs -p "netfs" /network 47*83b1a68cSAdrien Destugues</pre> 48*83b1a68cSAdrien Destugues 49*83b1a68cSAdrien Destugues<hr /> 50*83b1a68cSAdrien Destugues 51*83b1a68cSAdrien Destugues<h2 align="center">Server</h2> 52*83b1a68cSAdrien Destugues 53*83b1a68cSAdrien Destugues<p>To run the server:</p> 54*83b1a68cSAdrien Destugues 55*83b1a68cSAdrien Destugues<pre class="code"> 56*83b1a68cSAdrien Destugues$ netfs_server_prefs launch 57*83b1a68cSAdrien Destugues</pre> 58*83b1a68cSAdrien Destugues 59*83b1a68cSAdrien Destugues<p>You can also start the server directly if you prefer.</p> 60*83b1a68cSAdrien Destugues 61*83b1a68cSAdrien Destugues<pre class="code"> 62*83b1a68cSAdrien Destugues$ /system/servers/netfs_server & 63*83b1a68cSAdrien Destugues</pre> 64*83b1a68cSAdrien Destugues 65*83b1a68cSAdrien Destugues<p>The server will then run until you shut down your computer, but it is also 66*83b1a68cSAdrien Destuguespossible to stop it manually.</p> 67*83b1a68cSAdrien Destugues 68*83b1a68cSAdrien Destugues<pre class="code"> 69*83b1a68cSAdrien Destugues$ netfs_server_prefs terminate 70*83b1a68cSAdrien Destugues</pre> 71*83b1a68cSAdrien Destugues 72*83b1a68cSAdrien Destugues<p>Once the server is running, you can define shared folders. The first step is 73*83b1a68cSAdrien Destuguesto create a user who can access those folders, optionally with a password.</p> 74*83b1a68cSAdrien Destugues 75*83b1a68cSAdrien Destugues<pre class="code"> 76*83b1a68cSAdrien Destugues$ netfs_server_prefs add user <name> [<password>] 77*83b1a68cSAdrien Destugues</pre> 78*83b1a68cSAdrien Destugues 79*83b1a68cSAdrien Destugues<p>Next create a shared folder and assign a user some permissions on it.</p> 80*83b1a68cSAdrien Destugues 81*83b1a68cSAdrien Destugues<pre class="code"> 82*83b1a68cSAdrien Destugues$ netfs_server_prefs add share <name> <path> 83*83b1a68cSAdrien Destugues$ netfs_server_prefs permissions <user> <share> <flags> 84*83b1a68cSAdrien Destugues</pre> 85*83b1a68cSAdrien Destugues 86*83b1a68cSAdrien Destugues<p><span class="code">name</span> is the name that will appear to clients when 87*83b1a68cSAdrien Destuguesthey connect to your server. <span class="code">flags</span> is one or more of: 88*83b1a68cSAdrien Destugues<span class="code">m</span> = mount, <span class="code">r</span> = read, <span 89*83b1a68cSAdrien Destuguesclass="code">w</span> = write, <span class="code">q</span> = query.</p> 90*83b1a68cSAdrien Destugues 91*83b1a68cSAdrien Destugues<p>Don't forget to save your settings.</p> 92*83b1a68cSAdrien Destugues 93*83b1a68cSAdrien Destugues<pre class="code"> 94*83b1a68cSAdrien Destugues$ netfs_server_prefs save 95*83b1a68cSAdrien Destugues</pre> 96*83b1a68cSAdrien Destugues 97*83b1a68cSAdrien Destugues<p>The <span class="code">netfs_server_prefs</span> tool can also list and 98*83b1a68cSAdrien Destuguesremove users and shares. See the help for details.</p> 99*83b1a68cSAdrien Destugues 100*83b1a68cSAdrien Destugues<pre class="code"> 101*83b1a68cSAdrien Destugues$ netfs_server_prefs --help 102*83b1a68cSAdrien Destugues</pre> 103*83b1a68cSAdrien Destugues 104*83b1a68cSAdrien Destugues<hr /> 105*83b1a68cSAdrien Destugues 106*83b1a68cSAdrien Destugues<h2 align="center">Fallback Settings File</h2> 107*83b1a68cSAdrien Destugues 108*83b1a68cSAdrien Destugues<p>The settings file is stored in a binary format, but if it is missing or 109*83b1a68cSAdrien Destuguesdamaged, the server will use a fallback settings file, which has a text-based 110*83b1a68cSAdrien Destuguesformat. This file must be located at <span 111*83b1a68cSAdrien Destuguesclass="code">/boot/home/config/settings/netfs/netfs_server_fallback</span>. (If 112*83b1a68cSAdrien Destuguesneither the main settings file nor the fallback settings file can be loaded, the 113*83b1a68cSAdrien Destuguesserver will have no users or shares defined.) 114*83b1a68cSAdrien Destugues 115*83b1a68cSAdrien Destugues<p>Here is an example of a fallback settings file.</p> 116*83b1a68cSAdrien Destugues 117*83b1a68cSAdrien Destugues<pre class="code"> 118*83b1a68cSAdrien Destugues# users 119*83b1a68cSAdrien Destuguesuser bonefish { 120*83b1a68cSAdrien Destugues password password 121*83b1a68cSAdrien Destugues} 122*83b1a68cSAdrien Destugues 123*83b1a68cSAdrien Destugues# user without a password 124*83b1a68cSAdrien Destuguesuser anonymous 125*83b1a68cSAdrien Destugues 126*83b1a68cSAdrien Destugues# shares 127*83b1a68cSAdrien Destuguesshare ttttt { 128*83b1a68cSAdrien Destugues path /boot/home/Desktop/ttttt 129*83b1a68cSAdrien Destugues user bonefish { 130*83b1a68cSAdrien Destugues permissions mount query read write 131*83b1a68cSAdrien Destugues } 132*83b1a68cSAdrien Destugues} 133*83b1a68cSAdrien Destugues 134*83b1a68cSAdrien Destuguesshare sub-ttttt { 135*83b1a68cSAdrien Destugues path /boot/home/Desktop/ttttt/rmessage 136*83b1a68cSAdrien Destugues user bonefish { 137*83b1a68cSAdrien Destugues permissions mount query read write 138*83b1a68cSAdrien Destugues } 139*83b1a68cSAdrien Destugues user anonymous { 140*83b1a68cSAdrien Destugues permissions mount query read 141*83b1a68cSAdrien Destugues } 142*83b1a68cSAdrien Destugues} 143*83b1a68cSAdrien Destugues</pre> 144*83b1a68cSAdrien Destugues 145*83b1a68cSAdrien Destugues</body> 146*83b1a68cSAdrien Destugues 147