- Timestamp:
- Mar 1, 2010, 3:05:48 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.3.x/docs/htmldocs/Samba3-Developers-Guide/unix-smb.html
r368 r411 1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 1. NetBIOS in a Unix World</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.7 5.2"><link rel="home" href="index.html" title="SAMBA Developers Guide"><link rel="up" href="pt01.html" title="Part I. The protocol"><link rel="prev" href="pt01.html" title="Part I. The protocol"><link rel="next" href="ntdomain.html" title="Chapter 2. NT Domain RPC's"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. NetBIOS in a Unix World</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pt01.html">Prev</a> </td><th width="60%" align="center">Part I. The protocol</th><td width="20%" align="right"> <a accesskey="n" href="ntdomain.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 1. NetBIOS in a Unix World"><div class="titlepage"><div><div><h2 class="title"><a name="unix-smb"></a>Chapter 1. NetBIOS in a Unix World</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Andrew</span> <span class="surname">Tridgell</span></h3></div></div><div><p class="pubdate">April 1995</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="unix-smb.html#id2505193">Introduction</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2505214">Usernames</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2505546">File Ownership</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2505577">Passwords</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2504910">Locking</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2504962">Deny Modes</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2504994">Trapdoor UIDs</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2505015">Port numbers</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2556040">Protocol Complexity</a></span></dt></dl></div><div class="sect1" title="Introduction"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2505193"></a>Introduction</h2></div></div></div><p>1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 1. NetBIOS in a Unix World</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="SAMBA Developers Guide"><link rel="up" href="pt01.html" title="Part I. The protocol"><link rel="prev" href="pt01.html" title="Part I. The protocol"><link rel="next" href="ntdomain.html" title="Chapter 2. NT Domain RPC's"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. NetBIOS in a Unix World</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pt01.html">Prev</a> </td><th width="60%" align="center">Part I. The protocol</th><td width="20%" align="right"> <a accesskey="n" href="ntdomain.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="unix-smb"></a>Chapter 1. NetBIOS in a Unix World</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Andrew</span> <span class="surname">Tridgell</span></h3></div></div><div><p class="pubdate">April 1995</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="unix-smb.html#id2499122">Introduction</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2499143">Usernames</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2499475">File Ownership</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2499506">Passwords</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2498843">Locking</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2498891">Deny Modes</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2498923">Trapdoor UIDs</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2498944">Port numbers</a></span></dt><dt><span class="sect1"><a href="unix-smb.html#id2498960">Protocol Complexity</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2499122"></a>Introduction</h2></div></div></div><p> 2 2 This is a short document that describes some of the issues that 3 3 confront a SMB implementation on unix, and how Samba copes with … … 7 7 It was written to help out a person who was writing a paper on unix to 8 8 PC connectivity. 9 </p></div><div class="sect1" title="Usernames"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2505214"></a>Usernames</h2></div></div></div><p>9 </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2499143"></a>Usernames</h2></div></div></div><p> 10 10 The SMB protocol has only a loose username concept. Early SMB 11 11 protocols (such as CORE and COREPLUS) have no username concept at … … 44 44 validation and the derivation of the username from the service name 45 45 (either directly or via the user= option). 46 </p></div><div class="sect1" title="File Ownership"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2505546"></a>File Ownership</h2></div></div></div><p>46 </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2499475"></a>File Ownership</h2></div></div></div><p> 47 47 The commonly used SMB protocols have no way of saying "you can't do 48 48 that because you don't own the file". They have, in fact, no concept … … 62 62 username mapping, and forcing a specific username for particular 63 63 shares. 64 </p></div><div class="sect1" title="Passwords"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2505577"></a>Passwords</h2></div></div></div><p>64 </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2499506"></a>Passwords</h2></div></div></div><p> 65 65 Many SMB clients uppercase passwords before sending them. I have no 66 66 idea why they do this. Interestingly WfWg uppercases the password only … … 84 84 by the root user. See the documentation ENCRYPTION.txt for more 85 85 details. 86 </p></div><div class="sect1" title="Locking"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2504910"></a>Locking</h2></div></div></div><p>86 </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2498843"></a>Locking</h2></div></div></div><p> 87 87 Since samba 2.2, samba supports other types of locking as well. This 88 88 section is outdated. … … 115 115 give up its lock. Unix has no simple way of implementing 116 116 opportunistic locking, and currently Samba has no support for it. 117 </p></div><div class="sect1" title="Deny Modes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2504962"></a>Deny Modes</h2></div></div></div><p>117 </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2498891"></a>Deny Modes</h2></div></div></div><p> 118 118 When a SMB client opens a file it asks for a particular "deny mode" to 119 119 be placed on the file. These modes (DENY_NONE, DENY_READ, DENY_WRITE, … … 129 129 the shared memory implementation is vastly prefered and is turned on 130 130 by default for those systems that support it. 131 </p></div><div class="sect1" title="Trapdoor UIDs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2504994"></a>Trapdoor UIDs</h2></div></div></div><p>131 </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2498923"></a>Trapdoor UIDs</h2></div></div></div><p> 132 132 A SMB session can run with several uids on the one socket. This 133 133 happens when a user connects to two shares with different … … 139 139 Note that you can also get the "trapdoor uid" message for other 140 140 reasons. Please see the FAQ for details. 141 </p></div><div class="sect1" title="Port numbers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2505015"></a>Port numbers</h2></div></div></div><p>141 </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2498944"></a>Port numbers</h2></div></div></div><p> 142 142 There is a convention that clients on sockets use high "unprivileged" 143 143 port numbers (>1000) and connect to servers on low "privilegedg" port … … 162 162 on. Interestingly WinNT3.1 got this right - it sends node status 163 163 responses back to the source port in the request. 164 </p></div><div class="sect1" title="Protocol Complexity"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2556040"></a>Protocol Complexity</h2></div></div></div><p>164 </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2498960"></a>Protocol Complexity</h2></div></div></div><p> 165 165 There are many "protocol levels" in the SMB protocol. It seems that 166 166 each time new functionality was added to a Microsoft operating system,
Note:
See TracChangeset
for help on using the changeset viewer.