1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345
|
<section xmlns:xi="http://www.w3.org/2003/XInclude">
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="abort shutdown script" context="G" advanced="1" developer="1" type="string" xml:base="logon/abortshutdownscript.xml">
<description>
<para>This a full path name to a script called by <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> that
should stop a shutdown procedure issued by the <smbconfoption name="shutdown script"/>.</para>
<para>If the connected user posseses the <constant>SeRemoteShutdownPrivilege</constant>,
right, this command will be run as user.</para>
</description>
<value type="default">""</value>
<value type="example">/sbin/shutdown -c</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="acl check permissions" context="S" type="boolean" advanced="1" wizard="1" xml:base="protocol/aclcheckpermissions.xml">
<description>
<para>This boolean parameter controls what <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>does on receiving a protocol request of "open for delete"
from a Windows client. If a Windows client doesn't have permissions to delete a file then they
expect this to be denied at open time. POSIX systems normally only detect restrictions on delete by
actually attempting to delete the file or directory. As Windows clients can (and do) "back out" a
delete request by unsetting the "delete on close" bit Samba cannot delete the file immediately
on "open for delete" request as we cannot restore such a deleted file. With this parameter set to
true (the default) then smbd checks the file system permissions directly on "open for delete" and denies the
request without actually deleting the file if the file system permissions would seem to deny it.
This is not perfect, as it's possible a user could have deleted a file without Samba being able to
check the permissions correctly, but it is close enough to Windows semantics for mostly correct
behaviour. Samba will correctly check POSIX ACL semantics in this case.
</para>
<para>If this parameter is set to "false" Samba doesn't check permissions on "open for delete"
and allows the open. If the user doesn't have permission to delete the file this will only be
discovered at close time, which is too late for the Windows user tools to display an error message
to the user. The symptom of this is files that appear to have been deleted "magically" re-appearing
on a Windows explorer refersh. This is an extremely advanced protocol option which should not
need to be changed. This parameter was introduced in its final form in 3.0.21, an earlier version
with slightly different semantics was introduced in 3.0.20. That older version is not documented here.
</para>
</description>
<value type="default">True</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="acl compatibility" context="S" type="enum" advanced="1" developer="1" xml:base="vfs/aclcompatibility.xml">
<description>
<para>This parameter specifies what OS ACL semantics should
be compatible with. Possible values are <emphasis>winnt</emphasis> for Windows NT 4,
<emphasis>win2k</emphasis> for Windows 2000 and above and <emphasis>auto</emphasis>.
If you specify <emphasis>auto</emphasis>, the value for this parameter
will be based upon the version of the client. There should
be no reason to change this parameter from the default.</para>
</description>
<value type="default">Auto</value>
<value type="example">win2k</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="acl group control" context="S" type="boolean" xml:base="security/aclgroupcontrol.xml">
<description>
<para>
In a POSIX filesystem, only the owner of a file or directory and the superuser can modify the permissions
and ACLs on a file. If this parameter is set, then Samba overrides this restriction, and also allows the
<emphasis>primary group owner</emphasis> of a file or directory to modify the permissions and ACLs
on that file.
</para>
<para>
On a Windows server, groups may be the owner of a file or directory - thus allowing anyone in
that group to modify the permissions on it. This allows the delegation of security controls
on a point in the filesystem to the group owner of a directory and anything below it also owned
by that group. This means there are multiple people with permissions to modify ACLs on a file
or directory, easing managability.
</para>
<para>
This parameter allows Samba to also permit delegation of the control over a point in the exported
directory hierarchy in much the same way as Windows. This allows all members of a UNIX group to
control the permissions on a file or directory they have group ownership on.
</para>
<para>
This parameter is best used with the <smbconfoption name="inherit owner"/> option and also
on on a share containing directories with the UNIX <emphasis>setgid bit</emphasis> set
on them, which causes new files and directories created within it to inherit the group
ownership from the containing directory.
</para>
<para>
This is parameter has been was deprecated in Samba 3.0.23, but re-activated in
Samba 3.0.31 and above, as it now only controls permission changes if the user
is in the owning primary group. It is now no longer equivalent to the
<parameter moreinfo="none">dos filemode</parameter> option.
</para>
</description>
<related>inherit owner</related>
<related>inherit permissions</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="acl map full control" context="S" type="boolean" advanced="1" wizard="1" xml:base="protocol/aclmapfullcontrol.xml">
<description>
<para>
This boolean parameter controls whether <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>maps a POSIX ACE entry of "rwx" (read/write/execute), the maximum
allowed POSIX permission set, into a Windows ACL of "FULL CONTROL". If this parameter is set to true any POSIX
ACE entry of "rwx" will be returned in a Windows ACL as "FULL CONTROL", is this parameter is set to false any
POSIX ACE entry of "rwx" will be returned as the specific Windows ACL bits representing read, write and
execute.
</para>
</description>
<value type="default">True</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="add group script" context="G" type="string" advanced="1" developer="1" xml:base="logon/addgroupscript.xml">
<description>
<para>
This is the full pathname to a script that will be run <emphasis>AS ROOT</emphasis> by <citerefentry>
<refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum></citerefentry> when a new group is requested. It
will expand any <parameter moreinfo="none">%g</parameter> to the group name passed. This script is only useful
for installations using the Windows NT domain administration tools. The script is free to create a group with
an arbitrary name to circumvent unix group name restrictions. In that case the script must print the numeric
gid of the created group on stdout.
</para>
</description>
<value type="default"/>
<value type="example">/usr/sbin/groupadd %g</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="add machine script" context="G" type="string" advanced="1" developer="1" xml:base="logon/addmachinescript.xml">
<description>
<para>
This is the full pathname to a script that will be run by
<citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry> when a machine is
added to Samba's domain and a Unix account matching the machine's name appended with a "$" does not
already exist.
</para>
<para>This option is very similar to the <smbconfoption name="add user script"/>, and likewise uses the %u
substitution for the account name. Do not use the %m
substitution. </para>
</description>
<value type="default"/>
<value type="example">/usr/sbin/adduser -n -g machines -c Machine -d /var/lib/nobody -s /bin/false %u</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="add port command" context="G" type="string" advanced="1" developer="1" xml:base="printing/addportcommand.xml">
<description>
<para>Samba 3.0.23 introduced support for adding printer ports
remotely using the Windows "Add Standard TCP/IP Port Wizard".
This option defines an external program to be executed when
smbd receives a request to add a new Port to the system.
The script is passed two parameters:</para>
<itemizedlist>
<listitem><para><parameter moreinfo="none">port name</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">device URI</parameter></para></listitem>
</itemizedlist>
<para>The deviceURI is in the for of socket://<hostname>[:<portnumber>]
or lpd://<hostname>/<queuename>.</para>
</description>
<related>enum ports command</related>
<value type="default"/>
<value type="example">/etc/samba/scripts/addport.sh</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="addprinter command" context="G" type="string" advanced="1" developer="1" xml:base="printing/addprintercommand.xml">
<description>
<para>With the introduction of MS-RPC based printing
support for Windows NT/2000 clients in Samba 2.2, The MS Add
Printer Wizard (APW) icon is now also available in the
"Printers..." folder displayed a share listing. The APW
allows for printers to be add remotely to a Samba or Windows
NT/2000 print server.</para>
<para>For a Samba host this means that the printer must be
physically added to the underlying printing system.
The <parameter moreinfo="none">addprinter command</parameter>
defines a script to be run which
will perform the necessary operations for adding the printer
to the print system and to add the appropriate service definition
to the <filename moreinfo="none">smb.conf</filename> file in order that it can be
shared by <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>.</para>
<para>The <parameter moreinfo="none">addprinter command</parameter> is
automatically invoked with the following parameter (in
order):</para>
<itemizedlist>
<listitem><para><parameter moreinfo="none">printer name</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">share name</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">port name</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">driver name</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">location</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">Windows 9x driver location</parameter></para></listitem>
</itemizedlist>
<para>All parameters are filled in from the PRINTER_INFO_2 structure sent
by the Windows NT/2000 client with one exception. The "Windows 9x
driver location" parameter is included for backwards compatibility
only. The remaining fields in the structure are generated from answers
to the APW questions.</para>
<para>Once the <parameter moreinfo="none">addprinter command</parameter> has
been executed, <command moreinfo="none">smbd</command> will reparse the <filename moreinfo="none">
smb.conf</filename> to determine if the share defined by the APW
exists. If the sharename is still invalid, then <command moreinfo="none">smbd
</command> will return an ACCESS_DENIED error to the client.</para>
<para>
The <parameter moreinfo="none">addprinter command</parameter> program
can output a single line of text,
which Samba will set as the port the new printer is connected to.
If this line isn't output, Samba won't reload its printer shares.
</para>
</description>
<related>deleteprinter command</related>
<related>printing</related>
<related>show add printer wizard</related>
<value type="default"/>
<value type="example">/usr/bin/addprinter</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="add share command" context="G" type="string" advanced="1" developer="1" xml:base="misc/addsharecommand.xml">
<description>
<para>
Samba 2.2.0 introduced the ability to dynamically add and delete shares via the Windows NT 4.0 Server
Manager. The <parameter moreinfo="none">add share command</parameter> is used to define an external program
or script which will add a new service definition to <filename moreinfo="none">smb.conf</filename>. In order
to successfully execute the <parameter moreinfo="none">add share command</parameter>, <command moreinfo="none">smbd</command> requires that the administrator be connected using a root account (i.e. uid == 0).
</para>
<para>
If the connected account has <literal>SeDiskOperatorPrivilege</literal>, scripts defined in
<parameter moreinfo="none">change share</parameter> parameter are executed as root.
</para>
<para>
When executed, <command moreinfo="none">smbd</command> will automatically invoke the
<parameter moreinfo="none">add share command</parameter> with five parameters.
</para>
<itemizedlist>
<listitem>
<para><parameter moreinfo="none">configFile</parameter> - the location of the global <filename moreinfo="none">smb.conf</filename> file.
</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">shareName</parameter> - the name of the new share.
</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">pathName</parameter> - path to an **existing**
directory on disk.
</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">comment</parameter> - comment string to associate with the new
share.
</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">max
connections</parameter>
Number of maximum simultaneous connections to this
share.
</para>
</listitem>
</itemizedlist>
<para>
This parameter is only used for add file shares. To add printer shares, see the <smbconfoption name="addprinter command"/>.
</para>
</description>
<related>change share command</related>
<related>delete share command</related>
<value type="default"/>
<value type="example">/usr/local/bin/addshare</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="add user script" context="G" type="string" advanced="1" developer="1" xml:base="logon/adduserscript.xml">
<description>
<para>
This is the full pathname to a script that will be run <emphasis>AS ROOT</emphasis> by
<citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry>
under special circumstances described below.
</para>
<para>
Normally, a Samba server requires that UNIX users are created for all users accessing
files on this server. For sites that use Windows NT account databases as their primary
user database creating these users and keeping the user list in sync with the Windows
NT PDC is an onerous task. This option allows smbd to create the required UNIX users
<emphasis>ON DEMAND</emphasis> when a user accesses the Samba server.
</para>
<para>
In order to use this option, <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> must <emphasis>NOT</emphasis> be set to
<smbconfoption name="security">share</smbconfoption> and <smbconfoption name="add user script"/>
must be set to a full pathname for a script that will create a UNIX user given one argument of
<parameter moreinfo="none">%u</parameter>, which expands into the UNIX user name to create.
</para>
<para>
When the Windows user attempts to access the Samba server, at login (session setup in
the SMB protocol) time, <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> contacts the <smbconfoption name="password server"/>
and attempts to authenticate the given user with the given password. If the authentication
succeeds then <command moreinfo="none">smbd</command> attempts to find a UNIX user in the UNIX
password database to map the Windows user into. If this lookup fails, and
<smbconfoption name="add user script"/> is set then <command moreinfo="none">smbd</command> will
call the specified script <emphasis>AS ROOT</emphasis>, expanding any
<parameter moreinfo="none">%u</parameter> argument to be the user name to create.
</para>
<para>
If this script successfully creates the user then <command moreinfo="none">smbd</command> will
continue on as though the UNIX user already existed. In this way, UNIX users are dynamically created to
match existing Windows NT accounts.
</para>
<para>
See also <smbconfoption name="security"/>, <smbconfoption name="password server"/>,
<smbconfoption name="delete user script"/>.
</para>
</description>
<value type="default"/>
<value type="example">/usr/local/samba/bin/add_user %u</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="add user to group script" context="G" type="string" advanced="1" developer="1" xml:base="logon/addusertogroupscript.xml">
<description>
<para>
Full path to the script that will be called when a user is added to a group using the Windows NT domain administration
tools. It will be run by <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry>
<emphasis>AS ROOT</emphasis>. Any <parameter moreinfo="none">%g</parameter> will be replaced with the group name and
any <parameter moreinfo="none">%u</parameter> will be replaced with the user name.
</para>
<para>
Note that the <command>adduser</command> command used in the example below does
not support the used syntax on all systems.
</para>
</description>
<value type="default"/>
<value type="example">/usr/sbin/adduser %u %g</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="administrative share" context="S" type="boolean" xml:base="browse/administrative_share.xml">
<description>
<para>If this parameter is set to <constant>yes</constant> for
a share, then the share will be an administrative share. The Administrative
Shares are the default network shares created by all Windows NT-based
operating systems. These are shares like C$, D$ or ADMIN$. The type of these
shares is STYPE_DISKTREE_HIDDEN.</para>
<para>See the section below on <smbconfoption name="security"/> for more
information about this option.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="admin users" context="S" type="list" xml:base="security/adminusers.xml">
<description>
<para>This is a list of users who will be granted
administrative privileges on the share. This means that they
will do all file operations as the super-user (root).</para>
<para>You should use this option very carefully, as any user in
this list will be able to do anything they like on the share,
irrespective of file permissions.</para>
<para>This parameter will not work with the <smbconfoption name="security">share</smbconfoption> in
Samba 3.0. This is by design.</para>
</description>
<value type="default"/>
<value type="example">jason</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="afs share" context="S" type="boolean" advanced="1" xml:base="misc/afsshare.xml">
<description>
<para>This parameter controls whether special AFS features are enabled
for this share. If enabled, it assumes that the directory exported via
the <parameter>path</parameter> parameter is a local AFS import. The
special AFS features include the attempt to hand-craft an AFS token
if you enabled --with-fake-kaserver in configure.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="afs username map" context="G" type="string" advanced="1" xml:base="misc/afsusernamemap.xml">
<description>
<para>If you are using the fake kaserver AFS feature, you might
want to hand-craft the usernames you are creating tokens for.
For example this is necessary if you have users from several domain
in your AFS Protection Database. One possible scheme to code users
as DOMAIN+User as it is done by winbind with the + as a separator.
</para>
<para>The mapped user name must contain the cell name to log into,
so without setting this parameter there will be no token.</para>
</description>
<value type="default"/>
<value type="example">%u@afs.samba.org</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="aio read size" context="S" type="integer" xml:base="tuning/aioreadsize.xml">
<description>
<para>If Samba has been built with asynchronous I/O support and this
integer parameter is set to non-zero value,
Samba will read from file asynchronously when size of request is bigger
than this value. Note that it happens only for non-chained and non-chaining
reads and when not using write cache.</para>
<para>Current implementation of asynchronous I/O in Samba 3.0 does support
only up to 10 outstanding asynchronous requests, read and write combined.</para>
<related>write cache size</related>
<related>aio write size</related>
</description>
<value type="default">0</value>
<value type="example">16384<comment> Use asynchronous I/O for reads bigger than 16KB
request size</comment></value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="aio write size" context="S" type="integer" xml:base="tuning/aiowritesize.xml">
<description>
<para>If Samba has been built with asynchronous I/O support and this
integer parameter is set to non-zero value,
Samba will write to file asynchronously when size of request is bigger
than this value. Note that it happens only for non-chained and non-chaining
reads and when not using write cache.</para>
<para>Current implementation of asynchronous I/O in Samba 3.0 does support
only up to 10 outstanding asynchronous requests, read and write combined.</para>
<related>write cache size</related>
<related>aio read size</related>
</description>
<value type="default">0</value>
<value type="example">16384<comment> Use asynchronous I/O for writes bigger than 16KB
request size</comment></value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="algorithmic rid base" context="G" advanced="1" developer="1" type="integer" xml:base="security/algorithmicridbase.xml">
<description>
<para>This determines how Samba will use its
algorithmic mapping from uids/gid to the RIDs needed to construct
NT Security Identifiers.
</para>
<para>Setting this option to a larger value could be useful to sites
transitioning from WinNT and Win2k, as existing user and
group rids would otherwise clash with sytem users etc.
</para>
<para>All UIDs and GIDs must be able to be resolved into SIDs for
the correct operation of ACLs on the server. As such the algorithmic
mapping can't be 'turned off', but pushing it 'out of the way' should
resolve the issues. Users and groups can then be assigned 'low' RIDs
in arbitrary-rid supporting backends.
</para>
</description>
<value type="default">1000</value>
<value type="example">100000</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="allocation roundup size" context="S" type="integer" xml:base="tuning/allocationroundupsize.xml">
<description>
<para>This parameter allows an administrator to tune the
allocation size reported to Windows clients. The default
size of 1Mb generally results in improved Windows client
performance. However, rounding the allocation size may cause
difficulties for some applications, e.g. MS Visual Studio.
If the MS Visual Studio compiler starts to crash with an
internal error, set this parameter to zero for this share.
</para>
<para>The integer parameter specifies the roundup size in bytes.</para>
</description>
<value type="default">1048576</value>
<value type="example">0<comment>(to disable roundups)</comment></value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="allow trusted domains" context="G" type="boolean" advanced="1" developer="1" xml:base="security/allowtrusteddomains.xml">
<description>
<para>
This option only takes effect when the <smbconfoption name="security"/> option is set to
<constant>server</constant>, <constant>domain</constant> or <constant>ads</constant>.
If it is set to no, then attempts to connect to a resource from
a domain or workgroup other than the one which smbd is running
in will fail, even if that domain is trusted by the remote server
doing the authentication.</para>
<para>This is useful if you only want your Samba server to
serve resources to users in the domain it is a member of. As
an example, suppose that there are two domains DOMA and DOMB. DOMB
is trusted by DOMA, which contains the Samba server. Under normal
circumstances, a user with an account in DOMB can then access the
resources of a UNIX account with the same account name on the
Samba server even if they do not have an account in DOMA. This
can make implementing a security boundary difficult.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="announce as" context="G" type="string" developer="1" xml:base="protocol/announceas.xml">
<description>
<para>This specifies what type of server <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will announce itself as, to a network neighborhood browse
list. By default this is set to Windows NT. The valid options
are : "NT Server" (which can also be written as "NT"),
"NT Workstation", "Win95" or "WfW" meaning Windows NT Server,
Windows NT Workstation, Windows 95 and Windows for Workgroups
respectively. Do not change this parameter unless you have a
specific need to stop Samba appearing as an NT server as this
may prevent Samba servers from participating as browser servers
correctly.</para>
</description>
<value type="default">NT Server</value>
<value type="example">Win95</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="announce version" context="G" developer="1" type="string" xml:base="protocol/announceversion.xml">
<description>
<para>This specifies the major and minor version numbers
that nmbd will use when announcing itself as a server. The default
is 4.9. Do not change this parameter unless you have a specific
need to set a Samba server to be a downlevel server.</para>
</description>
<value type="default">4.9</value>
<value type="example">2.0</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="auth methods" context="G" type="list" basic="1" advanced="1" wizard="1" developer="1" xml:base="security/authmethods.xml">
<description>
<para>
This option allows the administrator to chose what authentication methods <command moreinfo="none">smbd</command>
will use when authenticating a user. This option defaults to sensible values based on <smbconfoption name="security"/>.
This should be considered a developer option and used only in rare circumstances. In the majority (if not all)
of production servers, the default setting should be adequate.
</para>
<para>
Each entry in the list attempts to authenticate the user in turn, until
the user authenticates. In practice only one method will ever actually
be able to complete the authentication.
</para>
<para>
Possible options include <constant>guest</constant> (anonymous access),
<constant>sam</constant> (lookups in local list of accounts based on netbios
name or domain name), <constant>winbind</constant> (relay authentication requests
for remote users through winbindd), <constant>ntdomain</constant> (pre-winbindd
method of authentication for remote domain users; deprecated in favour of winbind method),
<constant>trustdomain</constant> (authenticate trusted users by contacting the
remote DC directly from smbd; deprecated in favour of winbind method).
</para>
</description>
<value type="default"/>
<value type="example">guest sam winbind</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="available" context="S" basic="1" advanced="1" print="1" type="boolean" xml:base="misc/available.xml">
<description>
<para>This parameter lets you "turn off" a service. If
<parameter moreinfo="none">available = no</parameter>, then <emphasis>ALL</emphasis>
attempts to connect to the service will fail. Such failures are
logged.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="bind interfaces only" type="boolean" context="G" advanced="1" wizard="1" developer="1" xml:base="base/bindinterfacesonly.xml">
<description>
<para>This global parameter allows the Samba admin
to limit what interfaces on a machine will serve SMB requests. It
affects file service <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> and name service <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> in a slightly different ways.</para>
<para>
For name service it causes <command moreinfo="none">nmbd</command> to bind to ports 137 and 138 on the
interfaces listed in the <smbconfoption name="interfaces"/> parameter. <command moreinfo="none">nmbd</command>
also binds to the "all addresses" interface (0.0.0.0) on ports 137 and 138 for the purposes of
reading broadcast messages. If this option is not set then <command moreinfo="none">nmbd</command> will
service name requests on all of these sockets. If <smbconfoption name="bind interfaces only"/> is set then
<command moreinfo="none">nmbd</command> will check the source address of any packets coming in on the
broadcast sockets and discard any that don't match the broadcast addresses of the interfaces in the
<smbconfoption name="interfaces"/> parameter list. As unicast packets are received on the other sockets it
allows <command moreinfo="none">nmbd</command> to refuse to serve names to machines that send packets that
arrive through any interfaces not listed in the <smbconfoption name="interfaces"/> list. IP Source address
spoofing does defeat this simple check, however, so it must not be used seriously as a security feature for
<command moreinfo="none">nmbd</command>.
</para>
<para>
For file service it causes <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> to bind only to the interface list given in the <smbconfoption name="interfaces"/> parameter. This restricts the networks that <command moreinfo="none">smbd</command> will
serve, to packets coming in on those interfaces. Note that you should not use this parameter for machines that
are serving PPP or other intermittent or non-broadcast network interfaces as it will not cope with
non-permanent interfaces.
</para>
<para>
If <smbconfoption name="bind interfaces only"/> is set and the network address
<emphasis>127.0.0.1</emphasis> is not added to the <smbconfoption name="interfaces"/> parameter list
<citerefentry><refentrytitle>smbpasswd</refentrytitle> <manvolnum>8</manvolnum></citerefentry> and
<citerefentry><refentrytitle>swat</refentrytitle> <manvolnum>8</manvolnum></citerefentry> may not work as
expected due to the reasons covered below.
</para>
<para>
To change a users SMB password, the <command moreinfo="none">smbpasswd</command> by default connects to the
<emphasis>localhost - 127.0.0.1</emphasis> address as an SMB client to issue the password change request. If
<smbconfoption name="bind interfaces only"/> is set then unless the network address
<emphasis>127.0.0.1</emphasis> is added to the <smbconfoption name="interfaces"/> parameter list then <command moreinfo="none"> smbpasswd</command> will fail to connect in it's default mode. <command moreinfo="none">smbpasswd</command> can be forced to use the primary IP interface of the local host by using
its <citerefentry><refentrytitle>smbpasswd</refentrytitle> <manvolnum>8</manvolnum></citerefentry> <parameter moreinfo="none">-r <replaceable>remote machine</replaceable></parameter> parameter, with <replaceable>remote
machine</replaceable> set to the IP name of the primary interface of the local host.
</para>
<para>
The <command moreinfo="none">swat</command> status page tries to connect with <command moreinfo="none">smbd</command> and <command moreinfo="none">nmbd</command> at the address
<emphasis>127.0.0.1</emphasis> to determine if they are running. Not adding <emphasis>127.0.0.1</emphasis>
will cause <command moreinfo="none"> smbd</command> and <command moreinfo="none">nmbd</command> to always show
"not running" even if they really are. This can prevent <command moreinfo="none"> swat</command>
from starting/stopping/restarting <command moreinfo="none">smbd</command> and <command moreinfo="none">nmbd</command>.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="blocking locks" context="S" type="boolean" xml:base="locking/blockinglocks.xml">
<description>
<para>This parameter controls the behavior
of <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> when given a request by a client
to obtain a byte range lock on a region of an open file, and the
request has a time limit associated with it.</para>
<para>If this parameter is set and the lock range requested
cannot be immediately satisfied, samba will internally
queue the lock request, and periodically attempt to obtain
the lock until the timeout period expires.</para>
<para>If this parameter is set to <constant>no</constant>, then
samba will behave as previous versions of Samba would and
will fail the lock request immediately if the lock range
cannot be obtained.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="block size" type="integer" context="S" xml:base="tuning/blocksize.xml">
<description>
<para>This parameter controls the behavior of <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> when reporting disk free
sizes. By default, this reports a disk block size of 1024 bytes.
</para>
<para>Changing this parameter may have some effect on the
efficiency of client writes, this is not yet confirmed. This
parameter was added to allow advanced administrators to change
it (usually to a higher value) and test the effect it has on
client write performance without re-compiling the code. As this
is an experimental option it may be removed in a future release.
</para>
<para>Changing this option does not change the disk free reporting
size, just the block size unit reported to the client.
</para>
</description>
<value type="default">1024</value>
<value type="example">4096</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="browseable" context="S" type="boolean" basic="1" advanced="1" print="1" developer="1" xml:base="browse/browseable.xml">
<synonym>browsable</synonym>
<description>
<para>This controls whether this share is seen in
the list of available shares in a net view and in the browse list.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="browse list" context="G" type="boolean" advanced="1" developer="1" xml:base="browse/browselist.xml">
<description>
<para>This controls whether <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will serve a browse list to
a client doing a <command moreinfo="none">NetServerEnum</command> call. Normally
set to <constant>yes</constant>. You should never need to change
this.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="case sensitive" context="S" type="boolean" xml:base="filename/casesensitive.xml">
<synonym>casesignames</synonym>
<description>
<para>See the discussion in the section <smbconfoption name="name mangling"/>.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="change notify" context="S" type="boolean" advanced="1" xml:base="misc/changenotify.xml">
<description>
<para>This parameter specifies whether Samba should reply
to a client's file change notify requests.
</para>
<para>You should never need to change this parameter</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="change share command" context="G" type="string" advanced="1" developer="1" xml:base="misc/changesharecommand.xml">
<description>
<para>
Samba 2.2.0 introduced the ability to dynamically add and delete shares via the Windows NT 4.0 Server
Manager. The <parameter moreinfo="none">change share command</parameter> is used to define an external
program or script which will modify an existing service definition in <filename moreinfo="none">smb.conf</filename>. In order to successfully execute the <parameter moreinfo="none">change
share command</parameter>, <command moreinfo="none">smbd</command> requires that the administrator be
connected using a root account (i.e. uid == 0).
</para>
<para>
If the connected account has <literal>SeDiskOperatorPrivilege</literal>, scripts defined in
<parameter moreinfo="none">change share</parameter> parameter are executed as root.
</para>
<para>
When executed, <command moreinfo="none">smbd</command> will automatically invoke the
<parameter moreinfo="none">change share command</parameter> with five parameters.
</para>
<itemizedlist>
<listitem>
<para><parameter moreinfo="none">configFile</parameter> - the location
of the global <filename moreinfo="none">smb.conf</filename> file.
</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">shareName</parameter> - the name of the new
share.
</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">pathName</parameter> - path to an **existing**
directory on disk.
</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">comment</parameter> - comment string to associate
with the new share.
</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">max
connections</parameter>
Number of maximum simultaneous connections to this
share.
</para>
</listitem>
</itemizedlist>
<para>
This parameter is only used modify existing file shares definitions. To modify
printer shares, use the "Printers..." folder as seen when browsing the Samba host.
</para>
</description>
<related>add share command</related>
<related>delete share command</related>
<value type="default"/>
<value type="example">/usr/local/bin/addshare</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="check password script" context="G" type="string" advanced="1" developer="1" xml:base="security/checkpasswordscript.xml">
<description>
<para>The name of a program that can be used to check password
complexity. The password is sent to the program's standard input.</para>
<para>The program must return 0 on a good password, or any other value
if the password is bad.
In case the password is considered weak (the program does not return 0) the
user will be notified and the password change will fail.</para>
<para>Note: In the example directory is a sample program called <command moreinfo="none">crackcheck</command>
that uses cracklib to check the password quality.</para>
</description>
<value type="default">Disabled</value>
<value type="example">check password script = /usr/local/sbin/crackcheck</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="client lanman auth" context="G" type="boolean" advanced="1" developer="1" xml:base="security/clientlanmanauth.xml">
<description>
<para>This parameter determines whether or not <citerefentry><refentrytitle>smbclient</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> and other samba client
tools will attempt to authenticate itself to servers using the
weaker LANMAN password hash. If disabled, only server which support NT
password hashes (e.g. Windows NT/2000, Samba, etc... but not
Windows 95/98) will be able to be connected from the Samba client.</para>
<para>The LANMAN encrypted response is easily broken, due to it's
case-insensitive nature, and the choice of algorithm. Clients
without Windows 95/98 servers are advised to disable
this option. </para>
<para>Disabling this option will also disable the <command moreinfo="none">client plaintext auth</command> option</para>
<para>Likewise, if the <command moreinfo="none">client ntlmv2
auth</command> parameter is enabled, then only NTLMv2 logins will be
attempted.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="client ldap sasl wrapping" context="G" type="string" advanced="1" xml:base="ldap/clientldapsaslwrapping.xml">
<description>
<para>
The <smbconfoption name="client ldap sasl wrapping"/> defines whether
ldap traffic will be signed or signed and encrypted (sealed).
Possible values are <emphasis>plain</emphasis>, <emphasis>sign</emphasis>
and <emphasis>seal</emphasis>.
</para>
<para>
The values <emphasis>sign</emphasis> and <emphasis>seal</emphasis> are
only available if Samba has been compiled against a modern
OpenLDAP version (2.3.x or higher).
</para>
<para>
This option is needed in the case of Domain Controllers enforcing
the usage of signed LDAP connections (e.g. Windows 2000 SP3 or higher).
LDAP sign and seal can be controlled with the registry key
"<literal>HKLM\System\CurrentControlSet\Services\</literal>
<literal>NTDS\Parameters\LDAPServerIntegrity</literal>"
on the Windows server side.
</para>
<para>
Depending on the used KRB5 library (MIT and older Heimdal versions)
it is possible that the message "integrity only" is not supported.
In this case, <emphasis>sign</emphasis> is just an alias for
<emphasis>seal</emphasis>.
</para>
<para>
The default value is <emphasis>plain</emphasis> which is not irritable
to KRB5 clock skew errors. That implies synchronizing the time
with the KDC in the case of using <emphasis>sign</emphasis> or
<emphasis>seal</emphasis>.
</para>
</description>
<value type="default">plain</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="client ntlmv2 auth" context="G" type="boolean" advanced="1" developer="1" xml:base="security/clientntlmv2auth.xml">
<description>
<para>This parameter determines whether or not <citerefentry><refentrytitle>smbclient</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will attempt to
authenticate itself to servers using the NTLMv2 encrypted password
response.</para>
<para>If enabled, only an NTLMv2 and LMv2 response (both much more
secure than earlier versions) will be sent. Many servers
(including NT4 < SP4, Win9x and Samba 2.2) are not compatible with
NTLMv2. </para>
<para>Similarly, if enabled, NTLMv1, <command moreinfo="none">client lanman auth</command> and <command moreinfo="none">client plaintext auth</command>
authentication will be disabled. This also disables share-level
authentication. </para>
<para>If disabled, an NTLM response (and possibly a LANMAN response)
will be sent by the client, depending on the value of <command moreinfo="none">client lanman auth</command>. </para>
<para>Note that some sites (particularly
those following 'best practice' security polices) only allow NTLMv2
responses, and not the weaker LM or NTLM.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="client plaintext auth" context="G" type="boolean" basic="1" advanced="1" wizard="1" developer="1" xml:base="security/clientplaintextauth.xml">
<description>
<para>Specifies whether a client should send a plaintext
password if the server does not support encrypted passwords.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="client schannel" context="G" basic="1" type="boolean-auto" xml:base="security/clientschannel.xml">
<description>
<para>
This controls whether the client offers or even demands the use of the netlogon schannel.
<smbconfoption name="client schannel">no</smbconfoption> does not offer the schannel,
<smbconfoption name="client schannel">auto</smbconfoption> offers the schannel but does not
enforce it, and <smbconfoption name="client schannel">yes</smbconfoption> denies access
if the server is not able to speak netlogon schannel.
</para>
</description>
<value type="default">auto</value>
<value type="example">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="client signing" context="G" type="boolean-auto" basic="1" xml:base="security/clientsigning.xml">
<description>
<para>This controls whether the client offers or requires
the server it talks to to use SMB signing. Possible values
are <emphasis>auto</emphasis>, <emphasis>mandatory</emphasis>
and <emphasis>disabled</emphasis>.
</para>
<para>When set to auto, SMB signing is offered, but not enforced.
When set to mandatory, SMB signing is required and if set
to disabled, SMB signing is not offered either.
</para>
</description>
<value type="default">auto</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="client use spnego" context="G" type="boolean" developer="1" xml:base="protocol/clientusespnego.xml">
<description>
<para> This variable controls whether Samba clients will try
to use Simple and Protected NEGOciation (as specified by rfc2478) with
supporting servers (including WindowsXP, Windows2000 and Samba
3.0) to agree upon an authentication
mechanism. This enables Kerberos authentication in particular.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="cluster addresses" context="G" type="list" developer="1" xml:base="misc/clusteraddresses.xml">
<description>
<para>With this parameter you can add additional addresses
nmbd will register with a WINS server. These addresses are not
necessarily present on all nodes simultaneously, but they will
be registered with the WINS server so that clients can contact
any of the nodes.
</para>
</description>
<value type="default"/>
<value type="example">10.0.0.1 10.0.0.2 10.0.0.3</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="clustering" context="G" type="boolean" advanced="1" xml:base="misc/clustering.xml">
<description>
<para>This parameter specifies whether Samba should contact
ctdb for accessing its tdb files and use ctdb as a backend
for its messaging backend.
</para>
<para>Set this parameter to <value type="example">yes</value> only if
you have a cluster setup with ctdb running.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="comment" context="S" type="string" basic="1" advanced="1" share="1" print="1" developer="1" xml:base="base/comment.xml">
<description>
<para>This is a text field that is seen next to a share
when a client does a queries the server, either via the network
neighborhood or via <command moreinfo="none">net view</command> to list what shares
are available.</para>
<para>If you want to set the string that is displayed next to the
machine name then see the <smbconfoption name="server string"/> parameter.</para>
</description>
<value type="default"><comment>No comment</comment></value>
<value type="example">Fred's Files</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="config backend" context="G" type="enum" advanced="1" developer="1" xml:base="base/configbackend.xml">
<description>
<para>
This controls the backend for storing the configuration.
Possible values are <emphasis>file</emphasis> (the default)
and <emphasis>registry</emphasis>.
When <smbconfoption name="config backend">registry</smbconfoption>
is encountered while loading <emphasis>smb.conf</emphasis>,
the configuration read so far is dropped and the global
options are read from registry instead. So this triggers a
registry only configuration. Share definitions are not read
immediately but instead <parameter>registry
shares</parameter> is set to <emphasis>yes</emphasis>.
</para>
<para>
Note: This option can not be set inside the registry
configuration itself.
</para>
</description>
<value type="default">file</value>
<value type="example">registry</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="config file" context="G" type="string" hide="1" xml:base="misc/configfile.xml">
<description>
<para>This allows you to override the config file
to use, instead of the default (usually <filename moreinfo="none">smb.conf</filename>).
There is a chicken and egg problem here as this option is set
in the config file!</para>
<para>For this reason, if the name of the config file has changed
when the parameters are loaded then it will reload them from
the new config file.</para>
<para>This option takes the usual substitutions, which can
be very useful.</para>
<para>If the config file doesn't exist then it won't be loaded
(allowing you to special case the config files of just a few
clients).</para>
</description>
<value type="example">/usr/local/samba/lib/smb.conf.%m</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="copy" context="S" hide="1" type="string" xml:base="misc/copy.xml">
<description>
<para>This parameter allows you to "clone" service
entries. The specified service is simply duplicated under the
current service's name. Any parameters specified in the current
section will override those in the section being copied.</para>
<para>This feature lets you set up a 'template' service and
create similar services easily. Note that the service being
copied must occur earlier in the configuration file than the
service doing the copying.</para>
</description>
<value type="default"/>
<value type="example">otherservice</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="create mask" context="S" type="string" xml:base="security/createmask.xml">
<synonym>create mode</synonym>
<description>
<para>
When a file is created, the necessary permissions are calculated according to the mapping from DOS modes to
UNIX permissions, and the resulting UNIX mode is then bit-wise 'AND'ed with this parameter. This parameter may
be thought of as a bit-wise MASK for the UNIX modes of a file. Any bit <emphasis>not</emphasis> set here will
be removed from the modes set on a file when it is created.
</para>
<para>
The default value of this parameter removes the <literal>group</literal> and <literal>other</literal>
write and execute bits from the UNIX modes.
</para>
<para>
Following this Samba will bit-wise 'OR' the UNIX mode created from this parameter with the value of the
<smbconfoption name="force create mode"/> parameter which is set to 000 by default.
</para>
<para>
This parameter does not affect directory masks. See the parameter <smbconfoption name="directory mask"/>
for details.
</para>
<para>
Note that this parameter does not apply to permissions set by Windows NT/2000 ACL editors. If the
administrator wishes to enforce a mask on access control lists also, they need to set the <smbconfoption name="security mask"/>.
</para>
</description>
<related>force create mode</related>
<related>directory mode</related>
<related>inherit permissions</related>
<value type="default">0744</value>
<value type="example">0775</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="csc policy" context="S" type="enum" xml:base="locking/cscpolicy.xml">
<description>
<para>
This stands for <emphasis>client-side caching policy</emphasis>, and specifies how clients capable of offline
caching will cache the files in the share. The valid values are: manual, documents, programs, disable.
</para>
<para>
These values correspond to those used on Windows servers.
</para>
<para>
For example, shares containing roaming profiles can have offline caching disabled using
<smbconfoption name="csc policy">disable</smbconfoption>.
</para>
</description>
<value type="default">manual</value>
<value type="example">programs</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ctdbd socket" context="G" advanced="1" type="string" xml:base="misc/ctdbdsocket.xml">
<description>
<para>If you set <value type="example">clustering=yes</value>,
you need to tell Samba where ctdbd listens on its unix domain
socket. The default path as of ctdb 1.0 is /tmp/ctdb.socket which
you have to explicitly set for Samba in smb.conf.
</para>
</description>
<value type="default"/>
<value type="example">/tmp/ctdb.socket</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="cups options" context="S" type="string" print="1" xml:base="printing/cupsoptions.xml">
<description>
<para>
This parameter is only applicable if <smbconfoption name="printing"/> is
set to <constant>cups</constant>. Its value is a free form string of options
passed directly to the cups library.
</para>
<para>
You can pass any generic print option known to CUPS (as listed
in the CUPS "Software Users' Manual"). You can also pass any printer
specific option (as listed in "lpoptions -d printername -l")
valid for the target queue.
Multiple parameters should be space-delimited name/value pairs according to
the PAPI text option ABNF specification. Collection values
("name={a=... b=... c=...}") are stored with the curley brackets intact.
</para>
<para>
You should set this parameter to <constant>raw</constant> if your CUPS server
<filename>error_log</filename> file contains messages such as
"Unsupported format 'application/octet-stream'" when printing from a Windows client
through Samba. It is no longer necessary to enable
system wide raw printing in <filename>/etc/cups/mime.{convs,types}</filename>.
</para>
</description>
<value type="default">""</value>
<value type="example">"raw media=a4"</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="cups server" context="G" type="string" print="1" xml:base="printing/cupsserver.xml">
<description>
<para>
This parameter is only applicable if <smbconfoption name="printing"/> is set to <constant>cups</constant>.
</para>
<para>
If set, this option overrides the ServerName option in the CUPS <filename>client.conf</filename>. This is
necessary if you have virtual samba servers that connect to different CUPS daemons.
</para>
<para>Optionally, a port can be specified by separating the server name
and port number with a colon. If no port was specified,
the default port for IPP (631) will be used.
</para>
</description>
<value type="default">""</value>
<value type="example">mycupsserver</value>
<value type="example">mycupsserver:1631</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="deadtime" context="G" developer="1" type="integer" xml:base="tuning/deadtime.xml">
<description>
<para>The value of the parameter (a decimal integer)
represents the number of minutes of inactivity before a connection
is considered dead, and it is disconnected. The deadtime only takes
effect if the number of open files is zero.</para>
<para>This is useful to stop a server's resources being
exhausted by a large number of inactive connections.</para>
<para>Most clients have an auto-reconnect feature when a
connection is broken so in most cases this parameter should be
transparent to users.</para>
<para>Using this parameter with a timeout of a few minutes
is recommended for most systems.</para>
<para>A deadtime of zero indicates that no auto-disconnection
should be performed.</para>
</description>
<value type="default">0</value>
<value type="example">15</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="debug class" context="G" type="boolean" developer="1" advanced="1" xml:base="logging/debugclass.xml">
<description>
<para>
With this boolean parameter enabled, the debug class (DBGC_CLASS)
will be displayed in the debug header.
</para>
<para>
For more information about currently available debug classes, see
section about <smbconfoption name="log level"/>.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="debug hires timestamp" context="G" developer="1" type="boolean" xml:base="logging/debughirestimestamp.xml">
<description>
<para>
Sometimes the timestamps in the log messages are needed with a resolution of higher that seconds, this
boolean parameter adds microsecond resolution to the timestamp message header when turned on.
</para>
<para>
Note that the parameter <smbconfoption name="debug timestamp"/> must be on for this to have an effect.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="debug pid" context="G" type="boolean" developer="1" xml:base="logging/debugpid.xml">
<description>
<para>
When using only one log file for more then one forked <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>-process there may be hard to follow which process outputs which
message. This boolean parameter is adds the process-id to the timestamp message headers in the
logfile when turned on.
</para>
<para>
Note that the parameter <smbconfoption name="debug timestamp"/> must be on for this to have an effect.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="debug prefix timestamp" context="G" developer="1" type="boolean" xml:base="logging/debugprefixtimestamp.xml">
<description>
<para>
With this option enabled, the timestamp message header is prefixed to the debug message without the
filename and function information that is included with the <smbconfoption name="debug timestamp"/>
parameter. This gives timestamps to the messages without adding an additional line.
</para>
<para>
Note that this parameter overrides the <smbconfoption name="debug timestamp"/> parameter.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="debug timestamp" context="G" type="boolean" developer="1" xml:base="logging/debugtimestamp.xml">
<synonym>timestamp logs</synonym>
<description>
<para>
Samba debug log messages are timestamped by default. If you are running at a high
<smbconfoption name="debug level"/> these timestamps can be distracting. This
boolean parameter allows timestamping to be turned off.
</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="debug uid" context="G" type="boolean" developer="1" xml:base="logging/debuguid.xml">
<description>
<para>
Samba is sometimes run as root and sometime run as the connected user, this boolean parameter inserts the
current euid, egid, uid and gid to the timestamp message headers in the log file if turned on.
</para>
<para>
Note that the parameter <smbconfoption name="debug timestamp"/> must be on for this to have an effect.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="default case" context="S" type="string" xml:base="filename/defaultcase.xml">
<description>
<para>See the section on <smbconfoption name="name mangling"/>.
Also note the <smbconfoption name="short preserve case"/> parameter.</para>
</description>
<value type="default">lower</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="default devmode" context="S" type="boolean" print="1" xml:base="printing/defaultdevmode.xml">
<description>
<para>This parameter is only applicable to <smbconfoption name="printable"/> services.
When smbd is serving Printer Drivers to Windows NT/2k/XP clients, each printer on the Samba
server has a Device Mode which defines things such as paper size and
orientation and duplex settings. The device mode can only correctly be
generated by the printer driver itself (which can only be executed on a
Win32 platform). Because smbd is unable to execute the driver code
to generate the device mode, the default behavior is to set this field
to NULL.
</para>
<para>Most problems with serving printer drivers to Windows NT/2k/XP clients
can be traced to a problem with the generated device mode. Certain drivers
will do things such as crashing the client's Explorer.exe with a NULL devmode.
However, other printer drivers can cause the client's spooler service
(spoolsv.exe) to die if the devmode was not created by the driver itself
(i.e. smbd generates a default devmode).
</para>
<para>This parameter should be used with care and tested with the printer
driver in question. It is better to leave the device mode to NULL
and let the Windows client set the correct values. Because drivers do not
do this all the time, setting <command moreinfo="none">default devmode = yes</command>
will instruct smbd to generate a default one.
</para>
<para>For more information on Windows NT/2k printing and Device Modes,
see the <ulink url="http://msdn.microsoft.com/">MSDN documentation</ulink>.
</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="default service" context="G" advanced="1" developer="1" type="string" xml:base="misc/defaultservice.xml">
<synonym>default</synonym>
<description>
<para>This parameter specifies the name of a service
which will be connected to if the service actually requested cannot
be found. Note that the square brackets are <emphasis>NOT</emphasis>
given in the parameter value (see example below).</para>
<para>There is no default value for this parameter. If this
parameter is not given, attempting to connect to a nonexistent
service results in an error.</para>
<para>
Typically the default service would be a <smbconfoption name="guest ok"/>, <smbconfoption name="read-only"/> service.</para> <para>Also note that the apparent service name will be changed to equal
that of the requested service, this is very useful as it allows you to use macros like <parameter moreinfo="none">%S</parameter> to make a wildcard service.
</para>
<para>Note also that any "_" characters in the name of the service
used in the default service will get mapped to a "/". This allows for
interesting things.</para>
</description>
<value type="default"/>
<value type="example">pub</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="defer sharing violations" context="G" type="boolean" developer="1" xml:base="protocol/defersharingviolations.xml">
<description>
<para>
Windows allows specifying how a file will be shared with
other processes when it is opened. Sharing violations occur when
a file is opened by a different process using options that violate
the share settings specified by other processes. This parameter causes
smbd to act as a Windows server does, and defer returning a "sharing
violation" error message for up to one second, allowing the client
to close the file causing the violation in the meantime.
</para>
<para>UNIX by default does not have this behaviour.</para>
<para>
There should be no reason to turn off this parameter, as it is
designed to enable Samba to more correctly emulate Windows.
</para>
</description>
<value type="default">True</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="delete group script" context="G" type="string" advanced="1" developer="1" xml:base="logon/deletegroupscript.xml">
<description>
<para>This is the full pathname to a script that will
be run <emphasis>AS ROOT</emphasis> <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> when a group is requested to be deleted.
It will expand any <parameter moreinfo="none">%g</parameter> to the group name passed.
This script is only useful for installations using the Windows NT domain administration tools.
</para>
</description>
<value type="default"/>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="deleteprinter command" context="G" type="string" advanced="1" developer="1" xml:base="printing/deleteprintercommand.xml">
<description>
<para>With the introduction of MS-RPC based printer
support for Windows NT/2000 clients in Samba 2.2, it is now
possible to delete a printer at run time by issuing the
DeletePrinter() RPC call.</para>
<para>For a Samba host this means that the printer must be
physically deleted from the underlying printing system. The
<smbconfoption name="deleteprinter command"/> defines a script to be run which
will perform the necessary operations for removing the printer
from the print system and from <filename moreinfo="none">smb.conf</filename>.
</para>
<para>The <smbconfoption name="deleteprinter command"/> is
automatically called with only one parameter: <smbconfoption name="printer name"/>.
</para>
<para>Once the <smbconfoption name="deleteprinter command"/> has
been executed, <command moreinfo="none">smbd</command> will reparse the <filename moreinfo="none">
smb.conf</filename> to check that the associated printer no longer exists.
If the sharename is still valid, then <command moreinfo="none">smbd
</command> will return an ACCESS_DENIED error to the client.</para>
</description>
<related>addprinter command</related>
<related>printing</related>
<related>show add printer wizard</related>
<value type="default"/>
<value type="example">/usr/bin/removeprinter</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="delete readonly" context="S" type="boolean" xml:base="misc/deletereadonly.xml">
<description>
<para>This parameter allows readonly files to be deleted.
This is not normal DOS semantics, but is allowed by UNIX.</para>
<para>This option may be useful for running applications such
as rcs, where UNIX file ownership prevents changing file
permissions, and DOS semantics prevent deletion of a read only file.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="delete share command" context="G" type="string" advanced="1" developer="1" xml:base="misc/deletesharecommand.xml">
<description>
<para>
Samba 2.2.0 introduced the ability to dynamically add and delete shares via the Windows NT 4.0 Server
Manager. The <parameter moreinfo="none">delete share command</parameter> is used to define an external
program or script which will remove an existing service definition from
<filename moreinfo="none">smb.conf</filename>. In order to successfully execute the
<parameter moreinfo="none">delete share command</parameter>, <command moreinfo="none">smbd</command>
requires that the administrator be connected using a root account (i.e. uid == 0).
</para>
<para>
If the connected account has <literal>SeDiskOperatorPrivilege</literal>, scripts defined in
<parameter moreinfo="none">change share</parameter> parameter are executed as root.
</para>
<para>
When executed, <command moreinfo="none">smbd</command> will automatically invoke the
<parameter moreinfo="none">delete share command</parameter> with two parameters.
</para>
<itemizedlist>
<listitem>
<para><parameter moreinfo="none">configFile</parameter> - the location
of the global <filename moreinfo="none">smb.conf</filename> file.
</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">shareName</parameter> - the name of
the existing service.
</para>
</listitem>
</itemizedlist>
<para>
This parameter is only used to remove file shares. To delete printer shares,
see the <smbconfoption name="deleteprinter command"/>.
</para>
</description>
<related>add share command</related>
<related>delete share command</related>
<value type="default"/>
<value type="example">/usr/local/bin/delshare</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="delete user from group script" context="G" type="string" advanced="1" developer="1" xml:base="logon/deleteuserfromgroupscript.xml">
<description>
<para>Full path to the script that will be called when
a user is removed from a group using the Windows NT domain administration
tools. It will be run by <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> <emphasis>AS ROOT</emphasis>.
Any <parameter moreinfo="none">%g</parameter> will be replaced with the group name and
any <parameter moreinfo="none">%u</parameter> will be replaced with the user name.
</para>
</description>
<value type="default"/>
<value type="example">/usr/sbin/deluser %u %g</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="delete user script" type="string" context="G" advanced="1" developer="1" xml:base="logon/deleteuserscript.xml">
<description>
<para>This is the full pathname to a script that will
be run by <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> when managing users
with remote RPC (NT) tools.
</para>
<para>This script is called when a remote client removes a user
from the server, normally using 'User Manager for Domains' or
<command moreinfo="none">rpcclient</command>.</para>
<para>This script should delete the given UNIX username.</para>
</description>
<value type="default"/>
<value type="example">/usr/local/samba/bin/del_user %u</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="delete veto files" type="boolean" context="S" xml:base="filename/deletevetofiles.xml">
<description>
<para>This option is used when Samba is attempting to
delete a directory that contains one or more vetoed directories
(see the <smbconfoption name="veto files"/>
option). If this option is set to <constant>no</constant> (the default) then if a vetoed
directory contains any non-vetoed files or directories then the
directory delete will fail. This is usually what you want.</para>
<para>If this option is set to <constant>yes</constant>, then Samba
will attempt to recursively delete any files and directories within
the vetoed directory. This can be useful for integration with file
serving systems such as NetAtalk which create meta-files within
directories you might normally veto DOS/Windows users from seeing
(e.g. <filename moreinfo="none">.AppleDouble</filename>)</para>
<para>Setting <smbconfoption name="delete veto files">yes</smbconfoption> allows these
directories to be transparently deleted when the parent directory
is deleted (so long as the user has permissions to do so).</para>
</description>
<related>veto files</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="dfree cache time" context="S" type="integer" advanced="1" developer="1" xml:base="misc/dfreecachetime.xml">
<description>
<para>
The <parameter moreinfo="none">dfree cache time</parameter> should only be used on systems where a problem
occurs with the internal disk space calculations. This has been known to happen with Ultrix, but may occur
with other operating systems. The symptom that was seen was an error of "Abort Retry Ignore" at the
end of each directory listing.
</para>
<para>
This is a new parameter introduced in Samba version 3.0.21. It specifies in seconds the time that smbd will
cache the output of a disk free query. If set to zero (the default) no caching is done. This allows a heavily
loaded server to prevent rapid spawning of <smbconfoption name="dfree command"/> scripts increasing the load.
</para>
<para>
By default this parameter is zero, meaning no caching will be done.
</para>
</description>
<value type="example">dfree cache time = 60</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="dfree command" context="S" type="string" advanced="1" developer="1" xml:base="misc/dfreecommand.xml">
<description>
<para>
The <parameter moreinfo="none">dfree command</parameter> setting should only be used on systems where a
problem occurs with the internal disk space calculations. This has been known to happen with Ultrix, but may
occur with other operating systems. The symptom that was seen was an error of "Abort Retry Ignore"
at the end of each directory listing.
</para>
<para>
This setting allows the replacement of the internal routines to calculate the total disk space and amount
available with an external routine. The example below gives a possible script that might fulfill this
function.
</para>
<para>
In Samba version 3.0.21 this parameter has been changed to be a per-share parameter, and in addition the
parameter <smbconfoption name="dfree cache time"/> was added to allow the output of this script to be cached
for systems under heavy load.
</para>
<para>
The external program will be passed a single parameter indicating a directory in the filesystem being queried.
This will typically consist of the string <filename moreinfo="none">./</filename>. The script should return
two integers in ASCII. The first should be the total disk space in blocks, and the second should be the number
of available blocks. An optional third return value can give the block size in bytes. The default blocksize is
1024 bytes.
</para>
<para>
Note: Your script should <emphasis>NOT</emphasis> be setuid or setgid and should be owned by (and writeable
only by) root!
</para>
<para>
Where the script dfree (which must be made executable) could be:
<programlisting format="linespecific">
#!/bin/sh
df $1 | tail -1 | awk '{print $(NF-4),$(NF-2)}'
</programlisting>
or perhaps (on Sys V based systems):
<programlisting format="linespecific">
#!/bin/sh
/usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'
</programlisting>
Note that you may have to replace the command names with full path names on some systems.
</para>
<para>
By default internal routines for determining the disk capacity and remaining space will be used.
</para>
</description>
<value type="example">/usr/local/samba/bin/dfree</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="directory mask" context="S" type="string" xml:base="security/directorymask.xml">
<synonym>directory mode</synonym>
<description>
<para>This parameter is the octal modes which are
used when converting DOS modes to UNIX modes when creating UNIX
directories.</para>
<para>When a directory is created, the necessary permissions are
calculated according to the mapping from DOS modes to UNIX permissions,
and the resulting UNIX mode is then bit-wise 'AND'ed with this
parameter. This parameter may be thought of as a bit-wise MASK for
the UNIX modes of a directory. Any bit <emphasis>not</emphasis> set
here will be removed from the modes set on a directory when it is
created.</para>
<para>The default value of this parameter removes the 'group'
and 'other' write bits from the UNIX mode, allowing only the
user who owns the directory to modify it.</para>
<para>Following this Samba will bit-wise 'OR' the UNIX mode
created from this parameter with the value of the <smbconfoption name="force directory mode"/> parameter.
This parameter is set to 000 by default (i.e. no extra mode bits are added).</para>
<para>Note that this parameter does not apply to permissions
set by Windows NT/2000 ACL editors. If the administrator wishes to enforce
a mask on access control lists also, they need to set the <smbconfoption name="directory security mask"/>.</para>
</description>
<related>force directory mode</related>
<related>create mask</related>
<related>directory security mask</related>
<related>inherit permissions</related>
<value type="default">0755</value>
<value type="example">0775</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="directory security mask" context="S" type="string" xml:base="security/directorysecuritymask.xml">
<description>
<para>This parameter controls what UNIX permission bits
will be set when a Windows NT client is manipulating the UNIX
permission on a directory using the native NT security dialog
box.</para>
<para>
This parameter is applied as a mask (AND'ed with) to the incoming permission bits, thus resetting
any bits not in this mask. Make sure not to mix up this parameter with <smbconfoption name="force directory security mode"/>, which works similar like this one but uses logical OR instead of AND.
Essentially, zero bits in this mask are a set of bits that will always be set to zero.
</para>
<para>
Essentially, all bits set to zero in this mask will result in setting to zero the corresponding bits on the
file permissions regardless of the previous status of this bits on the file.
</para>
<para>If not set explicitly this parameter is set to 0777
meaning a user is allowed to set all the user/group/world
permissions on a directory.</para>
<para><emphasis>Note</emphasis> that users who can access the
Samba server through other means can easily bypass this restriction,
so it is primarily useful for standalone "appliance" systems.
Administrators of most normal systems will probably want to leave
it as the default of <constant>0777</constant>.</para>
</description>
<related>force directory security mode</related>
<related>security mask</related>
<related>force security mode</related>
<value type="default">0777</value>
<value type="example">0700</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="disable netbios" context="G" type="boolean" advanced="1" developer="1" xml:base="protocol/disablenetbios.xml">
<description>
<para>Enabling this parameter will disable netbios support
in Samba. Netbios is the only available form of browsing in
all windows versions except for 2000 and XP. </para>
<note><para>Clients that only support netbios won't be able to
see your samba server when netbios support is disabled.
</para></note>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="disable spoolss" context="G" type="boolean" print="1" xml:base="printing/disablespoolss.xml">
<description>
<para>Enabling this parameter will disable Samba's support
for the SPOOLSS set of MS-RPC's and will yield identical behavior
as Samba 2.0.x. Windows NT/2000 clients will downgrade to using
Lanman style printing commands. Windows 9x/ME will be unaffected by
the parameter. However, this will also disable the ability to upload
printer drivers to a Samba server via the Windows NT Add Printer
Wizard or by using the NT printer properties dialog window. It will
also disable the capability of Windows NT/2000 clients to download
print drivers from the Samba host upon demand.
<emphasis>Be very careful about enabling this parameter.</emphasis>
</para>
</description>
<related>use client driver</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="display charset" type="string" context="G" advanced="1" developer="1" xml:base="base/displaycharset.xml">
<description>
<para>
Specifies the charset that samba will use to print messages to stdout and stderr.
The default value is "LOCALE", which means automatically set, depending on the
current locale. The value should generally be the same as the value of the parameter
<smbconfoption name="unix charset"/>.
</para>
</description>
<value type="default">"LOCALE" or "ASCII" (depending on the system)</value>
<value type="example">UTF8</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="dmapi support" context="S" type="boolean" advanced="1" developer="1" xml:base="misc/dmapisupport.xml">
<description>
<para>This parameter specifies whether Samba should use DMAPI to
determine whether a file is offline or not. This would typically
be used in conjunction with a hierarchical storage system that
automatically migrates files to tape.
</para>
<para>Note that Samba infers the status of a file by examining the
events that a DMAPI application has registered interest in. This
heuristic is satisfactory for a number of hierarchical storage
systems, but there may be system for which it will fail. In this
case, Samba may erroneously report files to be offline.
</para>
<para>This parameter is only available if a supported DMAPI
implementation was found at compilation time. It will only be used
if DMAPI is found to enabled on the system at run time.
</para>
<para>
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="dns proxy" context="G" type="boolean" advanced="1" developer="1" xml:base="wins/dnsproxy.xml">
<description>
<para>Specifies that <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> when acting as a WINS server and
finding that a NetBIOS name has not been registered, should treat the
NetBIOS name word-for-word as a DNS name and do a lookup with the DNS server
for that name on behalf of the name-querying client.</para>
<para>Note that the maximum length for a NetBIOS name is 15
characters, so the DNS name (or DNS alias) can likewise only be
15 characters, maximum.</para>
<para><command moreinfo="none">nmbd</command> spawns a second copy of itself to do the
DNS name lookup requests, as doing a name lookup is a blocking
action.</para>
</description>
<related>wins support</related>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="domain logons" context="G" type="boolean" advanced="1" developer="1" xml:base="logon/domainlogons.xml">
<description>
<para>
If set to <constant>yes</constant>, the Samba server will
provide the netlogon service for Windows 9X network logons for the
<smbconfoption name="workgroup"/> it is in.
This will also cause the Samba server to act as a domain
controller for NT4 style domain services. For more details on
setting up this feature see the Domain Control chapter of the
Samba HOWTO Collection.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="domain master" type="boolean" context="G" basic="1" advanced="1" developer="1" xml:base="browse/domainmaster.xml">
<description>
<para>
Tell <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry> to enable
WAN-wide browse list collation. Setting this option causes <command moreinfo="none">nmbd</command> to claim a
special domain specific NetBIOS name that identifies it as a domain master browser for its given
<smbconfoption name="workgroup"/>. Local master browsers in the same <smbconfoption name="workgroup"/> on
broadcast-isolated subnets will give this <command moreinfo="none">nmbd</command> their local browse lists,
and then ask <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry> for a
complete copy of the browse list for the whole wide area network. Browser clients will then contact their
local master browser, and will receive the domain-wide browse list, instead of just the list for their
broadcast-isolated subnet.
</para>
<para>
Note that Windows NT Primary Domain Controllers expect to be able to claim this <smbconfoption name="workgroup"/> specific special NetBIOS name that identifies them as domain master browsers for that
<smbconfoption name="workgroup"/> by default (i.e. there is no way to prevent a Windows NT PDC from attempting
to do this). This means that if this parameter is set and <command moreinfo="none">nmbd</command> claims the
special name for a <smbconfoption name="workgroup"/> before a Windows NT PDC is able to do so then cross
subnet browsing will behave strangely and may fail.
</para>
<para>
If <smbconfoption name="domain logons">yes</smbconfoption>, then the default behavior is to enable the
<smbconfoption name="domain master"/> parameter. If <smbconfoption name="domain logons"/> is not enabled (the
default setting), then neither will <smbconfoption name="domain master"/> be enabled by default.
</para>
<para>
When <smbconfoption name="domain logons">Yes</smbconfoption> the default setting for this parameter is
Yes, with the result that Samba will be a PDC. If <smbconfoption name="domain master">No</smbconfoption>,
Samba will function as a BDC. In general, this parameter should be set to 'No' only on a BDC.
</para>
</description>
<value type="default">auto</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="dont descend" context="S" type="boolean" xml:base="misc/dontdescend.xml">
<description>
<para>There are certain directories on some systems
(e.g., the <filename moreinfo="none">/proc</filename> tree under Linux) that are either not
of interest to clients or are infinitely deep (recursive). This
parameter allows you to specify a comma-delimited list of directories
that the server should always show as empty.</para>
<para>Note that Samba can be very fussy about the exact format
of the "dont descend" entries. For example you may need <filename moreinfo="none">
./proc</filename> instead of just <filename moreinfo="none">/proc</filename>.
Experimentation is the best policy :-) </para>
</description>
<value type="default"/>
<value type="example">/proc,/dev</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="dos charset" type="string" context="G" advanced="1" developer="1" xml:base="base/doscharset.xml">
<description>
<para>DOS SMB clients assume the server has
the same charset as they do. This option specifies which
charset Samba should talk to DOS clients.
</para>
<para>The default depends on which charsets you have installed.
Samba tries to use charset 850 but falls back to ASCII in
case it is not available. Run <citerefentry><refentrytitle>testparm</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> to check the default on your system.</para>
</description>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="dos filemode" context="S" type="boolean" xml:base="misc/dosfilemode.xml">
<description>
<para> The default behavior in Samba is to provide
UNIX-like behavior where only the owner of a file/directory is
able to change the permissions on it. However, this behavior
is often confusing to DOS/Windows users. Enabling this parameter
allows a user who has write access to the file (by whatever
means, including an ACL permission) to modify the permissions
(including ACL) on it. Note that a user belonging to the group
owning the file will not be allowed to change permissions if
the group is only granted read access. Ownership of the
file/directory may also be changed.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="dos filetime resolution" context="S" type="boolean" xml:base="misc/dosfiletimeresolution.xml">
<description>
<para>Under the DOS and Windows FAT filesystem, the finest
granularity on time resolution is two seconds. Setting this parameter
for a share causes Samba to round the reported time down to the
nearest two second boundary when a query call that requires one second
resolution is made to <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>.</para>
<para>This option is mainly used as a compatibility option for Visual
C++ when used against Samba shares. If oplocks are enabled on a
share, Visual C++ uses two different time reading calls to check if a
file has changed since it was last read. One of these calls uses a
one-second granularity, the other uses a two second granularity. As
the two second call rounds any odd second down, then if the file has a
timestamp of an odd number of seconds then the two timestamps will not
match and Visual C++ will keep reporting the file has changed. Setting
this option causes the two timestamps to match, and Visual C++ is
happy.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="dos filetimes" context="S" type="boolean" xml:base="misc/dosfiletimes.xml">
<description>
<para>Under DOS and Windows, if a user can write to a
file they can change the timestamp on it. Under POSIX semantics,
only the owner of the file or root may change the timestamp. By
default, Samba runs with POSIX semantics and refuses to change the
timestamp on a file if the user <command moreinfo="none">smbd</command> is acting
on behalf of is not the file owner. Setting this option to <constant>
yes</constant> allows DOS semantics and <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will change the file
timestamp as DOS requires. Due to changes in Microsoft Office 2000 and beyond,
the default for this parameter has been changed from "no" to "yes" in Samba 3.0.14
and above. Microsoft Excel will display dialog box warnings about the file being
changed by another user if this parameter is not set to "yes" and files are being
shared between users.
</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ea support" context="S" type="boolean" advanced="1" developer="1" xml:base="protocol/easupport.xml">
<description>
<para>This boolean parameter controls whether <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will allow clients to attempt to store OS/2 style Extended
attributes on a share. In order to enable this parameter the underlying filesystem exported by
the share must support extended attributes (such as provided on XFS and EXT3 on Linux, with the
correct kernel patches). On Linux the filesystem must have been mounted with the mount
option user_xattr in order for extended attributes to work, also
extended attributes must be compiled into the Linux kernel.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="enable asu support" context="G" advanced="1" developer="1" type="boolean" xml:base="protocol/enableasusupport.xml">
<description>
<para>Hosts running the "Advanced Server for Unix (ASU)" product
require some special accomodations such as creating a builting [ADMIN$]
share that only supports IPC connections. The has been the default
behavior in smbd for many years. However, certain Microsoft applications
such as the Print Migrator tool require that the remote server support
an [ADMIN$} file share. Disabling this parameter allows for creating
an [ADMIN$] file share in smb.conf.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="enable privileges" context="G" type="boolean" advanced="1" developer="1" xml:base="logon/enableprivileges.xml">
<description>
<para>
This parameter controls whether or not smbd will honor privileges assigned to specific SIDs via either
<command>net rpc rights</command> or one of the Windows user and group manager tools. This parameter is
enabled by default. It can be disabled to prevent members of the Domain Admins group from being able to
assign privileges to users or groups which can then result in certain smbd operations running as root that
would normally run under the context of the connected user.
</para>
<para>
An example of how privileges can be used is to assign the right to join clients to a Samba controlled
domain without providing root access to the server via smbd.
</para>
<para>
Please read the extended description provided in the Samba HOWTO documentation.
</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="encrypt passwords" context="G" type="boolean" basic="1" advanced="1" wizard="1" developer="1" xml:base="security/encryptpasswords.xml">
<description>
<para>This boolean controls whether encrypted passwords
will be negotiated with the client. Note that Windows NT 4.0 SP3 and
above and also Windows 98 will by default expect encrypted passwords
unless a registry entry is changed. To use encrypted passwords in
Samba see the chapter "User Database" in the Samba HOWTO Collection.
</para>
<para>
MS Windows clients that expect Microsoft encrypted passwords and that
do not have plain text password support enabled will be able to
connect only to a Samba server that has encrypted password support
enabled and for which the user accounts have a valid encrypted password.
Refer to the smbpasswd command man page for information regarding the
creation of encrypted passwords for user accounts.
</para>
<para>
The use of plain text passwords is NOT advised as support for this feature
is no longer maintained in Microsoft Windows products. If you want to use
plain text passwords you must set this parameter to no.
</para>
<para>In order for encrypted passwords to work correctly
<citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> must either
have access to a local <citerefentry><refentrytitle>smbpasswd</refentrytitle>
<manvolnum>5</manvolnum></citerefentry> file (see the <citerefentry><refentrytitle>smbpasswd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> program for information on how to set up
and maintain this file), or set the <smbconfoption name="security">[server|domain|ads]</smbconfoption> parameter which
causes <command moreinfo="none">smbd</command> to authenticate against another
server.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="enhanced browsing" context="G" advanced="1" developer="1" type="boolean" xml:base="browse/enhancedbrowsing.xml">
<description>
<para>This option enables a couple of enhancements to
cross-subnet browse propagation that have been added in Samba
but which are not standard in Microsoft implementations.
</para>
<para>The first enhancement to browse propagation consists of a regular
wildcard query to a Samba WINS server for all Domain Master Browsers,
followed by a browse synchronization with each of the returned
DMBs. The second enhancement consists of a regular randomised browse
synchronization with all currently known DMBs.</para>
<para>You may wish to disable this option if you have a problem with empty
workgroups not disappearing from browse lists. Due to the restrictions
of the browse protocols these enhancements can cause a empty workgroup
to stay around forever which can be annoying.</para>
<para>In general you should leave this option enabled as it makes
cross-subnet browse propagation much more reliable.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="enumports command" context="G" type="string" advanced="1" developer="1" xml:base="printing/enumportscommand.xml">
<description>
<para>The concept of a "port" is fairly foreign
to UNIX hosts. Under Windows NT/2000 print servers, a port
is associated with a port monitor and generally takes the form of
a local port (i.e. LPT1:, COM1:, FILE:) or a remote port
(i.e. LPD Port Monitor, etc...). By default, Samba has only one
port defined--<constant>"Samba Printer Port"</constant>. Under
Windows NT/2000, all printers must have a valid port name.
If you wish to have a list of ports displayed (<command moreinfo="none">smbd
</command> does not use a port name for anything) other than
the default <constant>"Samba Printer Port"</constant>, you
can define <parameter moreinfo="none">enumports command</parameter> to point to
a program which should generate a list of ports, one per line,
to standard output. This listing will then be used in response
to the level 1 and 2 EnumPorts() RPC.</para>
</description>
<value type="default"/>
<value type="example">/usr/bin/listports</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="eventlog list" type="string" context="G" xml:base="protocol/eventloglist.xml">
<description>
<para>This option defines a list of log names that Samba will
report to the Microsoft EventViewer utility. The listed
eventlogs will be associated with tdb file on disk in the
<filename>$(lockdir)/eventlog</filename>.
</para>
<para>
The administrator must use an external process to parse the normal
Unix logs such as <filename>/var/log/messages</filename>
and write then entries to the eventlog tdb files. Refer to the
eventlogadm(8) utility for how to write eventlog entries.
</para>
</description>
<value type="default"/>
<value type="example">Security Application Syslog Apache</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="fake directory create times" context="S" type="boolean" xml:base="misc/fakedirectorycreatetimes.xml">
<description>
<para>NTFS and Windows VFAT file systems keep a create
time for all files and directories. This is not the same as the
ctime - status change time - that Unix keeps, so Samba by default
reports the earliest of the various times Unix does keep. Setting
this parameter for a share causes Samba to always report midnight
1-1-1980 as the create time for directories.</para>
<para>This option is mainly used as a compatibility option for
Visual C++ when used against Samba shares. Visual C++ generated
makefiles have the object directory as a dependency for each object
file, and a make rule to create the directory. Also, when NMAKE
compares timestamps it uses the creation time when examining a
directory. Thus the object directory will be created if it does not
exist, but once it does exist it will always have an earlier
timestamp than the object files it contains.</para>
<para>However, Unix time semantics mean that the create time
reported by Samba will be updated whenever a file is created or
or deleted in the directory. NMAKE finds all object files in
the object directory. The timestamp of the last one built is then
compared to the timestamp of the object directory. If the
directory's timestamp if newer, then all object files
will be rebuilt. Enabling this option
ensures directories always predate their contents and an NMAKE build
will proceed as expected.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="fake oplocks" type="boolean" context="S" xml:base="locking/fakeoplocks.xml">
<description>
<para>Oplocks are the way that SMB clients get permission
from a server to locally cache file operations. If a server grants
an oplock (opportunistic lock) then the client is free to assume
that it is the only one accessing the file and it will aggressively
cache file data. With some oplock types the client may even cache
file open/close operations. This can give enormous performance benefits.
</para>
<para>When you set <command moreinfo="none">fake oplocks = yes</command>, <citerefentry>
<refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum></citerefentry> will
always grant oplock requests no matter how many clients are using the file.</para>
<para>It is generally much better to use the real <smbconfoption name="oplocks"/> support rather
than this parameter.</para>
<para>If you enable this option on all read-only shares or
shares that you know will only be accessed from one client at a
time such as physically read-only media like CDROMs, you will see
a big performance improvement on many operations. If you enable
this option on shares where multiple clients may be accessing the
files read-write at the same time you can get data corruption. Use
this option carefully!</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="follow symlinks" context="S" type="boolean" xml:base="misc/followsymlinks.xml">
<description>
<para>
This parameter allows the Samba administrator to stop <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> from following symbolic links in a particular share. Setting this
parameter to <constant>no</constant> prevents any file or directory that is a symbolic link from being
followed (the user will get an error). This option is very useful to stop users from adding a symbolic
link to <filename moreinfo="none">/etc/passwd</filename> in their home directory for instance. However
it will slow filename lookups down slightly.
</para>
<para>
This option is enabled (i.e. <command moreinfo="none">smbd</command> will follow symbolic links) by default.
</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="force create mode" context="S" xml:base="security/forcecreatemode.xml">
<description>
<para>This parameter specifies a set of UNIX mode bit
permissions that will <emphasis>always</emphasis> be set on a
file created by Samba. This is done by bitwise 'OR'ing these bits onto
the mode bits of a file that is being created. The default for this parameter is (in octal)
000. The modes in this parameter are bitwise 'OR'ed onto the file
mode after the mask set in the <parameter moreinfo="none">create mask</parameter>
parameter is applied.</para>
<para>The example below would force all newly created files to have read and execute
permissions set for 'group' and 'other' as well as the
read/write/execute bits set for the 'user'.</para>
</description>
<related>create mask</related>
<related>inherit permissions</related>
<value type="default">000</value>
<value type="example">0755</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="force directory mode" context="S" type="string" xml:base="security/forcedirectorymode.xml">
<description>
<para>This parameter specifies a set of UNIX mode bit
permissions that will <emphasis>always</emphasis> be set on a directory
created by Samba. This is done by bitwise 'OR'ing these bits onto the
mode bits of a directory that is being created. The default for this
parameter is (in octal) 0000 which will not add any extra permission
bits to a created directory. This operation is done after the mode
mask in the parameter <parameter moreinfo="none">directory mask</parameter> is
applied.</para>
<para>The example below would force all created directories to have read and execute
permissions set for 'group' and 'other' as well as the
read/write/execute bits set for the 'user'.</para>
</description>
<value type="default">000</value>
<value type="example">0755</value>
<related>directory mask</related>
<related>inherit permissions</related>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="force directory security mode" context="S" type="string" xml:base="security/forcedirectorysecuritymode.xml">
<description>
<para>
This parameter controls what UNIX permission bits can be modified when a Windows NT client is manipulating
the UNIX permission on a directory using the native NT security dialog box.
</para>
<para>
This parameter is applied as a mask (OR'ed with) to the changed permission bits, thus forcing any bits in this
mask that the user may have modified to be on. Make sure not to mix up this parameter with <smbconfoption name="directory security mask"/>, which works in a similar manner to this one, but uses a logical AND instead
of an OR.
</para>
<para>
Essentially, this mask may be treated as a set of bits that, when modifying security on a directory,
to will enable (1) any flags that are off (0) but which the mask has set to on (1).
</para>
<para>
If not set explicitly this parameter is 0000, which allows a user to modify all the user/group/world
permissions on a directory without restrictions.
</para>
<note><para>
Users who can access the Samba server through other means can easily bypass this restriction, so it is
primarily useful for standalone "appliance" systems. Administrators of most normal systems will
probably want to leave it set as 0000.
</para></note>
</description>
<value type="default">0</value>
<value type="example">700</value>
<related>directory security mask</related>
<related>security mask</related>
<related>force security mode</related>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="force group" context="S" type="string" xml:base="security/forcegroup.xml">
<synonym>group</synonym>
<description>
<para>This specifies a UNIX group name that will be
assigned as the default primary group for all users connecting
to this service. This is useful for sharing files by ensuring
that all access to files on service will use the named group for
their permissions checking. Thus, by assigning permissions for this
group to the files and directories within this service the Samba
administrator can restrict or allow sharing of these files.</para>
<para>In Samba 2.0.5 and above this parameter has extended
functionality in the following way. If the group name listed here
has a '+' character prepended to it then the current user accessing
the share only has the primary group default assigned to this group
if they are already assigned as a member of that group. This allows
an administrator to decide that only users who are already in a
particular group will create files with group ownership set to that
group. This gives a finer granularity of ownership assignment. For
example, the setting <filename moreinfo="none">force group = +sys</filename> means
that only users who are already in group sys will have their default
primary group assigned to sys when accessing this Samba share. All
other users will retain their ordinary primary group.</para>
<para>
If the <smbconfoption name="force user"/> parameter is also set the group specified in
<parameter moreinfo="none">force group</parameter> will override the primary group
set in <parameter moreinfo="none">force user</parameter>.</para>
</description>
<related>force user</related>
<value type="default"/>
<value type="example">agroup</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="force printername" context="S" type="boolean" print="1" xml:base="printing/forceprintername.xml">
<description>
<para>When printing from Windows NT (or later),
each printer in <filename>smb.conf</filename> has two
associated names which can be used by the client. The first
is the sharename (or shortname) defined in smb.conf. This
is the only printername available for use by Windows 9x clients.
The second name associated with a printer can be seen when
browsing to the "Printers" (or "Printers and Faxes") folder
on the Samba server. This is referred to simply as the printername
(not to be confused with the <parameter>printer name</parameter> option).
</para>
<para>When assigning a new driver to a printer on a remote
Windows compatible print server such as Samba, the Windows client
will rename the printer to match the driver name just uploaded.
This can result in confusion for users when multiple
printers are bound to the same driver. To prevent Samba from
allowing the printer's printername to differ from the sharename
defined in smb.conf, set <parameter>force printername = yes</parameter>.
</para>
<para>Be aware that enabling this parameter may affect migrating
printers from a Windows server to Samba since Windows has no way to
force the sharename and printername to match.</para>
<para>It is recommended that this parameter's value not be changed
once the printer is in use by clients as this could cause a user
not be able to delete printer connections from their local Printers
folder.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="force security mode" context="S" type="string" xml:base="security/forcesecuritymode.xml">
<description>
<para>
This parameter controls what UNIX permission bits can be modified when a Windows NT client is manipulating
the UNIX permission on a file using the native NT security dialog box.
</para>
<para>
This parameter is applied as a mask (OR'ed with) to the changed permission bits, thus forcing any bits in this
mask that the user may have modified to be on. Make sure not to mix up this parameter with <smbconfoption name="security mask"/>, which works similar like this one but uses logical AND instead of OR.
</para>
<para>
Essentially, one bits in this mask may be treated as a set of bits that, when modifying security on a file,
the user has always set to be on.
</para>
<para>
If not set explicitly this parameter is set to 0, and allows a user to modify all the user/group/world
permissions on a file, with no restrictions.
</para>
<para><emphasis>
Note</emphasis> that users who can access the Samba server through other means can easily bypass this
restriction, so it is primarily useful for standalone "appliance" systems. Administrators of most
normal systems will probably want to leave this set to 0000.
</para>
</description>
<value type="default">0</value>
<value type="example">700</value>
<related>force directory security mode</related>
<related>directory security mask</related>
<related>security mask</related>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="force unknown acl user" context="S" type="boolean" xml:base="security/forceunknownacluser.xml">
<description>
<para>
If this parameter is set, a Windows NT ACL that contains an unknown SID (security descriptor, or
representation of a user or group id) as the owner or group owner of the file will be silently
mapped into the current UNIX uid or gid of the currently connected user.
</para>
<para>
This is designed to allow Windows NT clients to copy files and folders containing ACLs that were
created locally on the client machine and contain users local to that machine only (no domain
users) to be copied to a Samba server (usually with XCOPY /O) and have the unknown userid and
groupid of the file owner map to the current connected user. This can only be fixed correctly
when winbindd allows arbitrary mapping from any Windows NT SID to a UNIX uid or gid.
</para>
<para>
Try using this parameter when XCOPY /O gives an ACCESS_DENIED error.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="force user" type="string" context="S" xml:base="security/forceuser.xml">
<description>
<para>This specifies a UNIX user name that will be
assigned as the default user for all users connecting to this service.
This is useful for sharing files. You should also use it carefully
as using it incorrectly can cause security problems.</para>
<para>This user name only gets used once a connection is established.
Thus clients still need to connect as a valid user and supply a
valid password. Once connected, all file operations will be performed
as the "forced user", no matter what username the client connected
as. This can be very useful.</para>
<para>In Samba 2.0.5 and above this parameter also causes the
primary group of the forced user to be used as the primary group
for all file activity. Prior to 2.0.5 the primary group was left
as the primary group of the connecting user (this was a bug).</para>
</description>
<related>force group</related>
<value type="default"/>
<value type="example">auser</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="fstype" context="S" type="string" xml:base="misc/fstype.xml">
<description>
<para>
This parameter allows the administrator to configure the string that specifies the type of filesystem a share
is using that is reported by <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry>
when a client queries the filesystem type for a share. The default type is <constant>NTFS</constant> for compatibility
with Windows NT but this can be changed to other strings such as <constant>Samba</constant> or <constant>FAT</constant>
if required.
</para>
</description>
<value type="default">NTFS</value>
<value type="example">Samba</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="get quota command" context="G" type="string" advanced="1" developer="1" xml:base="vfs/getquotacommand.xml">
<description>
<para>The <command>get quota command</command> should only be used
whenever there is no operating system API available from the OS that
samba can use.</para>
<para>This option is only available you have compiled Samba with the
<command moreinfo="none">--with-sys-quotas</command> option or on Linux with
<command moreinfo="none">--with-quotas</command> and a working quota api
was found in the system.</para>
<para>This parameter should specify the path to a script that
queries the quota information for the specified
user/group for the partition that
the specified directory is on.</para>
<para>Such a script should take 3 arguments:</para>
<itemizedlist>
<listitem><para>directory</para></listitem>
<listitem><para>type of query</para></listitem>
<listitem><para>uid of user or gid of group</para></listitem>
</itemizedlist>
<para>The type of query can be one of :</para>
<itemizedlist>
<listitem><para>1 - user quotas</para></listitem>
<listitem><para>2 - user default quotas (uid = -1)</para></listitem>
<listitem><para>3 - group quotas</para></listitem>
<listitem><para>4 - group default quotas (gid = -1)</para></listitem>
</itemizedlist>
<para>This script should print one line as output with spaces between the arguments. The arguments are:
</para>
<itemizedlist>
<listitem><para>Arg 1 - quota flags (0 = no quotas, 1 = quotas enabled, 2 = quotas enabled and enforced)</para></listitem>
<listitem><para>Arg 2 - number of currently used blocks</para></listitem>
<listitem><para>Arg 3 - the softlimit number of blocks</para></listitem>
<listitem><para>Arg 4 - the hardlimit number of blocks</para></listitem>
<listitem><para>Arg 5 - currently used number of inodes</para></listitem>
<listitem><para>Arg 6 - the softlimit number of inodes</para></listitem>
<listitem><para>Arg 7 - the hardlimit number of inodes</para></listitem>
<listitem><para>Arg 8(optional) - the number of bytes in a block(default is 1024)</para></listitem>
</itemizedlist>
</description>
<related>set quote command</related>
<value type="default"/>
<value type="example">/usr/local/sbin/query_quota</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="getwd cache" context="G" developer="1" xml:base="tuning/getwdcache.xml">
<description>
<para>This is a tuning option. When this is enabled a
caching algorithm will be used to reduce the time taken for getwd()
calls. This can have a significant impact on performance, especially
when the <smbconfoption name="wide smbconfoptions"/> parameter is set to <constant>no</constant>.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="guest account" context="G" type="string" basic="1" advanced="1" developer="1" xml:base="security/guestaccount.xml">
<description>
<para>This is a username which will be used for access
to services which are specified as <smbconfoption name="guest ok"/> (see below). Whatever privileges this
user has will be available to any client connecting to the guest service.
This user must exist in the password file, but does not require
a valid login. The user account "ftp" is often a good choice
for this parameter.
</para>
<para>On some systems the default guest account "nobody" may not
be able to print. Use another account in this case. You should test
this by trying to log in as your guest user (perhaps by using the
<command moreinfo="none">su -</command> command) and trying to print using the
system print command such as <command moreinfo="none">lpr(1)</command> or <command moreinfo="none">
lp(1)</command>.</para>
<para>This parameter does not accept % macros, because
many parts of the system require this value to be
constant for correct operation.</para>
</description>
<value type="default">nobody<comment>default can be changed at compile-time</comment></value>
<value type="example">ftp</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="guest ok" type="boolean" context="S" basic="1" advanced="1" print="1" developer="1" xml:base="security/guestok.xml">
<synonym>public</synonym>
<description>
<para>If this parameter is <constant>yes</constant> for
a service, then no password is required to connect to the service.
Privileges will be those of the <smbconfoption name="guest account"/>.</para>
<para>This paramater nullifies the benifits of setting
<smbconfoption name="restrict anonymous">2</smbconfoption>
</para>
<para>See the section below on <smbconfoption name="security"/> for more information about this option.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="guest only" context="S" type="boolean" xml:base="security/guestonly.xml">
<synonym>only guest</synonym>
<description>
<para>If this parameter is <constant>yes</constant> for
a service, then only guest connections to the service are permitted.
This parameter will have no effect if <smbconfoption name="guest ok"/> is not set for the service.</para>
<para>See the section below on <smbconfoption name="security"/> for more information about this option.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="hide dot files" context="S" type="boolean" xml:base="filename/hidedotfiles.xml">
<description>
<para>This is a boolean parameter that controls whether
files starting with a dot appear as hidden files.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="hide files" type="string" context="S" xml:base="filename/hidefiles.xml">
<description>
<para>This is a list of files or directories that are not
visible but are accessible. The DOS 'hidden' attribute is applied
to any files or directories that match.</para>
<para>Each entry in the list must be separated by a '/',
which allows spaces to be included in the entry. '*'
and '?' can be used to specify multiple files or directories
as in DOS wildcards.</para>
<para>Each entry must be a Unix path, not a DOS path and must
not include the Unix directory separator '/'.</para>
<para>Note that the case sensitivity option is applicable
in hiding files.</para>
<para>Setting this parameter will affect the performance of Samba,
as it will be forced to check all files and directories for a match
as they are scanned.</para>
<para>
The example shown above is based on files that the Macintosh
SMB client (DAVE) available from <ulink url="http://www.thursby.com">
Thursby</ulink> creates for internal use, and also still hides
all files beginning with a dot.
</para>
<para>
An example of us of this parameter is:
<programlisting>
hide files = /.*/DesktopFolderDB/TrashFor%m/resource.frk/
</programlisting>
</para>
</description>
<related>hide dot files</related>
<related>veto files</related>
<related>case sensitive</related>
<value type="default"><comment>no file are hidden</comment></value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="hide special files" context="S" type="boolean" xml:base="filename/hidespecialfiles.xml">
<description>
<para>
This parameter prevents clients from seeing special files such as sockets, devices and
fifo's in directory listings.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="hide unreadable" context="S" type="boolean" xml:base="filename/hideunreadable.xml">
<description>
<para>This parameter prevents clients from seeing the
existance of files that cannot be read. Defaults to off.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="hide unwriteable files" context="S" type="boolean" xml:base="filename/hideunwriteablefiles.xml">
<description>
<para>
This parameter prevents clients from seeing the existance of files that cannot be written to.
Defaults to off. Note that unwriteable directories are shown as usual.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="homedir map" context="G" type="string" advanced="1" developer="1" xml:base="misc/homedirmap.xml">
<description>
<para>
If <smbconfoption name="nis homedir"/> is <constant>yes</constant>, and <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> is also acting as a Win95/98 <parameter moreinfo="none">logon server</parameter>
then this parameter specifies the NIS (or YP) map from which the server for the user's home directory should be extracted.
At present, only the Sun auto.home map format is understood. The form of the map is:
<programlisting>
<command moreinfo="none">username server:/some/file/system</command>
</programlisting>
and the program will extract the servername from before the first ':'. There should probably be a better parsing system
that copes with different map formats and also Amd (another automounter) maps.
</para>
<note><para>
A working NIS client is required on the system for this option to work.
</para></note>
</description>
<related>nis homedir</related>
<related>domain logons</related>
<value type="default"/>
<value type="example">amd.homedir</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="host msdfs" context="G" type="boolean" advanced="1" developer="1" xml:base="vfs/hostmsdfs.xml">
<description>
<para>
If set to <constant>yes</constant>, Samba will act as a Dfs server, and allow Dfs-aware clients to browse
Dfs trees hosted on the server.
</para>
<para>
See also the <smbconfoption name="msdfs root"/> share level parameter. For more information on
setting up a Dfs tree on Samba, refer to the MSFDS chapter in the book Samba3-HOWTO.
</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="hostname lookups" context="G" type="boolean" advanced="1" developer="1" xml:base="tuning/hostnamelookups.xml">
<description>
<para>Specifies whether samba should use (expensive)
hostname lookups or use the ip addresses instead. An example place
where hostname lookups are currently used is when checking
the <command moreinfo="none">hosts deny</command> and <command moreinfo="none">hosts allow</command>.
</para>
</description>
<value type="default">no</value>
<value type="example">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="hosts allow" context="S" type="list" basic="1" advanced="1" print="1" developer="1" xml:base="security/hostsallow.xml">
<synonym>allow hosts</synonym>
<description>
<para>A synonym for this parameter is <smbconfoption name="allow hosts"/>.</para>
<para>This parameter is a comma, space, or tab delimited
set of hosts which are permitted to access a service.</para>
<para>If specified in the [global] section then it will
apply to all services, regardless of whether the individual
service has a different setting.</para>
<para>You can specify the hosts by name or IP number. For
example, you could restrict access to only the hosts on a
Class C subnet with something like <command>allow hosts = 150.203.5.</command>.
The full syntax of the list is described in the man
page <filename>hosts_access(5)</filename>. Note that this man
page may not be present on your system, so a brief description will
be given here also.</para>
<para>Note that the localhost address 127.0.0.1 will always
be allowed access unless specifically denied by a <smbconfoption name="hosts deny"/> option.</para>
<para>You can also specify hosts by network/netmask pairs and
by netgroup names if your system supports netgroups. The
<emphasis>EXCEPT</emphasis> keyword can also be used to limit a
wildcard list. The following examples may provide some help:</para>
<para>Example 1: allow all IPs in 150.203.*.*; except one</para>
<para><command moreinfo="none">hosts allow = 150.203. EXCEPT 150.203.6.66</command></para>
<para>Example 2: allow hosts that match the given network/netmask</para>
<para><command moreinfo="none">hosts allow = 150.203.15.0/255.255.255.0</command></para>
<para>Example 3: allow a couple of hosts</para>
<para><command moreinfo="none">hosts allow = lapland, arvidsjaur</command></para>
<para>Example 4: allow only hosts in NIS netgroup "foonet", but
deny access from one particular host</para>
<para><command moreinfo="none">hosts allow = @foonet</command></para>
<para><command moreinfo="none">hosts deny = pirate</command></para>
<note><para>Note that access still requires suitable user-level passwords.</para></note>
<para>See <citerefentry><refentrytitle>testparm</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> for a way of testing your host access
to see if it does what you expect.</para>
</description>
<value type="example">150.203.5. myhost.mynet.edu.au</value>
<value type="default"><comment>none (i.e., all hosts permitted access)</comment></value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="hosts deny" context="S" type="list" basic="1" advanced="1" print="1" developer="1" xml:base="security/hostsdeny.xml">
<synonym>deny hosts</synonym>
<description>
<para>The opposite of <parameter moreinfo="none">hosts allow</parameter>
- hosts listed here are <emphasis>NOT</emphasis> permitted access to
services unless the specific services have their own lists to override
this one. Where the lists conflict, the <parameter moreinfo="none">allow</parameter>
list takes precedence.</para>
<para>
In the event that it is necessary to deny all by default, use the keyword
ALL (or the netmask <literal>0.0.0.0/0</literal>) and then explicitly specify
to the <smbconfoption name="hosts allow">hosts allow</smbconfoption> parameter those hosts
that should be permitted access.
</para>
</description>
<value type="default"><comment>none (i.e., no hosts specifically excluded)</comment></value>
<value type="example">150.203.4. badhost.mynet.edu.au</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="idmap alloc backend" context="G" type="string" advanced="1" developer="1" hide="1" xml:base="winbind/idmapallocbackend.xml">
<description>
<para>
The idmap alloc backend provides a plugin interface for Winbind to use
when allocating Unix uids/gids for Windows SIDs. This option is
to be used in conjunction with the <smbconfoption name="idmap domains"/>
parameter and refers to the name of the idmap module which will provide
the id allocation functionality. Please refer to the man page
for each idmap plugin to determine whether or not the module implements
the allocation feature. The most common plugins are the tdb (<citerefentry>
<refentrytitle>idmap_tdb</refentrytitle><manvolnum>8</manvolnum></citerefentry>)
and ldap (<citerefentry><refentrytitle>idmap_ldap</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>) libraries.
</para>
<para>Also refer to the <smbconfoption name="idmap alloc config"/> option.
</para>
</description>
<value type="example">tdb</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="idmap alloc config" context="G" type="string" advanced="1" developer="1" hide="1" xml:base="winbind/idmapallocconfig.xml">
<description>
<para>
The idmap alloc config prefix provides a means of managing settings
for the backend defined by the <smbconfoption name="idmap alloc backend"/>
parameter. Refer to the man page for each idmap plugin regarding
specific configuration details.
</para>
</description>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="idmap backend" context="G" type="string" advanced="1" developer="1" hide="1" xml:base="winbind/idmapbackend.xml">
<description>
<para>
The idmap backend provides a plugin interface for Winbind to use
varying backends to store SID/uid/gid mapping tables. This
option is mutually exclusive with the newer and more flexible
<smbconfoption name="idmap domains"/> parameter. The main difference
between the "idmap backend" and the "idmap domains"
is that the former only allows one backend for all domains while the
latter supports configuring backends on a per domain basis.
</para>
<para>Examples of SID/uid/gid backends include tdb (<citerefentry>
<refentrytitle>idmap_tdb</refentrytitle><manvolnum>8</manvolnum></citerefentry>),
ldap (<citerefentry><refentrytitle>idmap_ldap</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>), rid (<citerefentry>
<refentrytitle>idmap_rid</refentrytitle><manvolnum>8</manvolnum></citerefentry>),
and ad (<citerefentry><refentrytitle>idmap_tdb</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>).
</para>
</description>
<value type="default">tdb</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="idmap cache time" context="G" type="integer" advanced="1" developer="1" xml:base="winbind/idmapcachetime.xml">
<description>
<para>This parameter specifies the number of seconds that Winbind's
idmap interface will cache positive SID/uid/gid query results.
</para>
</description>
<value type="default">900</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="idmap config" context="G" type="string" advanced="1" developer="1" hide="1" xml:base="winbind/idmapconfig.xml">
<description>
<para>
The idmap config prefix provides a means of managing each domain
defined by the <smbconfoption name="idmap domains"/> option using Samba's
parametric option support. The idmap config prefix should be
followed by the name of the domain, a colon, and a setting specific to
the chosen backend. There are three options available for all domains:
</para>
<itemizedlist>
<varlistentry>
<term>backend = backend_name</term>
<listitem><para>
Specifies the name of the idmap plugin to use as the
SID/uid/gid backend for this domain.
</para></listitem>
</varlistentry>
<varlistentry>
<term>default = [yes|no]</term>
<listitem><para>
The default domain/backend will be used for searching for
users and groups not belonging to one of the explicitly
listed domains (matched by comparing the account SID and the
domain SID).
</para></listitem>
</varlistentry>
<varlistentry>
<term>readonly = [yes|no]</term>
<listitem><para>
Mark the domain as readonly which means that no attempts to
allocate a uid or gid (by the <smbconfoption name="idmap alloc backend"/>) for any user or group in that domain
will be attempted.
</para></listitem>
</varlistentry>
</itemizedlist>
<para>
The following example illustrates how to configure the <citerefentry>
<refentrytitle>idmap_ad</refentrytitle><manvolnum>8</manvolnum></citerefentry>
for the CORP domain and the <citerefentry><refentrytitle>idmap_tdb</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> backend for all other domains. The
TRUSTEDDOMAINS string is simply an arbitrary key used to reference the "idmap
config" settings and does not represent the actual name of a domain.
It is a catchall domain backend for any domain not explicitly listed.
</para>
<programlisting>
idmap domains = CORP TRUSTEDDOMAINS
idmap config CORP:backend = ad
idmap config CORP:readonly = yes
idmap config TRUSTEDDOMAINS:backend = tdb
idmap config TRUSTEDDOMAINS:default = yes
idmap config TRUSTEDDOMAINS:range = 1000 - 9999
</programlisting>
</description>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="idmap domains" context="G" type="string" advanced="1" developer="1" hide="1" xml:base="winbind/idmapdomains.xml">
<description>
<para>
The idmap domains option defines a list of Windows domains which will each
have a separately configured backend for managing Winbind's SID/uid/gid
tables. This parameter is mutually exclusive with the older <smbconfoption name="idmap backend"/> option.
</para>
<para>
Values consist of the short domain name for Winbind's primary or collection
of trusted domains. You may also use an arbitrary string to represent a catchall
domain backend for any domain not explicitly listed.
</para>
<para>
Refer to the <smbconfoption name="idmap config"/> for details about
managing the SID/uid/gid backend for each domain.
</para>
</description>
<value type="example">default AD CORP</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="idmap gid" context="G" type="string" advanced="1" developer="1" hide="1" xml:base="winbind/idmapgid.xml">
<synonym>winbind gid</synonym>
<description>
<para>The idmap gid parameter specifies the range of group ids
that are allocated for the purpose of mapping UNX groups to NT group
SIDs. This range of group ids should have no
existing local or NIS groups within it as strange conflicts can
occur otherwise.</para>
<para>See also the <smbconfoption name="idmap backend"/>, <smbconfoption name="idmap domains"/>, and <smbconfoption name="idmap config"/> options.
</para>
</description>
<value type="default"/>
<value type="example">10000-20000</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="idmap negative cache time" context="G" type="integer" advanced="1" developer="1" xml:base="winbind/idmapnegativecachetime.xml">
<description>
<para>This parameter specifies the number of seconds that Winbind's
idmap interface will cache negative SID/uid/gid query results.
</para>
</description>
<value type="default">120</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="idmap uid" type="string" context="G" advanced="1" developer="1" hide="1" xml:base="winbind/idmapuid.xml">
<synonym>winbind uid</synonym>
<description>
<para>
The idmap uid parameter specifies the range of user ids that are
allocated for use in mapping UNIX users to NT user SIDs. This
range of ids should have no existing local
or NIS users within it as strange conflicts can occur otherwise.</para>
<para>See also the <smbconfoption name="idmap backend"/>, <smbconfoption name="idmap domains"/>, and <smbconfoption name="idmap config"/> options.
</para>
</description>
<value type="default"/>
<value type="example">10000-20000</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="include" context="G" type="string" hide="1" xml:base="misc/include.xml">
<description>
<para>
This allows you to include one config file inside another. The file is included literally, as though typed
in place.
</para>
<para>
It takes the standard substitutions, except <parameter moreinfo="none">%u</parameter>,
<parameter moreinfo="none">%P</parameter> and <parameter moreinfo="none">%S</parameter>.
</para>
<para>
The parameter <parameter>include = registry</parameter> has
a special meaning: It does <emphasis>not</emphasis> include
a file named <emphasis>registry</emphasis> from the current working
directory, but instead reads the global configuration options
from the registry. See the section on registry-based
configuration for details. Note that this option
automatically activates registry shares.
</para>
</description>
<value type="default"/>
<value type="example">/usr/local/samba/lib/admin_smb.conf</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="inherit acls" context="S" type="boolean" xml:base="security/inheritacls.xml">
<description>
<para>This parameter can be used to ensure that if default acls
exist on parent directories, they are always honored when creating a
new file or subdirectory in these parent directories. The default
behavior is to use the unix mode specified when creating the directory.
Enabling this option sets the unix mode to 0777, thus guaranteeing that
default directory acls are propagated.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="inherit owner" context="S" type="boolean" xml:base="security/inheritowner.xml">
<description>
<para>The ownership of new files and directories
is normally governed by effective uid of the connected user.
This option allows the Samba administrator to specify that
the ownership for new files and directories should be controlled
by the ownership of the parent directory.</para>
<para>Common scenarios where this behavior is useful is in
implementing drop-boxes where users can create and edit files but not
delete them and to ensure that newly create files in a user's
roaming profile directory are actually owner by the user.</para>
</description>
<related>inherit permissions</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="inherit permissions" context="S" type="boolean" xml:base="security/inheritpermissions.xml">
<description>
<para>
The permissions on new files and directories are normally governed by <smbconfoption name="create mask"/>,
<smbconfoption name="directory mask"/>, <smbconfoption name="force create mode"/> and <smbconfoption name="force directory mode"/> but the boolean inherit permissions parameter overrides this.
</para>
<para>New directories inherit the mode of the parent directory,
including bits such as setgid.</para>
<para>
New files inherit their read/write bits from the parent directory. Their execute bits continue to be
determined by <smbconfoption name="map archive"/>, <smbconfoption name="map hidden"/> and <smbconfoption name="map system"/> as usual.
</para>
<para>Note that the setuid bit is <emphasis>never</emphasis> set via
inheritance (the code explicitly prohibits this).</para>
<para>This can be particularly useful on large systems with
many users, perhaps several thousand, to allow a single [homes]
share to be used flexibly by each user.</para>
</description>
<related>create mask</related>
<related>directory mask</related>
<related>force create mode</related>
<related>force directory mode</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="interfaces" context="G" type="list" basic="1" advanced="1" wizard="1" developer="1" xml:base="base/interfaces.xml">
<description>
<para>This option allows you to override the default
network interfaces list that Samba will use for browsing, name
registration and other NetBIOS over TCP/IP (NBT) traffic. By default Samba will query
the kernel for the list of all active interfaces and use any
interfaces except 127.0.0.1 that are broadcast capable.</para>
<para>The option takes a list of interface strings. Each string
can be in any of the following forms:</para>
<itemizedlist>
<listitem><para>a network interface name (such as eth0).
This may include shell-like wildcards so eth* will match
any interface starting with the substring "eth"</para></listitem>
<listitem><para>an IP address. In this case the netmask is
determined from the list of interfaces obtained from the
kernel</para></listitem>
<listitem><para>an IP/mask pair. </para></listitem>
<listitem><para>a broadcast/mask pair.</para></listitem>
</itemizedlist>
<para>The "mask" parameters can either be a bit length (such
as 24 for a C class network) or a full netmask in dotted
decimal form.</para>
<para>The "IP" parameters above can either be a full dotted
decimal IP address or a hostname which will be looked up via
the OS's normal hostname resolution mechanisms.</para>
<para>
By default Samba enables all active interfaces that are broadcast capable
except the loopback adaptor (IP address 127.0.0.1).
</para>
<para>
The example below configures three network interfaces corresponding
to the eth0 device and IP addresses 192.168.2.10 and 192.168.3.10.
The netmasks of the latter two interfaces would be set to 255.255.255.0.
</para>
</description>
<related>bind interfaces only</related>
<value type="example">eth0 192.168.2.10/24 192.168.3.10/255.255.255.0</value>
<value type="default"/>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="invalid users" context="S" type="list" xml:base="security/invalidusers.xml">
<description>
<para>This is a list of users that should not be allowed
to login to this service. This is really a <emphasis>paranoid</emphasis>
check to absolutely ensure an improper setting does not breach
your security.</para>
<para>A name starting with a '@' is interpreted as an NIS
netgroup first (if your system supports NIS), and then as a UNIX
group if the name was not found in the NIS netgroup database.</para>
<para>A name starting with '+' is interpreted only
by looking in the UNIX group database via the NSS getgrnam() interface. A name starting with
'&' is interpreted only by looking in the NIS netgroup database
(this requires NIS to be working on your system). The characters
'+' and '&' may be used at the start of the name in either order
so the value <parameter moreinfo="none">+&group</parameter> means check the
UNIX group database, followed by the NIS netgroup database, and
the value <parameter moreinfo="none">&+group</parameter> means check the NIS
netgroup database, followed by the UNIX group database (the
same as the '@' prefix).</para>
<para>The current servicename is substituted for <parameter moreinfo="none">%S</parameter>.
This is useful in the [homes] section.</para>
</description>
<related>valid users</related>
<value type="default"><comment>no invalid users</comment></value>
<value type="example">root fred admin @wheel</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="iprint server" context="G" type="string" print="1" xml:base="printing/iprintserver.xml">
<description>
<para>
This parameter is only applicable if <smbconfoption name="printing"/> is set to <constant>iprint</constant>.
</para>
<para>
If set, this option overrides the ServerName option in the CUPS <filename>client.conf</filename>. This is
necessary if you have virtual samba servers that connect to different CUPS daemons.
</para>
</description>
<value type="default">""</value>
<value type="example">MYCUPSSERVER</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="keepalive" context="G" type="integer" advanced="1" developer="1" xml:base="tuning/keepalive.xml">
<description>
<para>The value of the parameter (an integer) represents
the number of seconds between <parameter moreinfo="none">keepalive</parameter>
packets. If this parameter is zero, no keepalive packets will be
sent. Keepalive packets, if sent, allow the server to tell whether
a client is still present and responding.</para>
<para>Keepalives should, in general, not be needed if the socket
has the SO_KEEPALIVE attribute set on it by default. (see <smbconfoption name="socket options"/>).
Basically you should only use this option if you strike difficulties.</para>
</description>
<value type="default">300</value>
<value type="example">600</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="kernel change notify" context="S" type="boolean" advanced="1" xml:base="misc/kernelchangenotify.xml">
<description>
<para>This parameter specifies whether Samba should ask the
kernel for change notifications in directories so that
SMB clients can refresh whenever the data on the server changes.
</para>
<para>This parameter is only used when your kernel supports
change notification to user programs using the inotify interface.
</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="kernel oplocks" type="boolean" context="G" xml:base="locking/kerneloplocks.xml">
<description>
<para>For UNIXes that support kernel based <smbconfoption name="oplocks"/>
(currently only IRIX and the Linux 2.4 kernel), this parameter
allows the use of them to be turned on or off.</para>
<para>Kernel oplocks support allows Samba <parameter moreinfo="none">oplocks
</parameter> to be broken whenever a local UNIX process or NFS operation
accesses a file that <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> has oplocked. This allows complete
data consistency between SMB/CIFS, NFS and local file access (and is
a <emphasis>very</emphasis> cool feature :-).</para>
<para>This parameter defaults to <constant>on</constant>, but is translated
to a no-op on systems that no not have the necessary kernel support.
You should never need to touch this parameter.</para>
</description>
<related>oplocks</related>
<related>level2 oplocks</related>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="lanman auth" context="G" type="boolean" advanced="1" developer="1" xml:base="security/lanmanauth.xml">
<description>
<para>This parameter determines whether or not <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will attempt to
authenticate users or permit password changes
using the LANMAN password hash. If disabled, only clients which support NT
password hashes (e.g. Windows NT/2000 clients, smbclient, but not
Windows 95/98 or the MS DOS network client) will be able to
connect to the Samba host.</para>
<para>The LANMAN encrypted response is easily broken, due to it's
case-insensitive nature, and the choice of algorithm. Servers
without Windows 95/98/ME or MS DOS clients are advised to disable
this option. </para>
<para>Unlike the <command moreinfo="none">encrypt
passwords</command> option, this parameter cannot alter client
behaviour, and the LANMAN response will still be sent over the
network. See the <command moreinfo="none">client lanman
auth</command> to disable this for Samba's clients (such as smbclient)</para>
<para>If this option, and <command moreinfo="none">ntlm
auth</command> are both disabled, then only NTLMv2 logins will be
permited. Not all clients support NTLMv2, and most will require
special configuration to use it.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="large readwrite" context="G" type="boolean" developer="1" xml:base="protocol/largereadwrite.xml">
<description>
<para>This parameter determines whether or not
<citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> supports the new 64k
streaming read and write varient SMB requests introduced with
Windows 2000. Note that due to Windows 2000 client redirector bugs
this requires Samba to be running on a 64-bit capable operating
system such as IRIX, Solaris or a Linux 2.4 kernel. Can improve
performance by 10% with Windows 2000 clients. Defaults to on. Not as
tested as some other Samba code paths.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap admin dn" context="G" advanced="1" developer="1" type="string" xml:base="ldap/ldapadmindn.xml">
<description>
<para>
The <smbconfoption name="ldap admin dn"/> defines the Distinguished Name (DN) name used by Samba to contact
the ldap server when retreiving user account information. The <smbconfoption name="ldap admin dn"/> is used
in conjunction with the admin dn password stored in the <filename moreinfo="none">private/secrets.tdb</filename>
file. See the <citerefentry><refentrytitle>smbpasswd</refentrytitle> <manvolnum>8</manvolnum></citerefentry>
man page for more information on how to accomplish this.
</para>
<para>
The <smbconfoption name="ldap admin dn"/> requires a fully specified DN. The <smbconfoption name="ldap suffix"/> is not appended to the <smbconfoption name="ldap admin dn"/>.
</para>
</description>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap connection timeout" context="G" advanced="1" developer="1" type="integer" xml:base="ldap/ldapconnectiontimeout.xml">
<description>
<para>
This parameter tells the LDAP library calls which timeout in seconds
they should honor during initial connection establishments to LDAP servers.
It is very useful in failover scenarios in particular. If one or more LDAP
servers are not reachable at all, we do not have to wait until TCP
timeouts are over. This feature must be supported by your LDAP library.
</para>
<para>
This parameter is different from <smbconfoption name="ldap timeout"/>
which affects operations on LDAP servers using an existing connection
and not establishing an initial connection.
</para>
</description>
<value type="default">2</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap debug level" type="integer" context="G" developer="1" advanced="1" xml:base="logging/ldapdebuglevel.xml">
<description>
<para>
This parameter controls the debug level of the LDAP library
calls. In the case of OpenLDAP, it is the same
bit-field as understood by the server and documented in the
<citerefentry>
<refentrytitle>slapd.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>
manpage.
A typical useful value will be
<emphasis>1</emphasis> for tracing function calls.
</para>
<para>
The debug ouput from the LDAP libraries appears with the
prefix [LDAP] in Samba's logging output.
The level at which LDAP logging is printed is controlled by the
parameter <parameter>ldap debug threshold</parameter>.
</para>
</description>
<value type="default">0</value>
<value type="example">1</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap debug threshold" type="integer" context="G" developer="1" advanced="1" xml:base="logging/ldapdebugthreshold.xml">
<description>
<para>
This parameter controls the Samba debug level at which
the ldap library debug output is
printed in the Samba logs. See the description of
<parameter>ldap debug level</parameter> for details.
</para>
</description>
<value type="default">10</value>
<value type="example">5</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap delete dn" context="G" type="boolean" advanced="1" developer="1" xml:base="ldap/ldapdeletedn.xml">
<description>
<para> This parameter specifies whether a delete
operation in the ldapsam deletes the complete entry or only the attributes
specific to Samba.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap group suffix" context="G" type="string" advanced="1" developer="1" xml:base="ldap/ldapgroupsuffix.xml">
<description>
<para>This parameter specifies the suffix that is
used for groups when these are added to the LDAP directory.
If this parameter is unset, the value of <smbconfoption name="ldap suffix"/> will be used instead. The suffix string is pre-pended to the
<smbconfoption name="ldap suffix"/> string so use a partial DN.</para>
</description>
<value type="default"/>
<value type="example">ou=Groups</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap idmap suffix" context="G" advanced="1" developer="1" type="string" xml:base="ldap/ldapidmapsuffix.xml">
<description>
<para>
This parameters specifies the suffix that is used when storing idmap mappings. If this parameter
is unset, the value of <smbconfoption name="ldap suffix"/> will be used instead. The suffix
string is pre-pended to the <smbconfoption name="ldap suffix"/> string so use a partial DN.
</para>
</description>
<value type="default"/>
<value type="example">ou=Idmap</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap machine suffix" context="G" advanced="1" developer="1" type="string" xml:base="ldap/ldapmachinesuffix.xml">
<description>
<para>
It specifies where machines should be added to the ldap tree. If this parameter is unset, the value of
<smbconfoption name="ldap suffix"/> will be used instead. The suffix string is pre-pended to the
<smbconfoption name="ldap suffix"/> string so use a partial DN.
</para>
</description>
<value type="default"/>
<value type="example">ou=Computers</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap passwd sync" context="G" advanced="1" developer="1" type="enum" xml:base="ldap/ldappasswdsync.xml">
<description>
<para>
This option is used to define whether or not Samba should sync the LDAP password with the NT
and LM hashes for normal accounts (NOT for workstation, server or domain trusts) on a password
change via SAMBA.
</para>
<para>
The <smbconfoption name="ldap passwd sync"/> can be set to one of three values:
</para>
<itemizedlist>
<listitem>
<para><parameter moreinfo="none">Yes</parameter> = Try
to update the LDAP, NT and LM passwords and update the pwdLastSet time.</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">No</parameter> = Update NT and
LM passwords and update the pwdLastSet time.</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">Only</parameter> = Only update
the LDAP password and let the LDAP server do the rest.</para>
</listitem>
</itemizedlist>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap replication sleep" context="G" advanced="1" developer="1" type="integer" xml:base="ldap/ldapreplicationsleep.xml">
<description>
<para>
When Samba is asked to write to a read-only LDAP replica, we are redirected to talk to the read-write master server.
This server then replicates our changes back to the 'local' server, however the replication might take some seconds,
especially over slow links. Certain client activities, particularly domain joins, can become confused by the 'success'
that does not immediately change the LDAP back-end's data.
</para>
<para>
This option simply causes Samba to wait a short time, to allow the LDAP server to catch up. If you have a particularly
high-latency network, you may wish to time the LDAP replication with a network sniffer, and increase this value accordingly.
Be aware that no checking is performed that the data has actually replicated.
</para>
<para>
The value is specified in milliseconds, the maximum value is 5000 (5 seconds).
</para>
</description>
<value type="default">1000</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldapsam:editposix" context="G" type="string" advanced="1" developer="0" xml:base="ldap/ldapsameditposix.xml">
<description>
<para>
Editposix is an option that leverages ldapsam:trusted to make it simpler to manage a domain controller
eliminating the need to set up custom scripts to add and manage the posix users and groups. This option
will instead directly manipulate the ldap tree to create, remove and modify user and group entries.
This option also requires a running winbindd as it is used to allocate new uids/gids on user/group
creation. The allocation range must be therefore configured.
</para>
<para>
To use this option, a basic ldap tree must be provided and the ldap suffix parameters must be properly
configured. On virgin servers the default users and groups (Administrator, Guest, Domain Users,
Domain Admins, Domain Guests) can be precreated with the command <command moreinfo="none">net sam
provision</command>. To run this command the ldap server must be running, Winindd must be running and
the smb.conf ldap options must be properly configured.
The typical ldap setup used with the <smbconfoption name="ldapsam:trusted">yes</smbconfoption> option
is usually sufficient to use <smbconfoption name="ldapsam:editposix">yes</smbconfoption> as well.
</para>
<para>
An example configuration can be the following:
<programlisting>
encrypt passwords = true
passdb backend = ldapsam
ldapsam:trusted=yes
ldapsam:editposix=yes
ldap admin dn = cn=admin,dc=samba,dc=org
ldap delete dn = yes
ldap group suffix = ou=groups
ldap idmap suffix = ou=idmap
ldap machine suffix = ou=computers
ldap user suffix = ou=users
ldap suffix = dc=samba,dc=org
idmap backend = ldap:"ldap://localhost"
idmap uid = 5000-50000
idmap gid = 5000-50000
</programlisting>
This configuration assumes a directory layout like described in the following ldif:
<programlisting>
dn: dc=samba,dc=org
objectClass: top
objectClass: dcObject
objectClass: organization
o: samba.org
dc: samba
dn: cn=admin,dc=samba,dc=org
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: secret
dn: ou=users,dc=samba,dc=org
objectClass: top
objectClass: organizationalUnit
ou: users
dn: ou=groups,dc=samba,dc=org
objectClass: top
objectClass: organizationalUnit
ou: groups
dn: ou=idmap,dc=samba,dc=org
objectClass: top
objectClass: organizationalUnit
ou: idmap
dn: ou=computers,dc=samba,dc=org
objectClass: top
objectClass: organizationalUnit
ou: computers
</programlisting>
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldapsam:trusted" context="G" type="string" advanced="1" developer="0" xml:base="ldap/ldapsamtrusted.xml">
<description>
<para>
By default, Samba as a Domain Controller with an LDAP backend needs to use the Unix-style NSS subsystem to
access user and group information. Due to the way Unix stores user information in /etc/passwd and /etc/group
this inevitably leads to inefficiencies. One important question a user needs to know is the list of groups he
is member of. The plain UNIX model involves a complete enumeration of the file /etc/group and its NSS
counterparts in LDAP. UNIX has optimized functions to enumerate group membership. Sadly, other functions that
are used to deal with user and group attributes lack such optimization.
</para>
<para>
To make Samba scale well in large environments, the <smbconfoption name="ldapsam:trusted">yes</smbconfoption>
option assumes that the complete user and group database that is relevant to Samba is stored in LDAP with the
standard posixAccount/posixGroup attributes. It further assumes that the Samba auxiliary object classes are
stored together with the POSIX data in the same LDAP object. If these assumptions are met,
<smbconfoption name="ldapsam:trusted">yes</smbconfoption> can be activated and Samba can bypass the
NSS system to query user group memberships. Optimized LDAP queries can greatly speed up domain logon and
administration tasks. Depending on the size of the LDAP database a factor of 100 or more for common queries
is easily achieved.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap ssl" context="G" type="enum" advanced="1" developer="1" xml:base="ldap/ldapssl.xml">
<description>
<para>This option is used to define whether or not Samba should
use SSL when connecting to the ldap server
This is <emphasis>NOT</emphasis> related to
Samba's previous SSL support which was enabled by specifying the
<command moreinfo="none">--with-ssl</command> option to the <filename moreinfo="none">configure</filename>
script.</para>
<para>The <smbconfoption name="ldap ssl"/> can be set to one of three values:</para>
<itemizedlist>
<listitem>
<para><parameter moreinfo="none">Off</parameter> = Never
use SSL when querying the directory.</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">Start_tls</parameter> = Use
the LDAPv3 StartTLS extended operation (RFC2830) for
communicating with the directory server.</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">On</parameter> = Use SSL
on the ldaps port when contacting the <parameter moreinfo="none">ldap server</parameter>. Only available when the
backwards-compatiblity <command moreinfo="none">--with-ldapsam</command> option is specified
to configure. See <smbconfoption name="passdb backend"/></para>.
</listitem>
</itemizedlist>
</description>
<value type="default">start_tls</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap suffix" context="G" type="string" advanced="1" developer="1" xml:base="ldap/ldapsuffix.xml">
<description>
<para>Specifies the base for all ldap suffixes and for storing the sambaDomain object.</para>
<para>
The ldap suffix will be appended to the values specified for the <smbconfoption name="ldap user suffix"/>,
<smbconfoption name="ldap group suffix"/>, <smbconfoption name="ldap machine suffix"/>, and the
<smbconfoption name="ldap idmap suffix"/>. Each of these should be given only a DN relative to the
<smbconfoption name="ldap suffix"/>.
</para>
</description>
<value type="default"/>
<value type="example">dc=samba,dc=org</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap timeout" context="G" advanced="1" developer="1" type="integer" xml:base="ldap/ldaptimeout.xml">
<description>
<para>
When Samba connects to an ldap server that server may be down or unreachable. To prevent Samba from hanging whilst
waiting for the connection this parameter specifies in seconds how long Samba should wait before failing the
connect. The default is to only wait fifteen seconds for the ldap server to respond to the connect request.
</para>
</description>
<value type="default">15</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ldap user suffix" context="G" type="string" advanced="1" developer="1" xml:base="ldap/ldapusersuffix.xml">
<description>
<para>
This parameter specifies where users are added to the tree. If this parameter is unset,
the value of <smbconfoption name="ldap suffix"/> will be used instead. The suffix
string is pre-pended to the <smbconfoption name="ldap suffix"/> string so use a partial DN.
</para>
</description>
<value type="default"/>
<value type="example">ou=people</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="level2 oplocks" context="S" type="boolean" xml:base="locking/level2oplocks.xml">
<description>
<para>This parameter controls whether Samba supports
level2 (read-only) oplocks on a share.</para>
<para>Level2, or read-only oplocks allow Windows NT clients
that have an oplock on a file to downgrade from a read-write oplock
to a read-only oplock once a second client opens the file (instead
of releasing all oplocks on a second open, as in traditional,
exclusive oplocks). This allows all openers of the file that
support level2 oplocks to cache the file for read-ahead only (ie.
they may not cache writes or lock requests) and increases performance
for many accesses of files that are not commonly written (such as
application .EXE files).</para>
<para>Once one of the clients which have a read-only oplock
writes to the file all clients are notified (no reply is needed
or waited for) and told to break their oplocks to "none" and
delete any read-ahead caches.</para>
<para>It is recommended that this parameter be turned on to
speed access to shared executables.</para>
<para>For more discussions on level2 oplocks see the CIFS spec.</para>
<para>
Currently, if <smbconfoption name="kernel oplocks"/> are supported then
level2 oplocks are not granted (even if this parameter is set to
<constant>yes</constant>). Note also, the <smbconfoption name="oplocks"/>
parameter must be set to <constant>yes</constant> on this share in order for
this parameter to have any effect.</para>
</description>
<related>oplocks</related>
<related>kernel oplocks</related>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="lm announce" context="G" type="boolean-auto" advanced="1" developer="1" xml:base="browse/lmannounce.xml">
<description>
<para>This parameter determines if <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will produce Lanman announce
broadcasts that are needed by OS/2 clients in order for them to see
the Samba server in their browse list. This parameter can have three
values, <constant>yes</constant>, <constant>no</constant>, or
<constant>auto</constant>. The default is <constant>auto</constant>.
If set to <constant>no</constant> Samba will never produce these
broadcasts. If set to <constant>yes</constant> Samba will produce
Lanman announce broadcasts at a frequency set by the parameter
<smbconfoption name="lm interval"/>. If set to <constant>auto</constant>
Samba will not send Lanman announce broadcasts by default but will
listen for them. If it hears such a broadcast on the wire it will
then start sending them at a frequency set by the parameter
<smbconfoption name="lm interval"/>.</para>
</description>
<related>lm interval</related>
<value type="default">auto</value>
<value type="example">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="lm interval" context="G" advanced="1" developer="1" type="integer" xml:base="browse/lminterval.xml">
<description>
<para>If Samba is set to produce Lanman announce
broadcasts needed by OS/2 clients (see the
<smbconfoption name="lm announce"/> parameter) then this
parameter defines the frequency in seconds with which they will be
made. If this is set to zero then no Lanman announcements will be
made despite the setting of the <smbconfoption name="lm announce"/>
parameter.</para>
</description>
<related>lm announce</related>
<value type="default">60</value>
<value type="example">120</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="load printers" context="G" type="boolean" print="1" xml:base="printing/loadprinters.xml">
<description>
<para>A boolean variable that controls whether all
printers in the printcap will be loaded for browsing by default.
See the <smbconfoption name="printers"/> section for
more details.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="local master" context="G" basic="1" advanced="1" developer="1" xml:base="browse/localmaster.xml">
<description>
<para>This option allows <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> to try and become a local master browser
on a subnet. If set to <constant>no</constant> then <command moreinfo="none">
nmbd</command> will not attempt to become a local master browser
on a subnet and will also lose in all browsing elections. By
default this value is set to <constant>yes</constant>. Setting this value to
<constant>yes</constant> doesn't mean that Samba will <emphasis>become</emphasis> the
local master browser on a subnet, just that <command moreinfo="none">nmbd</command>
will <emphasis>participate</emphasis> in elections for local master browser.</para>
<para>Setting this value to <constant>no</constant> will cause <command moreinfo="none">nmbd</command> <emphasis>never</emphasis> to become a local
master browser.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="lock directory" context="G" advanced="1" developer="1" type="string" xml:base="misc/lockdirectory.xml">
<synonym>lock dir</synonym>
<description>
<para>This option specifies the directory where lock
files will be placed. The lock files are used to implement the
<smbconfoption name="max connections"/> option.
</para>
<para>
Note: This option can not be set inside registry
configurations.
</para>
</description>
<value type="default">${prefix}/var/locks</value>
<value type="example">/var/run/samba/locks</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="locking" type="boolean" context="S" xml:base="locking/locking.xml">
<description>
<para>This controls whether or not locking will be
performed by the server in response to lock requests from the
client.</para>
<para>If <command moreinfo="none">locking = no</command>, all lock and unlock
requests will appear to succeed and all lock queries will report
that the file in question is available for locking.</para>
<para>If <command moreinfo="none">locking = yes</command>, real locking will be performed
by the server.</para>
<para>This option <emphasis>may</emphasis> be useful for read-only
filesystems which <emphasis>may</emphasis> not need locking (such as
CDROM drives), although setting this parameter of <constant>no</constant>
is not really recommended even in this case.</para>
<para>Be careful about disabling locking either globally or in a
specific service, as lack of locking may result in data corruption.
You should never need to set this parameter.</para>
</description>
<value type="boolean">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="lock spin count" context="G" type="integer" xml:base="locking/lockspincount.xml">
<description>
<para>This parameter has been made inoperative in Samba 3.0.24.
The functionality it contolled is now controlled by the parameter
<smbconfoption name="lock spin time"/>.
</para>
</description>
<value type="default">0</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="lock spin time" type="integer" context="G" xml:base="locking/lockspintime.xml">
<description>
<para>The time in microseconds that smbd should
keep waiting to see if a failed lock request can
be granted. This parameter has changed in default
value from Samba 3.0.23 from 10 to 200. The associated
<smbconfoption name="lock spin count"/> parameter is
no longer used in Samba 3.0.24. You should not need
to change the value of this parameter.</para>
</description>
<value type="default">200</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="log file" context="G" type="string" developer="1" advanced="1" xml:base="logging/logfile.xml">
<description>
<para>
This option allows you to override the name of the Samba log file (also known as the debug file).
</para>
<para>
This option takes the standard substitutions, allowing you to have separate log files for each user or machine.
</para>
</description>
<value type="example">/usr/local/samba/var/log.%m</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="log level" type="string" context="G" developer="1" advanced="1" xml:base="logging/loglevel.xml">
<synonym>debuglevel</synonym>
<description>
<para>
The value of the parameter (a astring) allows the debug level (logging level) to be specified in the
<filename moreinfo="none">smb.conf</filename> file.
</para>
<para>This parameter has been extended since the 2.2.x
series, now it allows to specify the debug level for multiple
debug classes. This is to give greater flexibility in the configuration
of the system. The following debug classes are currently implemented:
</para>
<itemizedlist>
<listitem><para><parameter moreinfo="none">all</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">tdb</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">printdrivers</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">lanman</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">smb</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">rpc_parse</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">rpc_srv</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">rpc_cli</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">passdb</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">sam</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">auth</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">winbind</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">vfs</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">idmap</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">quota</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">acls</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">locking</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">msdfs</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">dmapi</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">registry</parameter></para></listitem>
</itemizedlist>
</description>
<value type="default">0</value>
<value type="example">3 passdb:5 auth:10 winbind:2</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="logon drive" context="G" type="string" advanced="1" developer="1" xml:base="logon/logondrive.xml">
<description>
<para>
This parameter specifies the local path to which the home directory will be
connected (see <smbconfoption name="logon home"/>) and is only used by NT
Workstations.
</para>
<para>
Note that this option is only useful if Samba is set up as a logon server.
</para>
</description>
<value type="default"/>
<value type="example">h:</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="logon home" context="G" type="string" advanced="1" developer="1" xml:base="logon/logonhome.xml">
<description>
<para>
This parameter specifies the home directory location when a Win95/98 or NT Workstation logs into a Samba PDC.
It allows you to do
</para>
<para>
<prompt moreinfo="none">C:\></prompt><userinput moreinfo="none">NET USE H: /HOME</userinput>
</para>
<para>
from a command prompt, for example.
</para>
<para>
This option takes the standard substitutions, allowing you to have separate logon scripts for each user or machine.
</para>
<para>
This parameter can be used with Win9X workstations to ensure that roaming profiles are stored in a
subdirectory of the user's home directory. This is done in the following way:
</para>
<para>
<command moreinfo="none">logon home = \\%N\%U\profile</command>
</para>
<para>
This tells Samba to return the above string, with substitutions made when a client requests the info, generally
in a NetUserGetInfo request. Win9X clients truncate the info to \\server\share when a user does
<command moreinfo="none">net use /home</command> but use the whole string when dealing with profiles.
</para>
<para>
Note that in prior versions of Samba, the <smbconfoption name="logon path"/> was returned rather than
<parameter moreinfo="none">logon home</parameter>. This broke <command moreinfo="none">net use /home</command>
but allowed profiles outside the home directory. The current implementation is correct, and can be used for
profiles if you use the above trick.
</para>
<para>
Disable this feature by setting <smbconfoption name="logon home">""</smbconfoption> - using the empty string.
</para>
<para>
This option is only useful if Samba is set up as a logon server.
</para>
</description>
<value type="default">\\%N\%U</value>
<value type="example">\\remote_smb_server\%U</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="logon path" context="G" type="string" advanced="1" developer="1" xml:base="logon/logonpath.xml">
<description>
<para>
This parameter specifies the directory where roaming profiles (Desktop, NTuser.dat, etc) are
stored. Contrary to previous versions of these manual pages, it has nothing to do with Win 9X roaming
profiles. To find out how to handle roaming profiles for Win 9X system, see the
<smbconfoption name="logon home"/> parameter.
</para>
<para>
This option takes the standard substitutions, allowing you to have separate logon scripts for each user or
machine. It also specifies the directory from which the "Application Data", <filename moreinfo="none">desktop</filename>, <filename moreinfo="none">start menu</filename>, <filename moreinfo="none">network neighborhood</filename>, <filename moreinfo="none">programs</filename> and other
folders, and their contents, are loaded and displayed on your Windows NT client.
</para>
<para>
The share and the path must be readable by the user for the preferences and directories to be loaded onto the
Windows NT client. The share must be writeable when the user logs in for the first time, in order that the
Windows NT client can create the NTuser.dat and other directories.
Thereafter, the directories and any of the contents can, if required, be made read-only. It is not advisable
that the NTuser.dat file be made read-only - rename it to NTuser.man to achieve the desired effect (a
<emphasis>MAN</emphasis>datory profile).
</para>
<para>
Windows clients can sometimes maintain a connection to the [homes] share, even though there is no user logged
in. Therefore, it is vital that the logon path does not include a reference to the homes share (i.e. setting
this parameter to \\%N\homes\profile_path will cause problems).
</para>
<para>
This option takes the standard substitutions, allowing you to have separate logon scripts for each user or machine.
</para>
<warning><para>
Do not quote the value. Setting this as <quote>\\%N\profile\%U</quote>
will break profile handling. Where the tdbsam or ldapsam passdb backend
is used, at the time the user account is created the value configured
for this parameter is written to the passdb backend and that value will
over-ride the parameter value present in the smb.conf file. Any error
present in the passdb backend account record must be editted using the
appropriate tool (pdbedit on the command-line, or any other locally
provided system tool).
</para></warning>
<para>Note that this option is only useful if Samba is set up as a domain controller.</para>
<para>
Disable the use of roaming profiles by setting the value of this parameter to the empty string. For
example, <smbconfoption name="logon path">""</smbconfoption>. Take note that even if the default setting
in the smb.conf file is the empty string, any value specified in the user account settings in the passdb
backend will over-ride the effect of setting this parameter to null. Disabling of all roaming profile use
requires that the user account settings must also be blank.
</para>
<para>
An example of use is:
<programlisting>
logon path = \\PROFILESERVER\PROFILE\%U
</programlisting>
</para>
</description>
<value type="default">\\%N\%U\profile</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="logon script" context="G" advanced="1" developer="1" type="string" xml:base="logon/logonscript.xml">
<description>
<para>
This parameter specifies the batch file (<filename>.bat</filename>) or NT command file
(<filename>.cmd</filename>) to be downloaded and run on a machine when a user successfully logs in. The file
must contain the DOS style CR/LF line endings. Using a DOS-style editor to create the file is recommended.
</para>
<para>
The script must be a relative path to the <smbconfsection name="[netlogon]"/> service. If the [netlogon]
service specifies a <smbconfoption name="path"/> of <filename moreinfo="none">/usr/local/samba/netlogon</filename>, and <smbconfoption name="logon script">STARTUP.BAT</smbconfoption>, then the file that will be downloaded is:
<programlisting>
/usr/local/samba/netlogon/STARTUP.BAT
</programlisting>
</para>
<para>
The contents of the batch file are entirely your choice. A suggested command would be to add <command moreinfo="none">NET TIME \\SERVER /SET /YES</command>, to force every machine to synchronize clocks with the
same time server. Another use would be to add <command moreinfo="none">NET USE U: \\SERVER\UTILS</command>
for commonly used utilities, or
<programlisting>
<userinput>NET USE Q: \\SERVER\ISO9001_QA</userinput>
</programlisting>
for example.
</para>
<para>
Note that it is particularly important not to allow write access to the [netlogon] share, or to grant users
write permission on the batch files in a secure environment, as this would allow the batch files to be
arbitrarily modified and security to be breached.
</para>
<para>
This option takes the standard substitutions, allowing you to have separate logon scripts for each user or
machine.
</para>
<para>
This option is only useful if Samba is set up as a logon server.
</para>
</description>
<value type="default"/>
<value type="example">scripts\%U.bat</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="lppause command" context="S" type="string" print="1" xml:base="printing/lppausecommand.xml">
<description>
<para>This parameter specifies the command to be
executed on the server host in order to stop printing or spooling
a specific print job.</para>
<para>This command should be a program or script which takes
a printer name and job number to pause the print job. One way
of implementing this is by using job priorities, where jobs
having a too low priority won't be sent to the printer.</para>
<para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with
the job number (an integer). On HPUX (see <parameter moreinfo="none">printing=hpux
</parameter>), if the <parameter moreinfo="none">-p%p</parameter> option is added
to the lpq command, the job will show up with the correct status, i.e.
if the job priority is lower than the set fence priority it will
have the PAUSED status, whereas if the priority is equal or higher it
will have the SPOOLED or PRINTING status.</para>
<para>Note that it is good practice to include the absolute path
in the lppause command as the PATH may not be available to the server.</para>
</description>
<related>printing</related>
<value type="default"><comment>Currently no default value is given to
this string, unless the value of the <smbconfoption name="printing"/>
parameter is <constant>SYSV</constant>, in which case the default is :
<command moreinfo="none">lp -i %p-%j -H hold</command> or if the value of the
<parameter moreinfo="none">printing</parameter> parameter is
<constant>SOFTQ</constant>, then the default is:
<command moreinfo="none">qstat -s -j%j -h</command>. </comment></value>
<value type="example">/usr/bin/lpalt %p-%j -p0</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="lpq cache time" context="G" type="integer" developer="1" xml:base="printing/lpqcachetime.xml">
<description>
<para>This controls how long lpq info will be cached
for to prevent the <command moreinfo="none">lpq</command> command being called too
often. A separate cache is kept for each variation of the <command moreinfo="none">
lpq</command> command used by the system, so if you use different
<command moreinfo="none">lpq</command> commands for different users then they won't
share cache information.</para>
<para>The cache files are stored in <filename moreinfo="none">/tmp/lpq.xxxx</filename>
where xxxx is a hash of the <command moreinfo="none">lpq</command> command in use.</para>
<para>The default is 30 seconds, meaning that the cached results
of a previous identical <command moreinfo="none">lpq</command> command will be used
if the cached data is less than 30 seconds old. A large value may
be advisable if your <command moreinfo="none">lpq</command> command is very slow.</para>
<para>A value of 0 will disable caching completely.</para>
</description>
<related>printing</related>
<value type="default">30</value>
<value type="example">10</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="lpq command" context="S" type="string" print="1" xml:base="printing/lpqcommand.xml">
<description>
<para>This parameter specifies the command to be
executed on the server host in order to obtain <command moreinfo="none">lpq
</command>-style printer status information.</para>
<para>This command should be a program or script which
takes a printer name as its only parameter and outputs printer
status information.</para>
<para>Currently nine styles of printer status information
are supported; BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX, CUPS, and SOFTQ.
This covers most UNIX systems. You control which type is expected
using the <parameter moreinfo="none">printing =</parameter> option.</para>
<para>Some clients (notably Windows for Workgroups) may not
correctly send the connection number for the printer they are
requesting status information about. To get around this, the
server reports on the first printer service connected to by the
client. This only happens if the connection number sent is invalid.</para>
<para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
is put in its place. Otherwise it is placed at the end of the
command.</para>
<para>Note that it is good practice to include the absolute path
in the <parameter moreinfo="none">lpq command</parameter> as the <envar>$PATH
</envar> may not be available to the server. When compiled with
the CUPS libraries, no <parameter moreinfo="none">lpq command</parameter> is
needed because smbd will make a library call to obtain the
print queue listing.</para>
</description>
<related>printing</related>
<value type="example">/usr/bin/lpq -P%p</value>
<value type="default"/>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="lpresume command" context="S" type="string" print="1" xml:base="printing/lpresumecommand.xml">
<description>
<para>This parameter specifies the command to be
executed on the server host in order to restart or continue
printing or spooling a specific print job.</para>
<para>This command should be a program or script which takes
a printer name and job number to resume the print job. See
also the <smbconfoption name="lppause command"/> parameter.</para>
<para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with
the job number (an integer).</para>
<para>Note that it is good practice to include the absolute path
in the <parameter moreinfo="none">lpresume command</parameter> as the PATH may not
be available to the server.</para>
<para>See also the <smbconfoption name="printing"/> parameter.</para>
<para>Default: Currently no default value is given
to this string, unless the value of the <parameter moreinfo="none">printing</parameter>
parameter is <constant>SYSV</constant>, in which case the default is:</para>
<para><command moreinfo="none">lp -i %p-%j -H resume</command></para>
<para>or if the value of the <parameter moreinfo="none">printing</parameter> parameter
is <constant>SOFTQ</constant>, then the default is:</para>
<para><command moreinfo="none">qstat -s -j%j -r</command></para>
</description>
<value type="example">/usr/bin/lpalt %p-%j -p2</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="lprm command" context="S" type="string" print="1" xml:base="printing/lprmcommand.xml">
<description>
<para>This parameter specifies the command to be
executed on the server host in order to delete a print job.</para>
<para>This command should be a program or script which takes
a printer name and job number, and deletes the print job.</para>
<para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with
the job number (an integer).</para>
<para>Note that it is good practice to include the absolute
path in the <parameter moreinfo="none">lprm command</parameter> as the PATH may not be
available to the server.</para>
<para>
Examples of use are:
<programlisting>
lprm command = /usr/bin/lprm -P%p %j
or
lprm command = /usr/bin/cancel %p-%j
</programlisting>
</para>
</description>
<related>printing</related>
<value type="default"> determined by printing parameter</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="machine password timeout" context="G" type="integer" advanced="1" developer="1" xml:base="domain/machinepasswordtimeout.xml">
<description>
<para>
If a Samba server is a member of a Windows NT Domain (see the <smbconfoption name="security">domain</smbconfoption> parameter) then periodically a running smbd process will try and change
the MACHINE ACCOUNT PASSWORD stored in the TDB called <filename moreinfo="none">private/secrets.tdb
</filename>. This parameter specifies how often this password will be changed, in seconds. The default is one
week (expressed in seconds), the same as a Windows NT Domain member server.
</para>
<para>
See also <citerefentry><refentrytitle>smbpasswd</refentrytitle> <manvolnum>8</manvolnum></citerefentry>,
and the <smbconfoption name="security">domain</smbconfoption> parameter.
</para>
</description>
<value type="default">604800</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="magic output" context="S" type="string" xml:base="misc/magicoutput.xml">
<description>
<para>
This parameter specifies the name of a file which will contain output created by a magic script (see the
<smbconfoption name="magic script"/> parameter below).
</para>
<warning><para>If two clients use the same <parameter moreinfo="none">magic script
</parameter> in the same directory the output file content is undefined.
</para></warning>
</description>
<value type="default"><magic script name>.out</value>
<value type="example">myfile.txt</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="magic script" context="S" type="string" xml:base="misc/magicscript.xml">
<description>
<para>This parameter specifies the name of a file which,
if opened, will be executed by the server when the file is closed.
This allows a UNIX script to be sent to the Samba host and
executed on behalf of the connected user.</para>
<para>Scripts executed in this way will be deleted upon
completion assuming that the user has the appropriate level
of privilege and the file permissions allow the deletion.</para>
<para>If the script generates output, output will be sent to
the file specified by the <smbconfoption name="magic output"/>
parameter (see above).</para>
<para>Note that some shells are unable to interpret scripts
containing CR/LF instead of CR as
the end-of-line marker. Magic scripts must be executable
<emphasis>as is</emphasis> on the host, which for some hosts and
some shells will require filtering at the DOS end.</para>
<para>Magic scripts are <emphasis>EXPERIMENTAL</emphasis> and
should <emphasis>NOT</emphasis> be relied upon.</para>
</description>
<value type="default"/>
<value type="example">user.csh</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="mangled names" type="boolean" context="S" xml:base="filename/manglednames.xml">
<description>
<para>This controls whether non-DOS names under UNIX
should be mapped to DOS-compatible names ("mangled") and made visible,
or whether non-DOS names should simply be ignored.</para>
<para>See the section on <smbconfoption name="name mangling"/> for
details on how to control the mangling process.</para>
<para>If mangling is used then the mangling algorithm is as follows:</para>
<itemizedlist>
<listitem>
<para>The first (up to) five alphanumeric characters
before the rightmost dot of the filename are preserved, forced
to upper case, and appear as the first (up to) five characters
of the mangled name.</para>
</listitem>
<listitem>
<para>A tilde "~" is appended to the first part of the mangled
name, followed by a two-character unique sequence, based on the
original root name (i.e., the original filename minus its final
extension). The final extension is included in the hash calculation
only if it contains any upper case characters or is longer than three
characters.</para>
<para>Note that the character to use may be specified using
the <smbconfoption name="mangling char"/>
option, if you don't like '~'.</para>
</listitem>
<listitem>
<para>Files whose UNIX name begins with a dot will be
presented as DOS hidden files. The mangled name will be created as
for other filenames, but with the leading dot removed and "___" as
its extension regardless of actual original extension (that's three
underscores).</para>
</listitem>
</itemizedlist>
<para>The two-digit hash value consists of upper case alphanumeric characters.</para>
<para>This algorithm can cause name collisions only if files
in a directory share the same first five alphanumeric characters.
The probability of such a clash is 1/1300.</para>
<para>The name mangling (if enabled) allows a file to be
copied between UNIX directories from Windows/DOS while retaining
the long UNIX filename. UNIX files can be renamed to a new extension
from Windows/DOS and will retain the same basename. Mangled names
do not change between sessions.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="mangle prefix" context="G" type="string" advanced="1" developer="1" xml:base="filename/mangleprefix.xml">
<description>
<para> controls the number of prefix
characters from the original name used when generating
the mangled names. A larger value will give a weaker
hash and therefore more name collisions. The minimum
value is 1 and the maximum value is 6.</para>
<para>
mangle prefix is effective only when mangling method is hash2.
</para>
</description>
<value type="default">1</value>
<value type="example">4</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="mangling char" context="S" type="string" xml:base="filename/manglingchar.xml">
<description>
<para>This controls what character is used as
the <emphasis>magic</emphasis> character in <smbconfoption name="name mangling"/>. The
default is a '~' but this may interfere with some software. Use this option to set
it to whatever you prefer. This is effective only when mangling method is hash.</para>
</description>
<value type="default">~</value>
<value type="example">^</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="mangling method" context="G" type="string" advanced="1" developer="1" xml:base="filename/manglingmethod.xml">
<description>
<para> controls the algorithm used for the generating
the mangled names. Can take two different values, "hash" and
"hash2". "hash" is the algorithm that was used
used in Samba for many years and was the default in Samba 2.2.x "hash2" is
now the default and is newer and considered a better algorithm (generates less collisions) in
the names. Many Win32 applications store the mangled names and so
changing to algorithms must not be done lightly as these applications
may break unless reinstalled.</para>
</description>
<value type="default">hash2</value>
<value type="example">hash</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="map acl inherit" context="S" type="boolean" advanced="1" wizard="1" xml:base="protocol/mapaclinherit.xml">
<description>
<para>This boolean parameter controls whether <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will attempt to map the 'inherit' and 'protected'
access control entry flags stored in Windows ACLs into an extended attribute
called user.SAMBA_PAI. This parameter only takes effect if Samba is being run
on a platform that supports extended attributes (Linux and IRIX so far) and
allows the Windows 2000 ACL editor to correctly use inheritance with the Samba
POSIX ACL mapping code.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="map archive" context="S" type="boolean" xml:base="filename/maparchive.xml">
<description>
<para>
This controls whether the DOS archive attribute
should be mapped to the UNIX owner execute bit. The DOS archive bit
is set when a file has been modified since its last backup. One
motivation for this option is to keep Samba/your PC from making
any file it touches from becoming executable under UNIX. This can
be quite annoying for shared source code, documents, etc...
</para>
<para>
Note that this requires the <smbconfoption name="create mask"/> parameter to be set such that owner
execute bit is not masked out (i.e. it must include 100). See the parameter
<smbconfoption name="create mask"/> for details.
</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="map hidden" context="S" type="boolean" xml:base="filename/maphidden.xml">
<description>
<para>
This controls whether DOS style hidden files should be mapped to the UNIX world execute bit.
</para>
<para>
Note that this requires the <smbconfoption name="create mask"/> to be set such that the world execute
bit is not masked out (i.e. it must include 001). See the parameter <smbconfoption name="create mask"/>
for details.
</para>
</description>
<value type="boolean">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="map read only" context="S" type="enum" xml:base="filename/mapreadonly.xml">
<description>
<para>
This controls how the DOS read only attribute should be mapped from a UNIX filesystem.
</para>
<para>
This parameter can take three different values, which tell <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> how to display the read only attribute on files, where either
<smbconfoption name="store dos attributes"/> is set to <constant>No</constant>, or no extended attribute is
present. If <smbconfoption name="store dos attributes"/> is set to <constant>yes</constant> then this
parameter is <emphasis>ignored</emphasis>. This is a new parameter introduced in Samba version 3.0.21.
</para>
<para>The three settings are :</para>
<itemizedlist>
<listitem><para>
<constant>Yes</constant> - The read only DOS attribute is mapped to the inverse of the user
or owner write bit in the unix permission mode set. If the owner write bit is not set, the
read only attribute is reported as being set on the file.
If the read only DOS attribute is set, Samba sets the owner, group and
others write bits to zero. Write bits set in an ACL are ignored by Samba.
If the read only DOS attribute is unset, Samba simply sets the write bit of the
owner to one.
</para></listitem>
<listitem><para>
<constant>Permissions</constant> - The read only DOS attribute is mapped to the effective permissions of
the connecting user, as evaluated by <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> by reading the unix permissions and POSIX ACL (if present).
If the connecting user does not have permission to modify the file, the read only attribute
is reported as being set on the file.
</para></listitem>
<listitem><para>
<constant>No</constant> - The read only DOS attribute is unaffected by permissions, and can only be set by
the <smbconfoption name="store dos attributes"/> method. This may be useful for exporting mounted CDs.
</para></listitem>
</itemizedlist>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="map system" context="S" type="boolean" xml:base="filename/mapsystem.xml">
<description>
<para>
This controls whether DOS style system files should be mapped to the UNIX group execute bit.
</para>
<para>
Note that this requires the <smbconfoption name="create mask"/> to be set such that the group
execute bit is not masked out (i.e. it must include 010). See the parameter
<smbconfoption name="create mask"/> for details.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="map to guest" type="enum" context="G" advanced="1" developer="1" xml:base="security/maptoguest.xml">
<description>
<para>This parameter is only useful in <smbconfoption name="SECURITY">
security</smbconfoption> modes other than <parameter moreinfo="none">security = share</parameter>
and <parameter moreinfo="none">security = server</parameter>
- i.e. <constant>user</constant>, and <constant>domain</constant>.</para>
<para>This parameter can take four different values, which tell
<citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> what to do with user
login requests that don't match a valid UNIX user in some way.</para>
<para>The four settings are :</para>
<itemizedlist>
<listitem>
<para><constant>Never</constant> - Means user login
requests with an invalid password are rejected. This is the
default.</para>
</listitem>
<listitem>
<para><constant>Bad User</constant> - Means user
logins with an invalid password are rejected, unless the username
does not exist, in which case it is treated as a guest login and
mapped into the <smbconfoption name="guest account"/>.</para>
</listitem>
<listitem>
<para><constant>Bad Password</constant> - Means user logins
with an invalid password are treated as a guest login and mapped
into the <smbconfoption name="guest account"/>. Note that
this can cause problems as it means that any user incorrectly typing
their password will be silently logged on as "guest" - and
will not know the reason they cannot access files they think
they should - there will have been no message given to them
that they got their password wrong. Helpdesk services will
<emphasis>hate</emphasis> you if you set the <parameter moreinfo="none">map to
guest</parameter> parameter this way :-).</para>
</listitem>
<listitem>
<para><constant>Bad Uid</constant> - Is only applicable when Samba is configured
in some type of domain mode security (security = {domain|ads}) and means that
user logins which are successfully authenticated but which have no valid Unix
user account (and smbd is unable to create one) should be mapped to the defined
guest account. This was the default behavior of Samba 2.x releases. Note that
if a member server is running winbindd, this option should never be required
because the nss_winbind library will export the Windows domain users and groups
to the underlying OS via the Name Service Switch interface.</para>
</listitem>
</itemizedlist>
<para>Note that this parameter is needed to set up "Guest"
share services when using <parameter moreinfo="none">security</parameter> modes other than
share and server. This is because in these modes the name of the resource being
requested is <emphasis>not</emphasis> sent to the server until after
the server has successfully authenticated the client so the server
cannot make authentication decisions at the correct time (connection
to the share) for "Guest" shares. This parameter is not useful with
<parameter moreinfo="none">security = server</parameter> as in this security mode
no information is returned about whether a user logon failed due to
a bad username or bad password, the same error is returned from a modern server
in both cases.</para>
<para>For people familiar with the older Samba releases, this
parameter maps to the old compile-time setting of the <constant>
GUEST_SESSSETUP</constant> value in local.h.</para>
</description>
<value type="default">Never</value>
<value type="example">Bad User</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max connections" context="S" type="integer" xml:base="tuning/maxconnections.xml">
<description>
<para>This option allows the number of simultaneous connections to a service to be limited.
If <parameter moreinfo="none">max connections</parameter> is greater than 0 then connections
will be refused if this number of connections to the service are already open. A value
of zero mean an unlimited number of connections may be made.</para>
<para>Record lock files are used to implement this feature. The lock files will be stored in
the directory specified by the <smbconfoption name="lock directory"/> option.</para>
</description>
<value type="default">0</value>
<value type="example">10</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max disk size" context="G" type="integer" developer="1" xml:base="tuning/maxdisksize.xml">
<description>
<para>This option allows you to put an upper limit
on the apparent size of disks. If you set this option to 100
then all shares will appear to be not larger than 100 MB in
size.</para>
<para>Note that this option does not limit the amount of
data you can put on the disk. In the above case you could still
store much more than 100 MB on the disk, but if a client ever asks
for the amount of free disk space or the total disk size then the
result will be bounded by the amount specified in <parameter moreinfo="none">max
disk size</parameter>.</para>
<para>This option is primarily useful to work around bugs
in some pieces of software that can't handle very large disks,
particularly disks over 1GB in size.</para>
<para>A <parameter moreinfo="none">max disk size</parameter> of 0 means no limit.</para>
</description>
<value type="default">0</value>
<value type="example">1000</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max log size" type="integer" context="G" developer="1" advanced="1" xml:base="logging/maxlogsize.xml">
<description>
<para>
This option (an integer in kilobytes) specifies the max size the log file should grow to.
Samba periodically checks the size and if it is exceeded it will rename the file, adding
a <filename moreinfo="none">.old</filename> extension.
</para>
<para>A size of 0 means no limit.
</para>
</description>
<value type="default">5000</value>
<value type="example">1000</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max mux" context="G" advanced="1" developer="1" type="integer" xml:base="protocol/maxmux.xml">
<description>
<para>This option controls the maximum number of
outstanding simultaneous SMB operations that Samba tells the client
it will allow. You should never need to set this parameter.</para>
</description>
<value type="default">50</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max open files" type="integer" context="G" advanced="1" developer="1" xml:base="tuning/maxopenfiles.xml">
<description>
<para>This parameter limits the maximum number of
open files that one <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> file
serving process may have open for a client at any one time. The
default for this parameter is set very high (10,000) as Samba uses
only one bit per unopened file.</para>
<para>The limit of the number of open files is usually set
by the UNIX per-process file descriptor limit rather than
this parameter so you should never need to touch this parameter.</para>
</description>
<value type="default">10000</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max print jobs" context="S" print="1" type="integer" xml:base="printing/maxprintjobs.xml">
<description>
<para>This parameter limits the maximum number of
jobs allowable in a Samba printer queue at any given moment.
If this number is exceeded, <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will remote "Out of Space" to the client.
</para>
</description>
<value type="default">1000</value>
<value type="example">5000</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max protocol" context="G" type="enum" developer="1" xml:base="protocol/maxprotocol.xml">
<description>
<para>The value of the parameter (a string) is the highest
protocol level that will be supported by the server.</para>
<para>Possible values are :</para>
<itemizedlist>
<listitem>
<para><constant>CORE</constant>: Earliest version. No
concept of user names.</para>
</listitem>
<listitem>
<para><constant>COREPLUS</constant>: Slight improvements on
CORE for efficiency.</para>
</listitem>
<listitem>
<para><constant>LANMAN1</constant>: First <emphasis>
modern</emphasis> version of the protocol. Long filename
support.</para>
</listitem>
<listitem>
<para><constant>LANMAN2</constant>: Updates to Lanman1 protocol.</para>
</listitem>
<listitem>
<para><constant>NT1</constant>: Current up to date version of the protocol.
Used by Windows NT. Known as CIFS.</para>
</listitem>
</itemizedlist>
<para>Normally this option should not be set as the automatic
negotiation phase in the SMB protocol takes care of choosing
the appropriate protocol.</para>
</description>
<related>min protocol</related>
<synonym>protocol</synonym>
<value type="default">NT1</value>
<value type="example">LANMAN1</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max reported print jobs" context="S" type="integer" print="1" xml:base="printing/maxreportedprintjobs.xml">
<description>
<para>
This parameter limits the maximum number of jobs displayed in a port monitor for
Samba printer queue at any given moment. If this number is exceeded, the excess
jobs will not be shown. A value of zero means there is no limit on the number of
print jobs reported.
</para>
</description>
<related>max print jobs</related>
<value type="default">0</value>
<value type="example">1000</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max smbd processes" type="integer" context="G" developer="1" xml:base="tuning/maxsmbdprocesses.xml">
<description>
<para>This parameter limits the maximum number of <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> processes concurrently running on a system and is intended
as a stopgap to prevent degrading service to clients in the event that the server has insufficient
resources to handle more than this number of connections. Remember that under normal operating
conditions, each user will have an <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> associated with him or her to handle connections to all
shares from a given host.</para>
</description>
<value type="default">0</value>
<value type="example">1000</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max stat cache size" context="G" developer="1" type="integer" xml:base="filename/maxstatcachesize.xml">
<description>
<para>This parameter limits the size in memory of any
<parameter moreinfo="none">stat cache</parameter> being used
to speed up case insensitive name mappings. It represents
the number of kilobyte (1024) units the stat cache can use.
A value of zero, meaning unlimited, is not advisable due to
increased memory useage. You should not need to change this
parameter.
</para>
</description>
<related>stat cache</related>
<value type="default">256</value>
<value type="example">100</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max ttl" context="G" type="integer" advanced="1" developer="1" xml:base="protocol/maxttl.xml">
<description>
<para>This option tells <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> what the default 'time to live'
of NetBIOS names should be (in seconds) when <command moreinfo="none">nmbd</command> is
requesting a name using either a broadcast packet or from a WINS server. You should
never need to change this parameter. The default is 3 days.</para>
</description>
<value type="default">259200</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max wins ttl" type="integer" context="G" advanced="1" developer="1" xml:base="protocol/maxwinsttl.xml">
<description>
<para>This option tells <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> when acting as a WINS server
(<smbconfoption name="wins support">yes</smbconfoption>) what the maximum
'time to live' of NetBIOS names that <command moreinfo="none">nmbd</command>
will grant will be (in seconds). You should never need to change this
parameter. The default is 6 days (518400 seconds).</para>
</description>
<related>min wins ttl</related>
<value type="default">518400</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="max xmit" context="G" type="integer" advanced="1" developer="1" xml:base="protocol/maxxmit.xml">
<description>
<para>This option controls the maximum packet size
that will be negotiated by Samba. The default is 16644, which
matches the behavior of Windows 2000. A value below 2048 is likely to cause problems.
You should never need to change this parameter from its default value.
</para>
</description>
<value type="default">16644</value>
<value type="example">8192</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="message command" context="G" type="string" advanced="1" developer="1" xml:base="misc/messagecommand.xml">
<description>
<para>This specifies what command to run when the
server receives a WinPopup style message.</para>
<para>This would normally be a command that would
deliver the message somehow. How this is to be done is
up to your imagination.</para>
<para>An example is:
<programlisting>
<command moreinfo="none">message command = csh -c 'xedit %s;rm %s' &</command>
</programlisting>
</para>
<para>This delivers the message using <command moreinfo="none">xedit</command>, then
removes it afterwards. <emphasis>NOTE THAT IT IS VERY IMPORTANT
THAT THIS COMMAND RETURN IMMEDIATELY</emphasis>. That's why I
have the '&' on the end. If it doesn't return immediately then
your PCs may freeze when sending messages (they should recover
after 30 seconds, hopefully).</para>
<para>All messages are delivered as the global guest user.
The command takes the standard substitutions, although <parameter moreinfo="none">
%u</parameter> won't work (<parameter moreinfo="none">%U</parameter> may be better
in this case).</para>
<para>Apart from the standard substitutions, some additional
ones apply. In particular:</para>
<itemizedlist>
<listitem>
<para><parameter moreinfo="none">%s</parameter> = the filename containing
the message.</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">%t</parameter> = the destination that
the message was sent to (probably the server name).</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">%f</parameter> = who the message
is from.</para>
</listitem>
</itemizedlist>
<para>You could make this command send mail, or whatever else
takes your fancy. Please let us know of any really interesting
ideas you have.</para>
<para>
Here's a way of sending the messages as mail to root:
<programlisting>
<command moreinfo="none">message command = /bin/mail -s 'message from %f on %m' root < %s; rm %s</command>
</programlisting>
</para>
<para>If you don't have a message command then the message
won't be delivered and Samba will tell the sender there was
an error. Unfortunately WfWg totally ignores the error code
and carries on regardless, saying that the message was delivered.
</para>
<para>
If you want to silently delete it then try:
<programlisting>
<command moreinfo="none">message command = rm %s</command>
</programlisting>
</para>
</description>
<value type="default"/>
<value type="example">csh -c 'xedit %s; rm %s' &</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="min print space" context="S" type="integer" print="1" xml:base="tuning/minprintspace.xml">
<description>
<para>This sets the minimum amount of free disk
space that must be available before a user will be able to spool
a print job. It is specified in kilobytes. The default is 0, which
means a user can always spool a print job.</para>
</description>
<related>printing</related>
<value type="default">0</value>
<value type="example">2000</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="min protocol" context="G" type="string" developer="1" xml:base="protocol/minprotocol.xml">
<description>
<para>The value of the parameter (a string) is the
lowest SMB protocol dialect than Samba will support. Please refer
to the <smbconfoption name="max protocol"/>
parameter for a list of valid protocol names and a brief description
of each. You may also wish to refer to the C source code in
<filename moreinfo="none">source/smbd/negprot.c</filename> for a listing of known protocol
dialects supported by clients.</para>
<para>If you are viewing this parameter as a security measure, you should
also refer to the <smbconfoption name="lanman auth"/> parameter. Otherwise, you should never need
to change this parameter.</para>
</description>
<value type="default">CORE</value>
<value type="example">NT1</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="min receivefile size" type="integer" context="G" advanced="1" developer="1" xml:base="protocol/minreceivefilesize.xml">
<description>
<para>This option changes the behavior of <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> when processing SMBwriteX calls. Any incoming
SMBwriteX call on a non-signed SMB/CIFS connection greater than this value will not be processed in the normal way but will
be passed to any underlying kernel recvfile or splice system call (if there is no such
call Samba will emulate in user space). This allows zero-copy writes directly from network
socket buffers into the filesystem buffer cache, if available. It may improve performance
but user testing is recommended. If set to zero Samba processes SMBwriteX calls in the
normal way. To enable POSIX large write support (SMB/CIFS writes up to 16Mb) this option must be
nonzero. The maximum value is 128k. Values greater than 128k will be silently set to 128k.</para>
<para>Note this option will have NO EFFECT if set on a SMB signed connection.</para>
<para>The default is zero, which diables this option.</para>
</description>
<related>min receivefile size</related>
<value type="default">0</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="min wins ttl" context="G" type="integer" advanced="1" developer="1" xml:base="protocol/minwinsttl.xml">
<description>
<para>This option tells <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>
when acting as a WINS server (<smbconfoption name="wins support">yes</smbconfoption>) what the minimum 'time to live'
of NetBIOS names that <command moreinfo="none">nmbd</command> will grant will be (in
seconds). You should never need to change this parameter. The default
is 6 hours (21600 seconds).</para>
</description>
<value type="default">21600</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="msdfs proxy" context="S" type="string" xml:base="vfs/msdfsproxy.xml">
<description>
<para>This parameter indicates that the share is a
stand-in for another CIFS share whose location is specified by
the value of the parameter. When clients attempt to connect to
this share, they are redirected to the proxied share using
the SMB-Dfs protocol.</para>
<para>Only Dfs roots can act as proxy shares. Take a look at the
<smbconfoption name="msdfs root"/> and <smbconfoption name="host msdfs"/>
options to find out how to set up a Dfs root share.</para>
</description>
<value type="example">\otherserver\someshare</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="msdfs root" context="S" tye="boolean" xml:base="vfs/msdfsroot.xml">
<description>
<para>If set to <constant>yes</constant>, Samba treats the
share as a Dfs root and allows clients to browse the
distributed file system tree rooted at the share directory.
Dfs links are specified in the share directory by symbolic
links of the form <filename>msdfs:serverA\\shareA,serverB\\shareB</filename>
and so on. For more information on setting up a Dfs tree on
Samba, refer to the MSDFS chapter in the Samba3-HOWTO book.</para>
</description>
<related>host msdfs</related>
<value type="default">no</value>
<para>See also <smbconfoption name="host msdfs"/></para>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="name cache timeout" context="G" type="integer" advanced="1" developer="1" xml:base="tuning/namecachetimeout.xml">
<description>
<para>Specifies the number of seconds it takes before
entries in samba's hostname resolve cache time out. If
the timeout is set to 0. the caching is disabled.
</para>
</description>
<value type="default">660</value>
<value type="example">0</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="name resolve order" context="G" type="list" advanced="1" wizard="1" developer="1" xml:base="protocol/nameresolveorder.xml">
<description>
<para>This option is used by the programs in the Samba
suite to determine what naming services to use and in what order
to resolve host names to IP addresses. Its main purpose to is to
control how netbios name resolution is performed. The option takes a space
separated string of name resolution options.</para>
<para>The options are: "lmhosts", "host",
"wins" and "bcast". They cause names to be
resolved as follows:</para>
<itemizedlist>
<listitem>
<para>
<constant>lmhosts</constant> : Lookup an IP address in the Samba lmhosts file. If the line in lmhosts has
no name type attached to the NetBIOS name (see the manpage for lmhosts for details) then
any name type matches for lookup.
</para>
</listitem>
<listitem>
<para>
<constant>host</constant> : Do a standard host name to IP address resolution, using the system
<filename moreinfo="none">/etc/hosts </filename>, NIS, or DNS lookups. This method of name resolution is
operating system depended for instance on IRIX or Solaris this may be controlled by the <filename moreinfo="none">/etc/nsswitch.conf</filename> file. Note that this method is used only if the NetBIOS name
type being queried is the 0x20 (server) name type or 0x1c (domain controllers). The latter case is only
useful for active directory domains and results in a DNS query for the SRV RR entry matching
_ldap._tcp.domain.
</para>
</listitem>
<listitem>
<para><constant>wins</constant> : Query a name with
the IP address listed in the <smbconfoption name="WINSSERVER"><parameter moreinfo="none">
wins server</parameter></smbconfoption> parameter. If no WINS server has
been specified this method will be ignored.</para>
</listitem>
<listitem>
<para><constant>bcast</constant> : Do a broadcast on
each of the known local interfaces listed in the <smbconfoption name="interfaces"/>
parameter. This is the least reliable of the name resolution
methods as it depends on the target host being on a locally
connected subnet.</para>
</listitem>
</itemizedlist>
<para>The example below will cause the local lmhosts file to be examined
first, followed by a broadcast attempt, followed by a normal
system hostname lookup.</para>
<para>When Samba is functioning in ADS security mode (<command moreinfo="none">security = ads</command>)
it is advised to use following settings for <parameter moreinfo="none">name resolve order</parameter>:</para>
<para><command moreinfo="none">name resolve order = wins bcast</command></para>
<para>DC lookups will still be done via DNS, but fallbacks to netbios names will
not inundate your DNS servers with needless querys for DOMAIN<0x1c> lookups.</para>
</description>
<value type="default">lmhosts host wins bcast</value>
<value type="example">lmhosts bcast host</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="netbios aliases" context="G" type="list" advanced="1" wizard="1" developer="1" xml:base="base/netbiosaliases.xml">
<description>
<para>This is a list of NetBIOS names that nmbd will
advertise as additional names by which the Samba server is known. This allows one machine
to appear in browse lists under multiple names. If a machine is acting as a browse server
or logon server none of these names will be advertised as either browse server or logon
servers, only the primary name of the machine will be advertised with these capabilities.
</para>
</description>
<related>netbios name</related>
<value type="default"><comment>empty string (no additional names)</comment></value>
<value type="example">TEST TEST1 TEST2</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="netbios name" context="G" basic="1" advanced="1" wizard="1" developer="1" xml:base="base/netbiosname.xml">
<description>
<para>
This sets the NetBIOS name by which a Samba server is known. By default it is the same as the first component
of the host's DNS name. If a machine is a browse server or logon server this name (or the first component of
the hosts DNS name) will be the name that these services are advertised under.
</para>
<para>
There is a bug in Samba-3 that breaks operation of browsing and access to shares if the netbios name
is set to the literal name <literal>PIPE</literal>. To avoid this problem, do not name your Samba-3
server <literal>PIPE</literal>.
</para>
</description>
<related>netbios aliases</related>
<value type="default"><comment>machine DNS name</comment></value>
<value type="example">MYNAME</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="netbios scope" context="G" type="string" advanced="1" developer="1" xml:base="base/netbiosscope.xml">
<description>
<para>This sets the NetBIOS scope that Samba will
operate under. This should not be set unless every machine
on your LAN also sets this value.</para>
</description>
<value type="default"/>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="nis homedir" context="G" type="boolean" advanced="1" developer="1" xml:base="misc/nishomedir.xml">
<description>
<para>Get the home share server from a NIS map. For
UNIX systems that use an automounter, the user's home directory
will often be mounted on a workstation on demand from a remote
server. </para>
<para>When the Samba logon server is not the actual home directory
server, but is mounting the home directories via NFS then two
network hops would be required to access the users home directory
if the logon server told the client to use itself as the SMB server
for home directories (one over SMB and one over NFS). This can
be very slow.</para>
<para>This option allows Samba to return the home share as
being on a different server to the logon server and as
long as a Samba daemon is running on the home directory server,
it will be mounted on the Samba client directly from the directory
server. When Samba is returning the home share to the client, it
will consult the NIS map specified in
<smbconfoption name="homedir map"/> and return the server
listed there.</para>
<para>Note that for this option to work there must be a working
NIS system and the Samba server with this option must also
be a logon server.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="nt acl support" context="S" advanced="1" wizard="1" type="boolean" xml:base="protocol/ntaclsupport.xml">
<description>
<para>This boolean parameter controls whether <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will attempt to map
UNIX permissions into Windows NT access control lists. The UNIX
permissions considered are the the traditional UNIX owner and
group permissions, as well as POSIX ACLs set on any files or
directories. This parameter was formally a global parameter in
releases prior to 2.2.2.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="ntlm auth" context="G" type="boolean" advanced="1" developer="1" xml:base="security/ntlmauth.xml">
<description>
<para>This parameter determines whether or not <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will attempt to
authenticate users using the NTLM encrypted password response.
If disabled, either the lanman password hash or an NTLMv2 response
will need to be sent by the client.</para>
<para>If this option, and <command moreinfo="none">lanman
auth</command> are both disabled, then only NTLMv2 logins will be
permited. Not all clients support NTLMv2, and most will require
special configuration to use it.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="nt pipe support" context="G" advanced="1" developer="1" type="boolean" xml:base="protocol/ntpipesupport.xml">
<description>
<para>This boolean parameter controls whether
<citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will allow Windows NT
clients to connect to the NT SMB specific <constant>IPC$</constant>
pipes. This is a developer debugging option and can be left
alone.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="nt status support" context="G" type="boolean" advanced="1" developer="1" xml:base="protocol/ntstatussupport.xml">
<description>
<para>This boolean parameter controls whether <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will negotiate NT specific status
support with Windows NT/2k/XP clients. This is a developer debugging option and should be left alone.
If this option is set to <constant>no</constant> then Samba offers
exactly the same DOS error codes that versions prior to Samba 2.2.3
reported.</para>
<para>You should not need to ever disable this parameter.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="null passwords" context="G" advanced="1" developer="1" type="boolean" xml:base="security/nullpasswords.xml">
<description>
<para>Allow or disallow client access to accounts that have null passwords. </para>
<para>See also <citerefentry><refentrytitle>smbpasswd</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="obey pam restrictions" context="G" type="boolean" advanced="1" developer="1" xml:base="security/obeypamrestrictions.xml">
<description>
<para>When Samba 3.0 is configured to enable PAM support
(i.e. --with-pam), this parameter will control whether or not Samba
should obey PAM's account and session management directives. The
default behavior is to use PAM for clear text authentication only
and to ignore any account or session management. Note that Samba
always ignores PAM for authentication in the case of <smbconfoption name="encrypt passwords">yes</smbconfoption>. The reason
is that PAM modules cannot support the challenge/response
authentication mechanism needed in the presence of SMB password encryption.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="only user" type="boolean" context="S" xml:base="security/onlyuser.xml">
<description>
<para>This is a boolean option that controls whether
connections with usernames not in the <parameter moreinfo="none">user</parameter>
list will be allowed. By default this option is disabled so that a
client can supply a username to be used by the server. Enabling
this parameter will force the server to only use the login
names from the <parameter moreinfo="none">user</parameter> list and is only really
useful in <smbconfoption name="security">share</smbconfoption> level security.</para>
<para>Note that this also means Samba won't try to deduce
usernames from the service name. This can be annoying for
the [homes] section. To get around this you could use <command moreinfo="none">user =
%S</command> which means your <parameter moreinfo="none">user</parameter> list
will be just the service name, which for home directories is the
name of the user.</para>
</description>
<related>user</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="oplock break wait time" context="G" type="integer" xml:base="locking/oplockbreakwaittime.xml">
<description>
<para>
This is a tuning parameter added due to bugs in both Windows 9x and WinNT. If Samba responds to a client too
quickly when that client issues an SMB that can cause an oplock break request, then the network client can
fail and not respond to the break request. This tuning parameter (which is set in milliseconds) is the amount
of time Samba will wait before sending an oplock break request to such (broken) clients.
</para>
<warning><para>
DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ AND UNDERSTOOD THE SAMBA OPLOCK CODE.
</para></warning>
</description>
<value type="default">0</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="oplock contention limit" context="S" type="integer" xml:base="locking/oplockcontentionlimit.xml">
<description>
<para>
This is a <emphasis>very</emphasis> advanced <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> tuning option to improve the efficiency of the
granting of oplocks under multiple client contention for the same file.
</para>
<para>
In brief it specifies a number, which causes <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>not to grant an oplock even when requested if the
approximate number of clients contending for an oplock on the same file goes over this
limit. This causes <command moreinfo="none">smbd</command> to behave in a similar
way to Windows NT.
</para>
<warning><para>
DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ AND UNDERSTOOD THE SAMBA OPLOCK CODE.
</para></warning>
</description>
<value type="default">2</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="oplocks" context="S" type="boolean" xml:base="locking/oplocks.xml">
<description>
<para>
This boolean option tells <command moreinfo="none">smbd</command> whether to
issue oplocks (opportunistic locks) to file open requests on this
share. The oplock code can dramatically (approx. 30% or more) improve
the speed of access to files on Samba servers. It allows the clients
to aggressively cache files locally and you may want to disable this
option for unreliable network environments (it is turned on by
default in Windows NT Servers). For more information see the file
<filename moreinfo="none">Speed.txt</filename> in the Samba
<filename moreinfo="none">docs/</filename> directory.
</para>
<para>
Oplocks may be selectively turned off on certain files with a share. See
the <smbconfoption name="veto oplock files"/> parameter. On some systems
oplocks are recognized by the underlying operating system. This
allows data synchronization between all access to oplocked files,
whether it be via Samba or NFS or a local UNIX process. See the
<smbconfoption name="kernel oplocks"/> parameter for details.
</para>
</description>
<related>kernel oplocks</related>
<related>level2 oplocks</related>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="os2 driver map" context="G" advanced="1" developer="1" type="string" xml:base="printing/os2drivermap.xml">
<description>
<para>The parameter is used to define the absolute
path to a file containing a mapping of Windows NT printer driver
names to OS/2 printer driver names. The format is:</para>
<para><nt driver name> = <os2 driver name>.<device name></para>
<para>For example, a valid entry using the HP LaserJet 5
printer driver would appear as <command moreinfo="none">HP LaserJet 5L = LASERJET.HP
LaserJet 5L</command>.</para>
<para>
The need for the file is due to the printer driver namespace problem described in
the chapter on Classical Printing in the Samba3-HOWTO book. For more
details on OS/2 clients, please refer to chapter on other clients in the Samba3-HOWTO book.
</para>
</description>
<value type="default"/>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="os level" context="G" type="integer" basic="1" advanced="1" developer="1" xml:base="browse/oslevel.xml">
<description>
<para>
This integer value controls what level Samba advertises itself as for browse elections. The value of this
parameter determines whether <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> has a chance of becoming a local master browser for the <smbconfoption name="workgroup"/> in the local broadcast area.
</para>
<para><emphasis>
Note:</emphasis> By default, Samba will win a local master browsing election over all Microsoft operating
systems except a Windows NT 4.0/2000 Domain Controller. This means that a misconfigured Samba host can
effectively isolate a subnet for browsing purposes. This parameter is largely auto-configured in the Samba-3
release series and it is seldom necessary to manually override the default setting. Please refer to
the chapter on Network Browsing in the Samba-3 HOWTO document for further information regarding the use
of this parameter.
<emphasis>Note:</emphasis> The maximum value for this parameter is 255. If you use higher values, counting
will start at 0!
</para>
</description>
<value type="default">20</value>
<value type="example">65</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="pam password change" context="G" type="boolean" advanced="1" developer="1" xml:base="security/pampasswordchange.xml">
<description>
<para>With the addition of better PAM support in Samba 2.2,
this parameter, it is possible to use PAM's password change control
flag for Samba. If enabled, then PAM will be used for password
changes when requested by an SMB client instead of the program listed in
<smbconfoption name="passwd program"/>.
It should be possible to enable this without changing your
<smbconfoption name="passwd chat"/> parameter for most setups.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="panic action" context="G" type="string" advanced="1" developer="1" xml:base="misc/panicaction.xml">
<description>
<para>This is a Samba developer option that allows a
system command to be called when either <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> or <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> crashes. This is usually used to
draw attention to the fact that a problem occurred.
</para>
</description>
<value type="default"/>
<value type="example">"/bin/sleep 90000"</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="paranoid server security" context="G" type="boolean" developer="1" xml:base="tuning/paranoidserversecurity.xml">
<description>
<para>Some version of NT 4.x allow non-guest
users with a bad passowrd. When this option is enabled, samba will not
use a broken NT 4.x server as password server, but instead complain
to the logs and exit.
</para>
<para>Disabling this option prevents Samba from making
this check, which involves deliberatly attempting a
bad logon to the remote server.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="passdb backend" context="G" type="list" advanced="1" developer="1" xml:base="security/passdbbackend.xml">
<description>
<para>This option allows the administrator to chose which backend
will be used for storing user and possibly group information. This allows
you to swap between different storage mechanisms without recompile. </para>
<para>The parameter value is divided into two parts, the backend's name, and a 'location'
string that has meaning only to that particular backed. These are separated
by a : character.</para>
<para>Available backends can include:
<itemizedlist>
<listitem>
<para><command moreinfo="none">smbpasswd</command> - The default smbpasswd
backend. Takes a path to the smbpasswd file as an optional argument.
</para>
</listitem>
<listitem>
<para><command moreinfo="none">tdbsam</command> - The TDB based password storage
backend. Takes a path to the TDB as an optional argument (defaults to passdb.tdb
in the <smbconfoption name="private dir"/> directory.</para>
</listitem>
<listitem>
<para><command moreinfo="none">ldapsam</command> - The LDAP based passdb
backend. Takes an LDAP URL as an optional argument (defaults to
<command moreinfo="none">ldap://localhost</command>)</para>
<para>LDAP connections should be secured where possible. This may be done using either
Start-TLS (see <smbconfoption name="ldap ssl"/>) or by
specifying <parameter moreinfo="none">ldaps://</parameter> in
the URL argument. </para>
<para>Multiple servers may also be specified in double-quotes.
Whether multiple servers are supported or not and the exact
syntax depends on the LDAP library you use.
</para>
</listitem>
</itemizedlist>
</para>
Examples of use are:
<programlisting>
passdb backend = tdbsam:/etc/samba/private/passdb.tdb
or multi server LDAP URL with OpenLDAP library:
passdb backend = ldapsam:"ldap://ldap-1.example.com ldap://ldap-2.example.com"
or multi server LDAP URL with Netscape based LDAP library:
passdb backend = ldapsam:"ldap://ldap-1.example.com ldap-2.example.com"
</programlisting>
</description>
<value type="default">smbpasswd</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="passdb expand explicit" context="G" advanced="1" developer="0" type="boolean" xml:base="security/passdbexpandexplicit.xml">
<description>
<para>
This parameter controls whether Samba substitutes %-macros in the passdb fields if they are explicitly set. We
used to expand macros here, but this turned out to be a bug because the Windows client can expand a variable
%G_osver% in which %G would have been substituted by the user's primary group.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="passwd chat debug" context="G" advanced="1" developer="1" type="boolean" xml:base="security/passwdchatdebug.xml">
<description>
<para>This boolean specifies if the passwd chat script
parameter is run in <emphasis>debug</emphasis> mode. In this mode the
strings passed to and received from the passwd chat are printed
in the <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> log with a
<smbconfoption name="debug level"/>
of 100. This is a dangerous option as it will allow plaintext passwords
to be seen in the <command moreinfo="none">smbd</command> log. It is available to help
Samba admins debug their <parameter moreinfo="none">passwd chat</parameter> scripts
when calling the <parameter moreinfo="none">passwd program</parameter> and should
be turned off after this has been done. This option has no effect if the
<smbconfoption name="pam password change"/>
parameter is set. This parameter is off by default.</para>
</description>
<related>passwd chat</related>
<related>pam password change</related>
<related>passwd program</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="passwd chat timeout" context="G" type="integer" advanced="1" developer="1" xml:base="security/passwdchattimeout.xml">
<description>
<para>This integer specifies the number of seconds smbd will wait for an initial
answer from a passwd chat script being run. Once the initial answer is received
the subsequent answers must be received in one tenth of this time. The default it
two seconds.</para>
</description>
<value type="default">2</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="passwd chat" context="G" type="string" advanced="1" developer="1" xml:base="security/passwdchat.xml">
<description>
<para>This string controls the <emphasis>"chat"</emphasis>
conversation that takes places between <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> and the local password changing
program to change the user's password. The string describes a
sequence of response-receive pairs that <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> uses to determine what to send to the
<smbconfoption name="passwd program"/> and what to expect back. If the expected output is not
received then the password is not changed.</para>
<para>This chat sequence is often quite site specific, depending
on what local methods are used for password control (such as NIS
etc).</para>
<para>Note that this parameter only is used if the <smbconfoption name="unix password sync"/> parameter is set to <constant>yes</constant>. This sequence is
then called <emphasis>AS ROOT</emphasis> when the SMB password in the
smbpasswd file is being changed, without access to the old password
cleartext. This means that root must be able to reset the user's password without
knowing the text of the previous password. In the presence of
NIS/YP, this means that the <smbconfoption name="passwd program"/> must
be executed on the NIS master.
</para>
<para>The string can contain the macro <parameter moreinfo="none">%n</parameter> which is substituted
for the new password. The old passsword (<parameter moreinfo="none">%o</parameter>) is only available when
<smbconfoption name="encrypt passwords"/> has been disabled.
The chat sequence can also contain the standard macros
\n, \r, \t and \s to give line-feed, carriage-return, tab
and space. The chat sequence string can also contain
a '*' which matches any sequence of characters. Double quotes can
be used to collect strings with spaces in them into a single
string.</para>
<para>If the send string in any part of the chat sequence is a full
stop ".", then no string is sent. Similarly, if the
expect string is a full stop then no string is expected.</para>
<para>If the <smbconfoption name="pam password change"/> parameter is set to <constant>yes</constant>, the
chat pairs may be matched in any order, and success is determined by the PAM result, not any particular
output. The \n macro is ignored for PAM conversions.
</para>
</description>
<related>unix password sync</related>
<related>passwd program</related>
<related>passwd chat debug</related>
<related>pam password change</related>
<value type="default">*new*password* %n\n*new*password* %n\n *changed*</value>
<value type="example">"*Enter NEW password*" %n\n "*Reenter NEW password*" %n\n "*Password changed*"</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="passwd program" context="G" type="string" advanced="1" developer="1" xml:base="security/passwdprogram.xml">
<description>
<para>The name of a program that can be used to set
UNIX user passwords. Any occurrences of <parameter moreinfo="none">%u</parameter>
will be replaced with the user name. The user name is checked for
existence before calling the password changing program.</para>
<para>Also note that many passwd programs insist in <emphasis>reasonable
</emphasis> passwords, such as a minimum length, or the inclusion
of mixed case chars and digits. This can pose a problem as some clients
(such as Windows for Workgroups) uppercase the password before sending
it.</para>
<para><emphasis>Note</emphasis> that if the <parameter moreinfo="none">unix
password sync</parameter> parameter is set to <constant>yes
</constant> then this program is called <emphasis>AS ROOT</emphasis>
before the SMB password in the smbpasswd
file is changed. If this UNIX password change fails, then
<command moreinfo="none">smbd</command> will fail to change the SMB password also
(this is by design).</para>
<para>If the <parameter moreinfo="none">unix password sync</parameter> parameter
is set this parameter <emphasis>MUST USE ABSOLUTE PATHS</emphasis>
for <emphasis>ALL</emphasis> programs called, and must be examined
for security implications. Note that by default <parameter moreinfo="none">unix
password sync</parameter> is set to <constant>no</constant>.</para>
</description>
<related>unix password symc</related>
<value type="default"/>
<value type="example">/bin/passwd %u</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="password level" context="G" type="integer" advanced="1" developer="1" xml:base="security/passwordlevel.xml">
<description>
<para>Some client/server combinations have difficulty
with mixed-case passwords. One offending client is Windows for
Workgroups, which for some reason forces passwords to upper
case when using the LANMAN1 protocol, but leaves them alone when
using COREPLUS! Another problem child is the Windows 95/98
family of operating systems. These clients upper case clear
text passwords even when NT LM 0.12 selected by the protocol
negotiation request/response.</para>
<para>This parameter defines the maximum number of characters
that may be upper case in passwords.</para>
<para>For example, say the password given was "FRED". If <parameter moreinfo="none">
password level</parameter> is set to 1, the following combinations
would be tried if "FRED" failed:</para>
<para>"Fred", "fred", "fRed", "frEd","freD"</para>
<para>If <parameter moreinfo="none">password level</parameter> was set to 2,
the following combinations would also be tried: </para>
<para>"FRed", "FrEd", "FreD", "fREd", "fReD", "frED", ..</para>
<para>And so on.</para>
<para>The higher value this parameter is set to the more likely
it is that a mixed case password will be matched against a single
case password. However, you should be aware that use of this
parameter reduces security and increases the time taken to
process a new connection.</para>
<para>A value of zero will cause only two attempts to be
made - the password as is and the password in all-lower case.</para>
<para>This parameter is used only when using plain-text passwords. It is
not at all used when encrypted passwords as in use (that is the default
since samba-3.0.0). Use this only when <smbconfoption name="encrypt passwords">No</smbconfoption>.</para>
</description>
<value type="default">0</value>
<value type="example">4</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="password server" context="G" type="list" advanced="1" wizard="1" developer="1" xml:base="security/passwordserver.xml">
<description>
<para>By specifying the name of another SMB server
or Active Directory domain controller with this option,
and using <command moreinfo="none">security = [ads|domain|server]</command>
it is possible to get Samba to
to do all its username/password validation using a specific remote server.</para>
<para>This option sets the name or IP address of the password server to use.
New syntax has been added to support defining the port to use when connecting
to the server the case of an ADS realm. To define a port other than the
default LDAP port of 389, add the port number using a colon after the
name or IP address (e.g. 192.168.1.100:389). If you do not specify a port,
Samba will use the standard LDAP port of tcp/389. Note that port numbers
have no effect on password servers for Windows NT 4.0 domains or netbios
connections.</para>
<para>If parameter is a name, it is looked up using the
parameter <smbconfoption name="name resolve order"/> and so may resolved
by any method and order described in that parameter.</para>
<para>The password server must be a machine capable of using
the "LM1.2X002" or the "NT LM 0.12" protocol, and it must be in
user level security mode.</para>
<note><para>Using a password server means your UNIX box (running
Samba) is only as secure as your password server. <emphasis>DO NOT
CHOOSE A PASSWORD SERVER THAT YOU DON'T COMPLETELY TRUST</emphasis>.
</para></note>
<para>Never point a Samba server at itself for password serving.
This will cause a loop and could lock up your Samba server!</para>
<para>The name of the password server takes the standard
substitutions, but probably the only useful one is <parameter moreinfo="none">%m
</parameter>, which means the Samba server will use the incoming
client as the password server. If you use this then you better
trust your clients, and you had better restrict them with hosts allow!</para>
<para>If the <parameter moreinfo="none">security</parameter> parameter is set to
<constant>domain</constant> or <constant>ads</constant>, then the list of machines in this
option must be a list of Primary or Backup Domain controllers for the
Domain or the character '*', as the Samba server is effectively
in that domain, and will use cryptographically authenticated RPC calls
to authenticate the user logging on. The advantage of using <command moreinfo="none">
security = domain</command> is that if you list several hosts in the
<parameter moreinfo="none">password server</parameter> option then <command moreinfo="none">smbd
</command> will try each in turn till it finds one that responds. This
is useful in case your primary server goes down.</para>
<para>If the <parameter moreinfo="none">password server</parameter> option is set
to the character '*', then Samba will attempt to auto-locate the
Primary or Backup Domain controllers to authenticate against by
doing a query for the name <constant>WORKGROUP<1C></constant>
and then contacting each server returned in the list of IP
addresses from the name resolution source. </para>
<para>If the list of servers contains both names/IP's and the '*'
character, the list is treated as a list of preferred
domain controllers, but an auto lookup of all remaining DC's
will be added to the list as well. Samba will not attempt to optimize
this list by locating the closest DC.</para>
<para>If the <parameter moreinfo="none">security</parameter> parameter is
set to <constant>server</constant>, then there are different
restrictions that <command moreinfo="none">security = domain</command> doesn't
suffer from:</para>
<itemizedlist>
<listitem>
<para>You may list several password servers in
the <parameter moreinfo="none">password server</parameter> parameter, however if an
<command moreinfo="none">smbd</command> makes a connection to a password server,
and then the password server fails, no more users will be able
to be authenticated from this <command moreinfo="none">smbd</command>. This is a
restriction of the SMB/CIFS protocol when in <command moreinfo="none">security = server
</command> mode and cannot be fixed in Samba.</para>
</listitem>
<listitem>
<para>If you are using a Windows NT server as your
password server then you will have to ensure that your users
are able to login from the Samba server, as when in <command moreinfo="none">
security = server</command> mode the network logon will appear to
come from there rather than from the users workstation.</para>
</listitem>
</itemizedlist>
</description>
<related>security</related>
<value type="default">*</value>
<value type="example">NT-PDC, NT-BDC1, NT-BDC2, *</value>
<value type="example">windc.mydomain.com:389 192.168.1.101 *</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="path" context="S" basic="1" advanced="1" share="1" print="1" developer="1" xml:base="base/path.xml">
<synonym>directory</synonym>
<description>
<para>This parameter specifies a directory to which
the user of the service is to be given access. In the case of
printable services, this is where print data will spool prior to
being submitted to the host for printing.</para>
<para>For a printable service offering guest access, the service
should be readonly and the path should be world-writeable and
have the sticky bit set. This is not mandatory of course, but
you probably won't get the results you expect if you do
otherwise.</para>
<para>Any occurrences of <parameter moreinfo="none">%u</parameter> in the path
will be replaced with the UNIX username that the client is using
on this connection. Any occurrences of <parameter moreinfo="none">%m</parameter>
will be replaced by the NetBIOS name of the machine they are
connecting from. These replacements are very useful for setting
up pseudo home directories for users.</para>
<para>Note that this path will be based on <smbconfoption name="root dir"/>
if one was specified.</para>
</description>
<value type="default"/>
<value type="example">/home/fred</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="pid directory" context="G" type="string" advanced="1" developer="1" xml:base="misc/piddirectory.xml">
<description>
<para>
This option specifies the directory where pid files will be placed.
</para>
</description>
<value type="default">${prefix}/var/locks</value>
<value type="example">pid directory = /var/run/</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="posix locking" type="boolean" context="S" xml:base="locking/posixlocking.xml">
<description>
<para>
The <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry>
daemon maintains an database of file locks obtained by SMB clients. The default behavior is
to map this internal database to POSIX locks. This means that file locks obtained by SMB clients are
consistent with those seen by POSIX compliant applications accessing the files via a non-SMB
method (e.g. NFS or local file access). You should never need to disable this parameter.
</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="postexec" context="S" type="string" advanced="1" developer="1" xml:base="misc/postexec.xml">
<description>
<para>This option specifies a command to be run
whenever the service is disconnected. It takes the usual
substitutions. The command may be run as the root on some
systems.</para>
<para>An interesting example may be to unmount server
resources:</para>
<para><command moreinfo="none">postexec = /etc/umount /cdrom</command></para>
</description>
<related>preexec</related>
<value type="default"/>
<value type="example">echo \"%u disconnected from %S from %m (%I)\" >> /tmp/log</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="preexec close" context="S" type="boolean" advanced="1" developer="1" xml:base="misc/preexecclose.xml">
<description>
<para>
This boolean option controls whether a non-zero return code from <smbconfoption name="preexec"/>
should close the service being connected to.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="preexec" context="S" type="string" advanced="1" developer="1" xml:base="misc/preexec.xml">
<synonym>exec</synonym>
<description>
<para>This option specifies a command to be run whenever
the service is connected to. It takes the usual substitutions.</para>
<para>An interesting example is to send the users a welcome
message every time they log in. Maybe a message of the day? Here
is an example:</para>
<para>
<command moreinfo="none">preexec = csh -c 'echo \"Welcome to %S!\" |
/usr/local/samba/bin/smbclient -M %m -I %I' & </command>
</para>
<para>Of course, this could get annoying after a while :-)</para>
<para>
See also <smbconfoption name="preexec close"/> and <smbconfoption name="postexec"/>.
</para>
</description>
<value type="default"/>
<value type="example">echo \"%u connected to %S from %m (%I)\" >> /tmp/log</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="preferred master" context="G" type="boolean-auto" basic="1" advanced="1" developer="1" xml:base="browse/preferredmaster.xml">
<synonym>prefered master</synonym>
<description>
<para>
This boolean parameter controls if <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> is a preferred master browser for its workgroup.
</para>
<para>
If this is set to <constant>yes</constant>, on startup, <command moreinfo="none">nmbd</command> will force
an election, and it will have a slight advantage in winning the election. It is recommended that this
parameter is used in conjunction with <smbconfoption name="domain master">yes</smbconfoption>, so that
<command moreinfo="none">nmbd</command> can guarantee becoming a domain master.
</para>
<para>
Use this option with caution, because if there are several hosts (whether Samba servers, Windows 95 or NT)
that are preferred master browsers on the same subnet, they will each periodically and continuously attempt
to become the local master browser. This will result in unnecessary broadcast traffic and reduced browsing
capabilities.
</para>
</description>
<related>os level</related>
<value type="default">auto</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="preload modules" type="list" context="G" basic="1" xml:base="security/preloadmodules.xml">
<description>
<para>This is a list of paths to modules that should
be loaded into smbd before a client connects. This improves
the speed of smbd when reacting to new connections somewhat. </para>
</description>
<value type="default"/>
<value type="example">/usr/lib/samba/passdb/mysql.so</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="preload" context="G" advanced="1" developer="1" type="string" xml:base="misc/preload.xml">
<synonym>auto services</synonym>
<description>
<para>This is a list of services that you want to be
automatically added to the browse lists. This is most useful
for homes and printers services that would otherwise not be
visible.</para>
<para>
Note that if you just want all printers in your
printcap file loaded then the <smbconfoption name="load printers"/>
option is easier.
</para>
</description>
<value type="default"/>
<value type="example">fred lp colorlp</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="preserve case" context="S" type="boolean" xml:base="filename/preservecase.xml">
<description>
<para>
This controls if new filenames are created with the case that the client passes, or if
they are forced to be the <smbconfoption name="default case"/>.
</para>
<para>
See the section on <link linkend="NAMEMANGLINGSECT">NAME MANGLING</link> for a fuller discussion.
</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="printable" context="S" print="1" type="boolean" xml:base="printing/printable.xml">
<synonym>print ok</synonym>
<description>
<para>If this parameter is <constant>yes</constant>, then
clients may open, write to and submit spool files on the directory
specified for the service. </para>
<para>Note that a printable service will ALWAYS allow writing
to the service path (user privileges permitting) via the spooling
of print data. The <smbconfoption name="read only"/> parameter controls only non-printing access to
the resource.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="printcap cache time" context="G" type="integer" print="1" developer="1" xml:base="printing/printcapcachetime.xml">
<description>
<para>This option specifies the number of seconds before the printing
subsystem is again asked for the known printers. If the value
is greater than 60 the initial waiting time is set to 60 seconds
to allow an earlier first rescan of the printing subsystem.
</para>
<para>Setting this parameter to 0 disables any rescanning for new
or removed printers after the initial startup.
</para>
</description>
<value type="default">750</value>
<value type="example">600</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="printcap name" context="G" type="string" print="1" developer="1" xml:base="printing/printcapname.xml">
<synonym>printcap</synonym>
<description>
<para>
This parameter may be used to override the compiled-in default printcap name used by the server (usually
<filename moreinfo="none"> /etc/printcap</filename>). See the discussion of the <link linkend="PRINTERSSECT">[printers]</link> section above for reasons why you might want to do this.
</para>
<para>
To use the CUPS printing interface set <command moreinfo="none">printcap name = cups </command>. This should
be supplemented by an addtional setting <smbconfoption name="printing">cups</smbconfoption> in the [global]
section. <command moreinfo="none">printcap name = cups</command> will use the "dummy" printcap
created by CUPS, as specified in your CUPS configuration file.
</para>
<para>
On System V systems that use <command moreinfo="none">lpstat</command> to
list available printers you can use <command moreinfo="none">printcap name = lpstat
</command> to automatically obtain lists of available printers. This
is the default for systems that define SYSV at configure time in
Samba (this includes most System V based systems). If <parameter moreinfo="none">
printcap name</parameter> is set to <command moreinfo="none">lpstat</command> on
these systems then Samba will launch <command moreinfo="none">lpstat -v</command> and
attempt to parse the output to obtain a printer list.
</para>
<para>
A minimal printcap file would look something like this:
<programlisting format="linespecific">
print1|My Printer 1
print2|My Printer 2
print3|My Printer 3
print4|My Printer 4
print5|My Printer 5
</programlisting>
where the '|' separates aliases of a printer. The fact that the second alias has a space in
it gives a hint to Samba that it's a comment.
</para>
<note><para>
Under AIX the default printcap name is <filename moreinfo="none">/etc/qconfig</filename>. Samba will
assume the file is in AIX <filename moreinfo="none">qconfig</filename> format if the string <filename moreinfo="none">qconfig</filename> appears in the printcap filename.
</para></note>
</description>
<value type="default">/etc/printcap</value>
<value type="example">/etc/myprintcap</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="print command" context="S" type="string" print="1" xml:base="printing/printcommand.xml">
<description>
<para>After a print job has finished spooling to
a service, this command will be used via a <command moreinfo="none">system()</command>
call to process the spool file. Typically the command specified will
submit the spool file to the host's printing subsystem, but there
is no requirement that this be the case. The server will not remove
the spool file, so whatever command you specify should remove the
spool file when it has been processed, otherwise you will need to
manually remove old spool files.</para>
<para>The print command is simply a text string. It will be used
verbatim after macro substitutions have been made:</para>
<para>%s, %f - the path to the spool
file name</para>
<para>%p - the appropriate printer
name</para>
<para>%J - the job
name as transmitted by the client.</para>
<para>%c - The number of printed pages
of the spooled job (if known).</para>
<para>%z - the size of the spooled
print job (in bytes)</para>
<para>The print command <emphasis>MUST</emphasis> contain at least
one occurrence of <parameter moreinfo="none">%s</parameter> or <parameter moreinfo="none">%f
</parameter> - the <parameter moreinfo="none">%p</parameter> is optional. At the time
a job is submitted, if no printer name is supplied the <parameter moreinfo="none">%p
</parameter> will be silently removed from the printer command.</para>
<para>If specified in the [global] section, the print command given
will be used for any printable service that does not have its own
print command specified.</para>
<para>If there is neither a specified print command for a
printable service nor a global print command, spool files will
be created but not processed and (most importantly) not removed.</para>
<para>Note that printing may fail on some UNIXes from the
<constant>nobody</constant> account. If this happens then create
an alternative guest account that can print and set the <smbconfoption name="guest account"/>
in the [global] section.</para>
<para>You can form quite complex print commands by realizing
that they are just passed to a shell. For example the following
will log a print job, print the file, then remove it. Note that
';' is the usual separator for command in shell scripts.</para>
<para><command moreinfo="none">print command = echo Printing %s >>
/tmp/print.log; lpr -P %p %s; rm %s</command></para>
<para>You may have to vary this command considerably depending
on how you normally print files on your system. The default for
the parameter varies depending on the setting of the <smbconfoption name="printing"/>
parameter.</para>
<para>Default: For <command moreinfo="none">printing = BSD, AIX, QNX, LPRNG
or PLP :</command></para>
<para><command moreinfo="none">print command = lpr -r -P%p %s</command></para>
<para>For <command moreinfo="none">printing = SYSV or HPUX :</command></para>
<para><command moreinfo="none">print command = lp -c -d%p %s; rm %s</command></para>
<para>For <command moreinfo="none">printing = SOFTQ :</command></para>
<para><command moreinfo="none">print command = lp -d%p -s %s; rm %s</command></para>
<para>For printing = CUPS : If SAMBA is compiled against
libcups, then <smbconfoption name="printcap">cups</smbconfoption>
uses the CUPS API to
submit jobs, etc. Otherwise it maps to the System V
commands with the -oraw option for printing, i.e. it
uses <command moreinfo="none">lp -c -d%p -oraw; rm %s</command>.
With <command moreinfo="none">printing = cups</command>,
and if SAMBA is compiled against libcups, any manually
set print command will be ignored.</para>
</description>
<value type="example">/usr/local/samba/bin/myprintscript %p %s</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="printer admin" context="S" type="list" print="1" xml:base="security/printeradmin.xml">
<description>
<para>
This lists users who can do anything to printers
via the remote administration interfaces offered
by MS-RPC (usually using a NT workstation).
This parameter can be set per-share or globally.
Note: The root user always has admin rights. Use
caution with use in the global stanza as this can
cause side effects.
</para>
<para>
This parameter has been marked deprecated in favor
of using the SePrintOperatorPrivilege and individual
print security descriptors. It will be removed in a future release.
</para>
</description>
<value type="default"/>
<value type="example">admin, @staff</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="printer name" context="S" print="1" type="string" xml:base="printing/printername.xml">
<synonym>printer</synonym>
<description>
<para>
This parameter specifies the name of the printer to which print jobs spooled through a printable service
will be sent.
</para>
<para>
If specified in the [global] section, the printer name given will be used for any printable service that
does not have its own printer name specified.
</para>
<para>
The default value of the <smbconfoption name="printer name"/> may be <literal>lp</literal> on many
systems.
</para>
</description>
<value type="default">none</value>
<value type="example">laserwriter</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="printing" context="S" type="enum" print="1" xml:base="printing/printing.xml">
<description>
<para>This parameters controls how printer status information is
interpreted on your system. It also affects the default values for
the <parameter moreinfo="none">print command</parameter>, <parameter moreinfo="none">lpq command</parameter>, <parameter moreinfo="none">lppause command </parameter>, <parameter moreinfo="none">lpresume command</parameter>, and <parameter moreinfo="none">lprm command</parameter> if specified in the
[global] section.</para>
<para>Currently nine printing styles are supported. They are
<constant>BSD</constant>, <constant>AIX</constant>,
<constant>LPRNG</constant>, <constant>PLP</constant>,
<constant>SYSV</constant>, <constant>HPUX</constant>,
<constant>QNX</constant>, <constant>SOFTQ</constant>,
and <constant>CUPS</constant>.</para>
<para>To see what the defaults are for the other print
commands when using the various options use the <citerefentry><refentrytitle>testparm</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> program.</para>
<para>This option can be set on a per printer basis. Please be
aware however, that you must place any of the various printing
commands (e.g. print command, lpq command, etc...) after defining
the value for the <parameter>printing</parameter> option since it will
reset the printing commands to default values.</para>
<para>See also the discussion in the <link linkend="PRINTERSSECT">
[printers]</link> section.</para>
</description>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="printjob username" context="S" type="string" print="1" xml:base="printing/printjobusername.xml">
<description>
<para>This parameter specifies which user information will be
passed to the printing system. Usually, the username is sent,
but in some cases, e.g. the domain prefix is useful, too.</para>
</description>
<related>printing</related>
<value type="example">%D\%U</value>
<value type="default">%U</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="private dir" context="G" type="string" advanced="1" developer="1" xml:base="security/privatedir.xml">
<description>
<para>This parameters defines the directory
smbd will use for storing such files as <filename moreinfo="none">smbpasswd</filename>
and <filename moreinfo="none">secrets.tdb</filename>.
</para>
</description>
<value type="default">${prefix}/private</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="profile acls" context="S" type="boolean" advanced="1" wizard="1" xml:base="protocol/profileacls.xml">
<description>
<para>
This boolean parameter was added to fix the problems that people have been
having with storing user profiles on Samba shares from Windows 2000 or
Windows XP clients. New versions of Windows 2000 or Windows XP service
packs do security ACL checking on the owner and ability to write of the
profile directory stored on a local workstation when copied from a Samba
share.
</para>
<para>
When not in domain mode with winbindd then the security info copied
onto the local workstation has no meaning to the logged in user (SID) on
that workstation so the profile storing fails. Adding this parameter
onto a share used for profile storage changes two things about the
returned Windows ACL. Firstly it changes the owner and group owner
of all reported files and directories to be BUILTIN\\Administrators,
BUILTIN\\Users respectively (SIDs S-1-5-32-544, S-1-5-32-545). Secondly
it adds an ACE entry of "Full Control" to the SID BUILTIN\\Users to
every returned ACL. This will allow any Windows 2000 or XP workstation
user to access the profile.
</para>
<para>
Note that if you have multiple users logging
on to a workstation then in order to prevent them from being able to access
each others profiles you must remove the "Bypass traverse checking" advanced
user right. This will prevent access to other users profile directories as
the top level profile directory (named after the user) is created by the
workstation profile code and has an ACL restricting entry to the directory
tree to the owning user.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="queuepause command" context="S" type="string" print="1" xml:base="printing/queuepausecommand.xml">
<description>
<para>This parameter specifies the command to be
executed on the server host in order to pause the printer queue.</para>
<para>This command should be a program or script which takes
a printer name as its only parameter and stops the printer queue,
such that no longer jobs are submitted to the printer.</para>
<para>This command is not supported by Windows for Workgroups,
but can be issued from the Printers window under Windows 95
and NT.</para>
<para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
is put in its place. Otherwise it is placed at the end of the command.
</para>
<para>Note that it is good practice to include the absolute
path in the command as the PATH may not be available to the
server.</para>
</description>
<value type="example">disable %p</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="queueresume command" context="S" type="string" print="1" xml:base="printing/queueresumecommand.xml">
<description>
<para>This parameter specifies the command to be
executed on the server host in order to resume the printer queue. It
is the command to undo the behavior that is caused by the
previous parameter (<smbconfoption name="queuepause command"/>).</para>
<para>This command should be a program or script which takes
a printer name as its only parameter and resumes the printer queue,
such that queued jobs are resubmitted to the printer.</para>
<para>This command is not supported by Windows for Workgroups,
but can be issued from the Printers window under Windows 95
and NT.</para>
<para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
is put in its place. Otherwise it is placed at the end of the
command.</para>
<para>Note that it is good practice to include the absolute
path in the command as the PATH may not be available to the
server.</para>
</description>
<value type="default"/>
<value type="example">enable %p</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="read list" context="S" type="list" xml:base="security/readlist.xml">
<description>
<para>
This is a list of users that are given read-only access to a service. If the connecting user is in this list
then they will not be given write access, no matter what the <smbconfoption name="read only"/> option is set
to. The list can include group names using the syntax described in the <smbconfoption name="invalid users"/>
parameter.
</para>
<para>This parameter will not work with the <smbconfoption name="security">share</smbconfoption> in
Samba 3.0. This is by design.</para>
</description>
<related>write list</related>
<related>invalid users</related>
<value type="default"/>
<value type="example">mary, @students</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="read only" context="S" type="boolean" basic="1" advanced="1" xml:base="security/readonly.xml">
<description>
<para>An inverted synonym is <smbconfoption name="writeable"/>.</para>
<para>If this parameter is <constant>yes</constant>, then users
of a service may not create or modify files in the service's
directory.</para>
<para>Note that a printable service (<command moreinfo="none">printable = yes</command>)
will <emphasis>ALWAYS</emphasis> allow writing to the directory
(user privileges permitting), but only via spooling operations.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="read raw" context="G" type="boolean" developer="1" xml:base="protocol/readraw.xml">
<description>
<para>This parameter controls whether or not the server
will support the raw read SMB requests when transferring data
to clients.</para>
<para>If enabled, raw reads allow reads of 65535 bytes in
one packet. This typically provides a major performance benefit.
</para>
<para>However, some clients either negotiate the allowable
block size incorrectly or are incapable of supporting larger block
sizes, and for these clients you may need to disable raw reads.</para>
<para>In general this parameter should be viewed as a system tuning
tool and left severely alone.</para>
</description>
<value type="default">yes</value>
<related>write raw</related>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="realm" context="G" type="string" basic="1" advanced="1" wizard="1" developer="1" xml:base="base/realm.xml">
<description>
<para>This option specifies the kerberos realm to use. The realm is
used as the ADS equivalent of the NT4 <command moreinfo="none">domain</command>. It
is usually set to the DNS name of the kerberos server.
</para>
</description>
<value type="default"/>
<value type="example">mysambabox.mycompany.com</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="registry shares" context="G" type="bool" advanced="1" xml:base="misc/registryshares.xml">
<description>
<para>
This turns on or off support for share definitions read from
registry. Shares defined in <emphasis>smb.conf</emphasis> take
precedence over shares with the same name defined in
registry. See the section on registry-based configuration
for details.
</para>
<para>
Note that this parameter defaults to <emphasis>no</emphasis>,
but it is set to <emphasis>yes</emphasis> when
<parameter>config backend</parameter> is set
to <emphasis>registry</emphasis>.
</para>
</description>
<value type="default">no</value>
<value type="example">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="remote announce" context="G" advanced="1" developer="1" type="list" xml:base="misc/remoteannounce.xml">
<description>
<para>
This option allows you to setup <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>to periodically announce itself
to arbitrary IP addresses with an arbitrary workgroup name.
</para>
<para>
This is useful if you want your Samba server to appear in a remote workgroup for
which the normal browse propagation rules don't work. The remote workgroup can be
anywhere that you can send IP packets to.
</para>
<para>
For example:
<programlisting>
<command moreinfo="none">remote announce = 192.168.2.255/SERVERS 192.168.4.255/STAFF</command>
</programlisting>
the above line would cause <command moreinfo="none">nmbd</command> to announce itself
to the two given IP addresses using the given workgroup names. If you leave out the
workgroup name then the one given in the <smbconfoption name="workgroup"/> parameter
is used instead.
</para>
<para>
The IP addresses you choose would normally be the broadcast addresses of the remote
networks, but can also be the IP addresses of known browse masters if your network
config is that stable.
</para>
<para>
See the chapter on Network Browsing in the Samba-HOWTO book.
</para>
</description>
<value type="default"/>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="remote browse sync" context="G" advanced="1" developer="1" type="list" xml:base="misc/remotebrowsesync.xml">
<description>
<para>
This option allows you to setup <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> to periodically request
synchronization of browse lists with the master browser of a Samba
server that is on a remote segment. This option will allow you to
gain browse lists for multiple workgroups across routed networks. This
is done in a manner that does not work with any non-Samba servers.
</para>
<para>
This is useful if you want your Samba server and all local
clients to appear in a remote workgroup for which the normal browse
propagation rules don't work. The remote workgroup can be anywhere
that you can send IP packets to.
</para>
<para>
For example:
<programlisting>
<parameter>remote browse sync = 192.168.2.255 192.168.4.255</parameter>
</programlisting>
the above line would cause <command>nmbd</command> to request the master browser on the
specified subnets or addresses to synchronize their browse lists with
the local server.
</para>
<para>
The IP addresses you choose would normally be the broadcast
addresses of the remote networks, but can also be the IP addresses
of known browse masters if your network config is that stable. If
a machine IP address is given Samba makes NO attempt to validate
that the remote machine is available, is listening, nor that it
is in fact the browse master on its segment.
</para>
<para>
The <smbconfoption name="remote browse sync"/> may be used on networks
where there is no WINS server, and may be used on disjoint networks where
each network has its own WINS server.
</para>
</description>
<value type="default"/>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="rename user script" context="G" advanced="1" developer="1" type="boolean" xml:base="security/renameuserscript.xml">
<description>
<para>
This is the full pathname to a script that will be run as root by <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> under special circumstances described below.
</para>
<para>
When a user with admin authority or SeAddUserPrivilege rights renames a user (e.g.: from the NT4 User Manager
for Domains), this script will be run to rename the POSIX user. Two variables, <literal>%uold</literal> and
<literal>%unew</literal>, will be substituted with the old and new usernames, respectively. The script should
return 0 upon successful completion, and nonzero otherwise.
</para>
<note><para>
The script has all responsibility to rename all the necessary data that is accessible in this posix method.
This can mean different requirements for different backends. The tdbsam and smbpasswd backends will take care
of the contents of their respective files, so the script is responsible only for changing the POSIX username, and
other data that may required for your circumstances, such as home directory. Please also consider whether or
not you need to rename the actual home directories themselves. The ldapsam backend will not make any changes,
because of the potential issues with renaming the LDAP naming attribute. In this case the script is
responsible for changing the attribute that samba uses (uid) for locating users, as well as any data that
needs to change for other applications using the same directory.
</para></note>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="reset on zero vc" context="G" type="boolean" advanced="1" developer="0" xml:base="misc/resetonzerovc.xml">
<description>
<para>
This boolean option controls whether an incoming session setup
should kill other connections coming from the same IP. This matches
the default Windows 2003 behaviour.
Setting this parameter to yes becomes necessary when you have a flaky
network and windows decides to reconnect while the old connection
still has files with share modes open. These files become inaccessible
over the new connection.
The client sends a zero VC on the new connection, and Windows 2003
kills all other connections coming from the same IP. This way the
locked files are accessible again.
Please be aware that enabling this option will kill connections behind
a masquerading router.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="restrict anonymous" type="integer" context="G" advanced="1" developer="1" xml:base="security/restrictanonymous.xml">
<description>
<para>The setting of this parameter determines whether user and
group list information is returned for an anonymous connection.
and mirrors the effects of the
<programlisting>
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\LSA\RestrictAnonymous
</programlisting>
registry key in Windows 2000 and Windows NT. When set to 0, user
and group list information is returned to anyone who asks. When set
to 1, only an authenticated user can retrive user and
group list information. For the value 2, supported by
Windows 2000/XP and Samba, no anonymous connections are allowed at
all. This can break third party and Microsoft
applications which expect to be allowed to perform
operations anonymously.</para>
<para>
The security advantage of using restrict anonymous = 1 is dubious,
as user and group list information can be obtained using other
means.
</para>
<note>
<para>
The security advantage of using restrict anonymous = 2 is removed
by setting <smbconfoption name="guest ok">yes</smbconfoption> on any share.
</para>
</note>
</description>
<value type="default">0</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="root directory" context="G" type="string" advanced="1" developer="1" xml:base="security/rootdirectory.xml">
<synonym>root</synonym>
<synonym>root dir</synonym>
<description>
<para>The server will <command moreinfo="none">chroot()</command> (i.e.
Change its root directory) to this directory on startup. This is
not strictly necessary for secure operation. Even without it the
server will deny access to files not in one of the service entries.
It may also check for, and deny access to, soft links to other
parts of the filesystem, or attempts to use ".." in file names
to access other directories (depending on the setting of the
<smbconfoption name="wide smbconfoptions"/> parameter).
</para>
<para>Adding a <parameter moreinfo="none">root directory</parameter> entry other
than "/" adds an extra level of security, but at a price. It
absolutely ensures that no access is given to files not in the
sub-tree specified in the <parameter moreinfo="none">root directory</parameter>
option, <emphasis>including</emphasis> some files needed for
complete operation of the server. To maintain full operability
of the server you will need to mirror some system files
into the <parameter moreinfo="none">root directory</parameter> tree. In particular
you will need to mirror <filename moreinfo="none">/etc/passwd</filename> (or a
subset of it), and any binaries or configuration files needed for
printing (if required). The set of files that must be mirrored is
operating system dependent.</para>
</description>
<value type="default">/</value>
<value type="example">/homes/smb</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="root postexec" context="S" type="string" advanced="1" developer="1" xml:base="misc/rootpostexec.xml">
<description>
<para>
This is the same as the <parameter moreinfo="none">postexec</parameter>
parameter except that the command is run as root. This is useful for
unmounting filesystems (such as CDROMs) after a connection is closed.
</para>
</description>
<related>postexec</related>
<value type="default"/>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="root preexec close" context="S" type="boolean" advanced="1" developer="1" xml:base="misc/rootpreexecclose.xml">
<description>
<para>This is the same as the <parameter moreinfo="none">preexec close
</parameter> parameter except that the command is run as root.</para>
</description>
<related>preexec</related>
<related>preexec close</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="root preexec" context="S" type="string" advanced="1" wizard="1" developer="1" xml:base="misc/rootpreexec.xml">
<description>
<para>
This is the same as the <parameter moreinfo="none">preexec</parameter>
parameter except that the command is run as root. This is useful for
mounting filesystems (such as CDROMs) when a connection is opened.
</para>
</description>
<related>preexec</related>
<related>preexec close</related>
<value type="default"/>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="security mask" context="S" type="string" xml:base="security/securitymask.xml">
<description>
<para>
This parameter controls what UNIX permission bits will be set when a Windows NT client is manipulating the
UNIX permission on a file using the native NT security dialog box.
</para>
<para>
This parameter is applied as a mask (AND'ed with) to the incoming permission bits, thus resetting
any bits not in this mask. Make sure not to mix up this parameter with <smbconfoption name="force security mode"/>, which works in a manner similar to this one but uses a logical OR instead of an AND.
</para>
<para>
Essentially, all bits set to zero in this mask will result in setting to zero the corresponding bits on the
file permissions regardless of the previous status of this bits on the file.
</para>
<para>
If not set explicitly this parameter is 0777, allowing a user to set all the user/group/world permissions on a file.
</para>
<para><emphasis>
Note</emphasis> that users who can access the Samba server through other means can easily bypass this
restriction, so it is primarily useful for standalone "appliance" systems. Administrators of
most normal systems will probably want to leave it set to <constant>0777</constant>.
</para>
</description>
<related>force directory security mode</related>
<related>directory security mask</related>
<related>force security mode</related>
<value type="default">0777</value>
<value type="example">0770</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="security" context="G" type="enum" basic="1" advanced="1" wizard="1" developer="1" xml:base="security/security.xml">
<when_value value="security">
<requires option="encrypted passwords">/(yes|true)/</requires>
</when_value>
<description>
<para>This option affects how clients respond to
Samba and is one of the most important settings in the <filename moreinfo="none">
smb.conf</filename> file.</para>
<para>The option sets the "security mode bit" in replies to
protocol negotiations with <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> to turn share level security on or off. Clients decide
based on this bit whether (and how) to transfer user and password
information to the server.</para>
<para>The default is <command moreinfo="none">security = user</command>, as this is
the most common setting needed when talking to Windows 98 and
Windows NT.</para>
<para>The alternatives are <command moreinfo="none">security = share</command>,
<command moreinfo="none">security = server</command> or <command moreinfo="none">security = domain
</command>.</para>
<para>In versions of Samba prior to 2.0.0, the default was
<command moreinfo="none">security = share</command> mainly because that was
the only option at one stage.</para>
<para>There is a bug in WfWg that has relevance to this
setting. When in user or server level security a WfWg client
will totally ignore the username and password you type in the "connect
drive" dialog box. This makes it very difficult (if not impossible)
to connect to a Samba service as anyone except the user that
you are logged into WfWg as.</para>
<para>If your PCs use usernames that are the same as their
usernames on the UNIX machine then you will want to use
<command moreinfo="none">security = user</command>. If you mostly use usernames
that don't exist on the UNIX box then use <command moreinfo="none">security =
share</command>.</para>
<para>You should also use <command moreinfo="none">security = share</command> if you
want to mainly setup shares without a password (guest shares). This
is commonly used for a shared printer server. It is more difficult
to setup guest shares with <command moreinfo="none">security = user</command>, see
the <smbconfoption name="map to guest"/>parameter for details.</para>
<para>It is possible to use <command moreinfo="none">smbd</command> in a <emphasis>
hybrid mode</emphasis> where it is offers both user and share
level security under different <smbconfoption name="NetBIOS aliases"/>. </para>
<para>The different settings will now be explained.</para>
<para><anchor id="SECURITYEQUALSSHARE"/><emphasis>SECURITY = SHARE</emphasis></para>
<para>When clients connect to a share level security server they
need not log onto the server with a valid username and password before
attempting to connect to a shared resource (although modern clients
such as Windows 95/98 and Windows NT will send a logon request with
a username but no password when talking to a <command moreinfo="none">security = share
</command> server). Instead, the clients send authentication information
(passwords) on a per-share basis, at the time they attempt to connect
to that share.</para>
<para>Note that <command moreinfo="none">smbd</command> <emphasis>ALWAYS</emphasis>
uses a valid UNIX user to act on behalf of the client, even in
<command moreinfo="none">security = share</command> level security.</para>
<para>As clients are not required to send a username to the server
in share level security, <command moreinfo="none">smbd</command> uses several
techniques to determine the correct UNIX user to use on behalf
of the client.</para>
<para>A list of possible UNIX usernames to match with the given
client password is constructed using the following methods :</para>
<itemizedlist>
<listitem>
<para>If the <smbconfoption name="guest only"/> parameter is set, then all the other
stages are missed and only the <smbconfoption name="guest account"/> username is checked.
</para>
</listitem>
<listitem>
<para>Is a username is sent with the share connection
request, then this username (after mapping - see <smbconfoption name="username map"/>),
is added as a potential username.
</para>
</listitem>
<listitem>
<para>If the client did a previous <emphasis>logon
</emphasis> request (the SessionSetup SMB call) then the
username sent in this SMB will be added as a potential username.
</para>
</listitem>
<listitem>
<para>The name of the service the client requested is
added as a potential username.
</para>
</listitem>
<listitem>
<para>The NetBIOS name of the client is added to
the list as a potential username.
</para>
</listitem>
<listitem>
<para>Any users on the <smbconfoption name="user"/> list are added as potential usernames.
</para>
</listitem>
</itemizedlist>
<para>If the <parameter moreinfo="none">guest only</parameter> parameter is
not set, then this list is then tried with the supplied password.
The first user for whom the password matches will be used as the
UNIX user.</para>
<para>If the <parameter moreinfo="none">guest only</parameter> parameter is
set, or no username can be determined then if the share is marked
as available to the <parameter moreinfo="none">guest account</parameter>, then this
guest user will be used, otherwise access is denied.</para>
<para>Note that it can be <emphasis>very</emphasis> confusing
in share-level security as to which UNIX username will eventually
be used in granting access.</para>
<para>See also the section <link linkend="VALIDATIONSECT">
NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
<para><anchor id="SECURITYEQUALSUSER"/><emphasis>SECURITY = USER</emphasis></para>
<para>This is the default security setting in Samba 3.0.
With user-level security a client must first "log-on" with a
valid username and password (which can be mapped using the <smbconfoption name="username map"/>
parameter). Encrypted passwords (see the <smbconfoption name="encrypted passwords"/> parameter) can also
be used in this security mode. Parameters such as <smbconfoption name="user"/> and <smbconfoption name="guest only"/> if set are then applied and
may change the UNIX user to use on this connection, but only after
the user has been successfully authenticated.</para>
<para><emphasis>Note</emphasis> that the name of the resource being
requested is <emphasis>not</emphasis> sent to the server until after
the server has successfully authenticated the client. This is why
guest shares don't work in user level security without allowing
the server to automatically map unknown users into the <smbconfoption name="guest account"/>.
See the <smbconfoption name="map to guest"/> parameter for details on doing this.</para>
<para>See also the section <link linkend="VALIDATIONSECT">NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
<para><anchor id="SECURITYEQUALSDOMAIN"/><emphasis>SECURITY = DOMAIN</emphasis></para>
<para>This mode will only work correctly if <citerefentry><refentrytitle>net</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> has been used to add this
machine into a Windows NT Domain. It expects the <smbconfoption name="encrypted passwords"/>
parameter to be set to <constant>yes</constant>. In this
mode Samba will try to validate the username/password by passing
it to a Windows NT Primary or Backup Domain Controller, in exactly
the same way that a Windows NT Server would do.</para>
<para><emphasis>Note</emphasis> that a valid UNIX user must still
exist as well as the account on the Domain Controller to allow
Samba to have a valid UNIX account to map file access to.</para>
<para><emphasis>Note</emphasis> that from the client's point
of view <command moreinfo="none">security = domain</command> is the same
as <command moreinfo="none">security = user</command>. It only
affects how the server deals with the authentication,
it does not in any way affect what the client sees.</para>
<para><emphasis>Note</emphasis> that the name of the resource being
requested is <emphasis>not</emphasis> sent to the server until after
the server has successfully authenticated the client. This is why
guest shares don't work in user level security without allowing
the server to automatically map unknown users into the <smbconfoption name="guest account"/>.
See the <smbconfoption name="map to guest"/> parameter for details on doing this.</para>
<para>See also the section <link linkend="VALIDATIONSECT">
NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
<para>See also the <smbconfoption name="password server"/> parameter and
the <smbconfoption name="encrypted passwords"/> parameter.</para>
<para><anchor id="SECURITYEQUALSSERVER"/><emphasis>SECURITY = SERVER</emphasis></para>
<para>
In this mode Samba will try to validate the username/password by passing it to another SMB server, such as an
NT box. If this fails it will revert to <command moreinfo="none">security = user</command>. It expects the
<smbconfoption name="encrypted passwords"/> parameter to be set to <constant>yes</constant>, unless the remote
server does not support them. However note that if encrypted passwords have been negotiated then Samba cannot
revert back to checking the UNIX password file, it must have a valid <filename moreinfo="none">smbpasswd</filename> file to check users against. See the chapter about the User Database in
the Samba HOWTO Collection for details on how to set this up.
</para>
<note><para>This mode of operation has
significant pitfalls since it is more vulnerable to
man-in-the-middle attacks and server impersonation. In particular,
this mode of operation can cause significant resource consuption on
the PDC, as it must maintain an active connection for the duration
of the user's session. Furthermore, if this connection is lost,
there is no way to reestablish it, and futher authentications to the
Samba server may fail (from a single client, till it disconnects).
</para></note>
<note><para>From the client's point of
view <command moreinfo="none">security = server</command> is the
same as <command moreinfo="none">security = user</command>. It
only affects how the server deals with the authentication, it does
not in any way affect what the client sees.</para></note>
<para><emphasis>Note</emphasis> that the name of the resource being
requested is <emphasis>not</emphasis> sent to the server until after
the server has successfully authenticated the client. This is why
guest shares don't work in user level security without allowing
the server to automatically map unknown users into the <smbconfoption name="guest account"/>.
See the <smbconfoption name="map to guest"/> parameter for details on doing this.</para>
<para>See also the section <link linkend="VALIDATIONSECT">
NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
<para>See also the <smbconfoption name="password server"/> parameter and the
<smbconfoption name="encrypted passwords"/> parameter.</para>
<para><anchor id="SECURITYEQUALSADS"/><emphasis>SECURITY = ADS</emphasis></para>
<para>In this mode, Samba will act as a domain member in an ADS realm. To operate
in this mode, the machine running Samba will need to have Kerberos installed
and configured and Samba will need to be joined to the ADS realm using the
net utility. </para>
<para>Note that this mode does NOT make Samba operate as a Active Directory Domain
Controller. </para>
<para>Read the chapter about Domain Membership in the HOWTO for details.</para>
</description>
<related>realm</related>
<related>encrypt passwords</related>
<value type="default">USER</value>
<value type="example">DOMAIN</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="server schannel" context="G" type="boolean-auto" basic="1" xml:base="security/serverschannel.xml">
<description>
<para>
This controls whether the server offers or even demands the use of the netlogon schannel.
<smbconfoption name="server schannel">no</smbconfoption> does not offer the schannel, <smbconfoption name="server schannel">auto</smbconfoption> offers the schannel but does not enforce it, and <smbconfoption name="server schannel">yes</smbconfoption> denies access if the client is not able to speak netlogon schannel.
This is only the case for Windows NT4 before SP4.
</para>
<para>
Please note that with this set to <literal>no</literal> you will have to apply the WindowsXP
<filename>WinXP_SignOrSeal.reg</filename> registry patch found in the docs/registry subdirectory of the Samba distribution tarball.
</para>
</description>
<value type="default">auto</value>
<value type="example">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="server signing" context="G" type="enum" basic="1" xml:base="security/serversigning.xml">
<description>
<para>This controls whether the server offers or requires
the client it talks to to use SMB signing. Possible values
are <emphasis>auto</emphasis>, <emphasis>mandatory</emphasis>
and <emphasis>disabled</emphasis>.
</para>
<para>When set to auto, SMB signing is offered, but not enforced.
When set to mandatory, SMB signing is required and if set
to disabled, SMB signing is not offered either.</para>
</description>
<value type="default">Disabled</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="server string" context="G" basic="1" advanced="1" developer="1" xml:base="base/serverstring.xml">
<description>
<para>This controls what string will show up in the printer comment box in print
manager and next to the IPC connection in <command moreinfo="none">net view</command>. It
can be any string that you wish to show to your users.</para>
<para>It also sets what will appear in browse lists next
to the machine name.</para>
<para>A <parameter moreinfo="none">%v</parameter> will be replaced with the Samba
version number.</para>
<para>A <parameter moreinfo="none">%h</parameter> will be replaced with the
hostname.</para>
</description>
<value type="default">Samba %v</value>
<value type="example">University of GNUs Samba Server</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="set directory" context="S" type="boolean" xml:base="misc/setdirectory.xml">
<description>
<para>
If <command moreinfo="none">set directory = no</command>, then users of the
service may not use the setdir command to change directory.
</para>
<para>
The <command moreinfo="none">setdir</command> command is only implemented
in the Digital Pathworks client. See the Pathworks documentation
for details.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="set primary group script" context="G" type="string" advanced="1" developer="1" xml:base="logon/setprimarygroupscript.xml">
<description>
<para>Thanks to the Posix subsystem in NT a Windows User has a
primary group in addition to the auxiliary groups. This script
sets the primary group in the unix userdatase when an
administrator sets the primary group from the windows user
manager or when fetching a SAM with <command>net rpc
vampire</command>. <parameter>%u</parameter> will be replaced
with the user whose primary group is to be set.
<parameter>%g</parameter> will be replaced with the group to
set.</para>
</description>
<value type="default"/>
<value type="example">/usr/sbin/usermod -g '%g' '%u'</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="set quota command" context="G" type="string" advanced="1" developer="1" xml:base="vfs/setquotacommand.xml">
<description>
<para>The <command>set quota command</command> should only be used
whenever there is no operating system API available from the OS that
samba can use.</para>
<para>This option is only available if Samba was configured with the argument <command>--with-sys-quotas</command> or
on linux when <command>./configure --with-quotas</command> was used and a working quota api
was found in the system. Most packages are configured with these options already.</para>
<para>This parameter should specify the path to a script that
can set quota for the specified arguments.</para>
<para>The specified script should take the following arguments:</para>
<itemizedlist>
<listitem><para>1 - quota type
<itemizedlist>
<listitem><para>1 - user quotas</para></listitem>
<listitem><para>2 - user default quotas (uid = -1)</para></listitem>
<listitem><para>3 - group quotas</para></listitem>
<listitem><para>4 - group default quotas (gid = -1)</para></listitem>
</itemizedlist></para></listitem>
<listitem><para>2 - id (uid for user, gid for group, -1 if N/A)</para></listitem>
<listitem><para>3 - quota state (0 = disable, 1 = enable, 2 = enable and enforce)</para></listitem>
<listitem><para>4 - block softlimit</para></listitem>
<listitem><para>5 - block hardlimit</para></listitem>
<listitem><para>6 - inode softlimit</para></listitem>
<listitem><para>7 - inode hardlimit</para></listitem>
<listitem><para>8(optional) - block size, defaults to 1024</para></listitem>
</itemizedlist>
<para>The script should output at least one line of data on success. And nothing on failure.</para>
</description>
<related>get quota command</related>
<value type="default"/>
<value type="example">/usr/local/sbin/set_quota</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="share modes" type="boolean" context="S" xml:base="locking/sharemodes.xml">
<description>
<para>This enables or disables the honoring of
the <parameter moreinfo="none">share modes</parameter> during a file open. These
modes are used by clients to gain exclusive read or write access
to a file.</para>
<para>These open modes are not directly supported by UNIX, so
they are simulated using shared memory, or lock files if your
UNIX doesn't support shared memory (almost all do).</para>
<para>The share modes that are enabled by this option are
<constant>DENY_DOS</constant>, <constant>DENY_ALL</constant>,
<constant>DENY_READ</constant>, <constant>DENY_WRITE</constant>,
<constant>DENY_NONE</constant> and <constant>DENY_FCB</constant>.
</para>
<para>This option gives full share compatibility and enabled
by default.</para>
<para>You should <emphasis>NEVER</emphasis> turn this parameter
off as many Windows applications will break if you do so.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="short preserve case" context="S" type="boolean" xml:base="filename/shortpreservecase.xml">
<description>
<para>
This boolean parameter controls if new files which conform to 8.3 syntax, that is all in upper case and of
suitable length, are created upper case, or if they are forced to be the <smbconfoption name="default case"/>.
This option can be use with <smbconfoption name="preserve case">yes</smbconfoption> to permit long filenames
to retain their case, while short names are lowered.
</para>
<para>See the section on <link linkend="NAMEMANGLINGSECT">NAME MANGLING</link>.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="show add printer wizard" context="G" type="boolean" advanced="1" developer="1" xml:base="printing/showaddprinterwizard.xml">
<description>
<para>With the introduction of MS-RPC based printing support
for Windows NT/2000 client in Samba 2.2, a "Printers..." folder will
appear on Samba hosts in the share listing. Normally this folder will
contain an icon for the MS Add Printer Wizard (APW). However, it is
possible to disable this feature regardless of the level of privilege
of the connected user.</para>
<para>Under normal circumstances, the Windows NT/2000 client will
open a handle on the printer server with OpenPrinterEx() asking for
Administrator privileges. If the user does not have administrative
access on the print server (i.e is not root or a member of the
<parameter moreinfo="none">printer admin</parameter> group), the OpenPrinterEx()
call fails and the client makes another open call with a request for
a lower privilege level. This should succeed, however the APW
icon will not be displayed.</para>
<para>Disabling the <parameter moreinfo="none">show add printer wizard</parameter>
parameter will always cause the OpenPrinterEx() on the server
to fail. Thus the APW icon will never be displayed.
</para>
<note><para>This does not prevent the same user from having
administrative privilege on an individual printer.</para></note>
</description>
<related>addprinter command</related>
<related>deleteprinter command</related>
<related>printer admin</related>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="shutdown script" context="G" type="string" advanced="1" developer="1" xml:base="logon/shutdownscript.xml">
<description>
<para>This a full path name to a script called by
<citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> that should
start a shutdown procedure.</para>
<para>If the connected user posseses the <constant>SeRemoteShutdownPrivilege</constant>,
right, this command will be run as user.</para>
<para>The %z %t %r %f variables are expanded as follows:</para>
<itemizedlist>
<listitem>
<para><parameter moreinfo="none">%z</parameter> will be substituted with the
shutdown message sent to the server.</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">%t</parameter> will be substituted with the
number of seconds to wait before effectively starting the
shutdown procedure.</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">%r</parameter> will be substituted with the
switch <emphasis>-r</emphasis>. It means reboot after shutdown
for NT.</para>
</listitem>
<listitem>
<para><parameter moreinfo="none">%f</parameter> will be substituted with the
switch <emphasis>-f</emphasis>. It means force the shutdown
even if applications do not respond for NT.</para>
</listitem>
</itemizedlist>
<para>Shutdown script example:
<programlisting format="linespecific">
#!/bin/bash
$time=0
let "time/60"
let "time++"
/sbin/shutdown $3 $4 +$time $1 &
</programlisting>
Shutdown does not return so we need to launch it in background.
</para>
</description>
<related>abort shutdown script</related>
<value type="default"/>
<value type="example">/usr/local/samba/sbin/shutdown %m %t %r %f</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="smb encrypt" context="S" type="enum" basic="1" xml:base="security/smbencrypt.xml">
<description>
<para>This is a new feature introduced with Samba 3.2 and above. It is an
extension to the SMB/CIFS protocol negotiated as part of the UNIX extensions.
SMB encryption uses the GSSAPI (SSPI on Windows) ability to encrypt
and sign every request/response in a SMB protocol stream. When
enabled it provides a secure method of SMB/CIFS communication,
similar to an ssh protected session, but using SMB/CIFS authentication
to negotiate encryption and signing keys. Currently this is only
supported by Samba 3.2 smbclient, and hopefully soon Linux CIFSFS
and MacOS/X clients. Windows clients do not support this feature.
</para>
<para>This controls whether the server offers or requires
the client it talks to to use SMB encryption. Possible values
are <emphasis>auto</emphasis>, <emphasis>mandatory</emphasis>
and <emphasis>disabled</emphasis>. This may be set on a per-share
basis, but clients may chose to encrypt the entire session, not
just traffic to a specific share. If this is set to mandatory
then all traffic to a share <emphasis>must</emphasis> must
be encrypted once the connection has been made to the share.
The server would return "access denied" to all non-encrypted
requests on such a share. Selecting encrypted traffic reduces
throughput as smaller packet sizes must be used (no huge UNIX
style read/writes allowed) as well as the overhead of encrypting
and signing all the data.
</para>
<para>If SMB encryption is selected, Windows style SMB signing (see
the <smbconfoption name="server signing"/> option) is no longer necessary,
as the GSSAPI flags use select both signing and sealing of the data.
</para>
<para>When set to auto, SMB encryption is offered, but not enforced.
When set to mandatory, SMB encryption is required and if set
to disabled, SMB encryption can not be negotiated.</para>
</description>
<value type="default">auto</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="smb passwd file" type="string" context="G" advanced="1" developer="1" xml:base="security/smbpasswdfile.xml">
<description>
<para>This option sets the path to the encrypted smbpasswd file. By
default the path to the smbpasswd file is compiled into Samba.</para>
<para>
An example of use is:
<programlisting>
smb passwd file = /etc/samba/smbpasswd
</programlisting>
</para>
</description>
<value type="default">${prefix}/private/smbpasswd</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="smb ports" context="G" type="list" advanced="1" developer="1" xml:base="protocol/smbports.xml">
<description>
<para>Specifies which ports the server should listen on for SMB traffic.</para>
</description>
<value type="default">445 139</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="socket address" context="G" type="string" developer="1" xml:base="misc/socketaddress.xml">
<description>
<para>This option allows you to control what
address Samba will listen for connections on. This is used to
support multiple virtual interfaces on the one server, each
with a different configuration.</para>
<para>By default Samba will accept connections on any
address.</para>
</description>
<value type="default"/>
<value type="example">192.168.2.20</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="socket options" context="G" type="list" developer="1" xml:base="tuning/socketoptions.xml">
<description>
<para>This option allows you to set socket options
to be used when talking with the client.</para>
<para>Socket options are controls on the networking layer
of the operating systems which allow the connection to be
tuned.</para>
<para>This option will typically be used to tune your Samba server
for optimal performance for your local network. There is no way
that Samba can know what the optimal parameters are for your net,
so you must experiment and choose them yourself. We strongly
suggest you read the appropriate documentation for your operating
system first (perhaps <command moreinfo="none">man
setsockopt</command> will help).</para>
<para>You may find that on some systems Samba will say
"Unknown socket option" when you supply an option. This means you
either incorrectly typed it or you need to add an include file
to includes.h for your OS. If the latter is the case please
send the patch to <ulink url="mailto:samba-technical@samba.org">
samba-technical@samba.org</ulink>.</para>
<para>Any of the supported socket options may be combined
in any way you like, as long as your OS allows it.</para>
<para>This is the list of socket options currently settable
using this option:</para>
<itemizedlist>
<listitem><para>SO_KEEPALIVE</para></listitem>
<listitem><para>SO_REUSEADDR</para></listitem>
<listitem><para>SO_BROADCAST</para></listitem>
<listitem><para>TCP_NODELAY</para></listitem>
<listitem><para>IPTOS_LOWDELAY</para></listitem>
<listitem><para>IPTOS_THROUGHPUT</para></listitem>
<listitem><para>SO_SNDBUF *</para></listitem>
<listitem><para>SO_RCVBUF *</para></listitem>
<listitem><para>SO_SNDLOWAT *</para></listitem>
<listitem><para>SO_RCVLOWAT *</para></listitem>
</itemizedlist>
<para>Those marked with a <emphasis>'*'</emphasis> take an integer
argument. The others can optionally take a 1 or 0 argument to enable
or disable the option, by default they will be enabled if you
don't specify 1 or 0.</para>
<para>To specify an argument use the syntax SOME_OPTION = VALUE
for example <command moreinfo="none">SO_SNDBUF = 8192</command>. Note that you must
not have any spaces before or after the = sign.</para>
<para>If you are on a local network then a sensible option
might be:</para>
<para><command moreinfo="none">socket options = IPTOS_LOWDELAY</command></para>
<para>If you have a local network then you could try:</para>
<para><command moreinfo="none">socket options = IPTOS_LOWDELAY TCP_NODELAY</command></para>
<para>If you are on a wide area network then perhaps try
setting IPTOS_THROUGHPUT. </para>
<para>Note that several of the options may cause your Samba
server to fail completely. Use these options with caution!</para>
</description>
<value type="default">TCP_NODELAY</value>
<value type="example">IPTOS_LOWDELAY</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="stat cache" context="G" developer="1" type="boolean" xml:base="filename/statcache.xml">
<description>
<para>This parameter determines if <citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will use a cache in order to
speed up case insensitive name mappings. You should never need
to change this parameter.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="store dos attributes" context="S" type="boolean" xml:base="filename/storedosattributes.xml">
<description>
<para>
If this parameter is set Samba attempts to first read DOS attributes (SYSTEM, HIDDEN, ARCHIVE or
READ-ONLY) from a filesystem extended attribute, before mapping DOS attributes to UNIX permission bits (such
as occurs with <smbconfoption name="map hidden"/> and <smbconfoption name="map readonly"/>). When set, DOS
attributes will be stored onto an extended attribute in the UNIX filesystem, associated with the file or
directory. For no other mapping to occur as a fall-back, the parameters <smbconfoption name="map hidden"/>,
<smbconfoption name="map system"/>, <smbconfoption name="map archive"/> and <smbconfoption name="map readonly"/> must be set to off. This parameter writes the DOS attributes as a string into the extended
attribute named "user.DOSATTRIB". This extended attribute is explicitly hidden from smbd clients requesting an
EA list. On Linux the filesystem must have been mounted with the mount option user_xattr in order for
extended attributes to work, also extended attributes must be compiled into the Linux kernel.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="strict allocate" context="S" type="boolean" xml:base="tuning/strictallocate.xml">
<description>
<para>This is a boolean that controls the handling of
disk space allocation in the server. When this is set to <constant>yes</constant>
the server will change from UNIX behaviour of not committing real
disk storage blocks when a file is extended to the Windows behaviour
of actually forcing the disk system to allocate real storage blocks
when a file is created or extended to be a given size. In UNIX
terminology this means that Samba will stop creating sparse files.
This can be slow on some systems.</para>
<para>When strict allocate is <constant>no</constant> the server does sparse
disk block allocation when a file is extended.</para>
<para>Setting this to <constant>yes</constant> can help Samba return
out of quota messages on systems that are restricting the disk quota
of users.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="strict locking" context="S" type="enum" xml:base="locking/strictlocking.xml">
<description>
<para>
This is an enumerated type that controls the handling of file locking in the server. When this is set to <constant>yes</constant>,
the server will check every read and write access for file locks, and deny access if locks exist. This can be slow on
some systems.
</para>
<para>
When strict locking is set to Auto (the default), the server performs file lock checks only on non-oplocked files.
As most Windows redirectors perform file locking checks locally on oplocked files this is a good trade off for
inproved performance.
</para>
<para>
When strict locking is disabled, the server performs file lock checks only when the client explicitly asks for them.
</para>
<para>
Well-behaved clients always ask for lock checks when it is important. So in the vast majority of cases,
<command moreinfo="none">strict locking = Auto</command> or
<command moreinfo="none">strict locking = no</command> is acceptable.
</para>
</description>
<value type="default">Auto</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="strict sync" context="S" type="boolean" xml:base="tuning/strictsync.xml">
<description>
<para>Many Windows applications (including the Windows 98 explorer
shell) seem to confuse flushing buffer contents to disk with doing
a sync to disk. Under UNIX, a sync call forces the process to be
suspended until the kernel has ensured that all outstanding data in
kernel disk buffers has been safely stored onto stable storage.
This is very slow and should only be done rarely. Setting this
parameter to <constant>no</constant> (the default) means that
<citerefentry><refentrytitle>smbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> ignores the Windows
applications requests for a sync call. There is only a possibility
of losing data if the operating system itself that Samba is running
on crashes, so there is little danger in this default setting. In
addition, this fixes many performance problems that people have
reported with the new Windows98 explorer shell file copies.</para>
</description>
<related>sync always</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="svcctl list" type="string" context="G" xml:base="protocol/svcctllist.xml">
<description>
<para>This option defines a list of init scripts that smbd
will use for starting and stopping Unix services via the Win32
ServiceControl API. This allows Windows administrators to
utilize the MS Management Console plug-ins to manage a
Unix server running Samba.</para>
<para>The administrator must create a directory
name <filename>svcctl</filename> in Samba's $(libdir)
and create symbolic links to the init scripts in
<filename>/etc/init.d/</filename>. The name of the links
must match the names given as part of the <parameter>svcctl list</parameter>.
</para>
</description>
<value type="default"/>
<value type="example">cups postfix portmap httpd</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="sync always" context="S" type="boolean" xml:base="tuning/syncalways.xml">
<description>
<para>This is a boolean parameter that controls
whether writes will always be written to stable storage before
the write call returns. If this is <constant>no</constant> then the server will be
guided by the client's request in each write call (clients can
set a bit indicating that a particular write should be synchronous).
If this is <constant>yes</constant> then every write will be followed by a <command moreinfo="none">fsync()
</command> call to ensure the data is written to disk. Note that
the <parameter moreinfo="none">strict sync</parameter> parameter must be set to
<constant>yes</constant> in order for this parameter to have
any affect.</para>
</description>
<related>strict sync</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="syslog only" context="G" type="boolean" developer="1" advanced="1" xml:base="logging/syslogonly.xml">
<description>
<para>
If this parameter is set then Samba debug messages are logged into the system
syslog only, and not to the debug log files. There still will be some
logging to log.[sn]mbd even if <emphasis>syslog only</emphasis> is enabled.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="syslog" context="G" type="integer" developer="1" advanced="1" xml:base="logging/syslog.xml">
<description>
<para>
This parameter maps how Samba debug messages are logged onto the system syslog logging levels.
Samba debug level zero maps onto syslog <constant>LOG_ERR</constant>, debug level one maps onto
<constant>LOG_WARNING</constant>, debug level two maps onto <constant>LOG_NOTICE</constant>,
debug level three maps onto LOG_INFO. All higher levels are mapped to <constant>LOG_DEBUG</constant>.
</para>
<para>
This parameter sets the threshold for sending messages to syslog. Only messages with debug
level less than this value will be sent to syslog. There still will be some
logging to log.[sn]mbd even if <emphasis>syslog only</emphasis> is enabled.
</para>
</description>
<value type="default">1</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="template homedir" context="G" advanced="1" developer="1" type="string" xml:base="winbind/templatehomedir.xml">
<description>
<para>When filling out the user information for a Windows NT
user, the <citerefentry><refentrytitle>winbindd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> daemon uses this
parameter to fill in the home directory for that user. If the
string <parameter moreinfo="none">%D</parameter> is present it
is substituted with the user's Windows NT domain name. If the
string <parameter moreinfo="none">%U</parameter> is present it
is substituted with the user's Windows NT user name.</para>
</description>
<value type="default">/home/%D/%U</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="template shell" context="G" type="string" advanced="1" developer="1" xml:base="winbind/templateshell.xml">
<description>
<para>When filling out the user information for a Windows NT
user, the <citerefentry><refentrytitle>winbindd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> daemon uses this
parameter to fill in the login shell for that user.</para>
</description>
<value type="string">/bin/false</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="time offset" context="G" type="integer" advanced="1" developer="1" xml:base="misc/timeoffset.xml">
<description>
<para>This parameter is a setting in minutes to add
to the normal GMT to local time conversion. This is useful if
you are serving a lot of PCs that have incorrect daylight
saving time handling.</para>
</description>
<value type="default">0</value>
<value type="example">60</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="time server" context="G" type="boolean" advanced="1" developer="1" xml:base="protocol/timeserver.xml">
<description>
<para>This parameter determines if <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> advertises itself as a time server to Windows
clients.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="unix charset" context="G" type="string" advanced="1" developer="1" xml:base="base/unixcharset.xml">
<description>
<para>Specifies the charset the unix machine
Samba runs on uses. Samba needs to know this in order to be able to
convert text to the charsets other SMB clients use.
</para>
<para>This is also the charset Samba will use when specifying arguments
to scripts that it invokes.
</para>
</description>
<value type="default">UTF8</value>
<value type="example">ASCII</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="unix extensions" context="G" type="boolean" advanced="1" developer="1" xml:base="protocol/unixextensions.xml">
<description>
<para>This boolean parameter controls whether Samba
implments the CIFS UNIX extensions, as defined by HP.
These extensions enable Samba to better serve UNIX CIFS clients
by supporting features such as symbolic links, hard links, etc...
These extensions require a similarly enabled client, and are of
no current use to Windows clients.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="unix password sync" context="G" type="boolean" advanced="1" developer="1" xml:base="security/unixpasswordsync.xml">
<description>
<para>This boolean parameter controls whether Samba
attempts to synchronize the UNIX password with the SMB password
when the encrypted SMB password in the smbpasswd file is changed.
If this is set to <constant>yes</constant> the program specified in the <parameter moreinfo="none">passwd
program</parameter> parameter is called <emphasis>AS ROOT</emphasis> -
to allow the new UNIX password to be set without access to the
old UNIX password (as the SMB password change code has no
access to the old password cleartext, only the new).</para>
</description>
<related>passwd program</related>
<related>passwd chat</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="update encrypted" context="G" type="boolean" basic="1" advanced="1" developer="1" xml:base="security/updateencrypted.xml">
<description>
<para>
This boolean parameter allows a user logging on with a plaintext password to have their encrypted (hashed)
password in the smbpasswd file to be updated automatically as they log on. This option allows a site to
migrate from plaintext password authentication (users authenticate with plaintext password over the
wire, and are checked against a UNIX account atabase) to encrypted password authentication (the SMB
challenge/response authentication mechanism) without forcing all users to re-enter their passwords via
smbpasswd at the time the change is made. This is a convenience option to allow the change over to encrypted
passwords to be made over a longer period. Once all users have encrypted representations of their passwords
in the smbpasswd file this parameter should be set to <constant>no</constant>.
</para>
<para>
In order for this parameter to be operative the <smbconfoption name="encrypt passwords"/> parameter must
be set to <constant>no</constant>. The default value of <smbconfoption name="encrypt passwords">Yes</smbconfoption>. Note: This must be set to <constant>no</constant> for this <smbconfoption name="update encrypted"/> to work.
</para>
<para>
Note that even when this parameter is set a user authenticating to <command moreinfo="none">smbd</command>
must still enter a valid password in order to connect correctly, and to update their hashed (smbpasswd)
passwords.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="use client driver" context="S" type="boolean" print="1" xml:base="printing/useclientdriver.xml">
<description>
<para>This parameter applies only to Windows NT/2000
clients. It has no effect on Windows 95/98/ME clients. When
serving a printer to Windows NT/2000 clients without first installing
a valid printer driver on the Samba host, the client will be required
to install a local printer driver. From this point on, the client
will treat the print as a local printer and not a network printer
connection. This is much the same behavior that will occur
when <command moreinfo="none">disable spoolss = yes</command>.
</para>
<para>The differentiating factor is that under normal
circumstances, the NT/2000 client will attempt to open the network
printer using MS-RPC. The problem is that because the client
considers the printer to be local, it will attempt to issue the
OpenPrinterEx() call requesting access rights associated with the
logged on user. If the user possesses local administator rights but
not root privilege on the Samba host (often the case), the
OpenPrinterEx() call will fail. The result is that the client will
now display an "Access Denied; Unable to connect" message
in the printer queue window (even though jobs may successfully be
printed). </para>
<para>If this parameter is enabled for a printer, then any attempt
to open the printer with the PRINTER_ACCESS_ADMINISTER right is mapped
to PRINTER_ACCESS_USE instead. Thus allowing the OpenPrinterEx()
call to succeed. <emphasis>This parameter MUST not be able enabled
on a print share which has valid print driver installed on the Samba
server.</emphasis></para>
</description>
<related>disable spoolss</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="use kerberos keytab" context="G" type="boolean" xml:base="security/usekerberoskeytab.xml">
<description>
<para>
Specifies whether Samba should attempt to maintain service principals in the systems
keytab file for <constant>host/FQDN</constant> and <constant>cifs/FQDN</constant>.
</para>
<para>
When you are using the heimdal Kerberos libraries, you must also specify the following in
<filename>/etc/krb5.conf</filename>:
<programlisting>
[libdefaults]
default_keytab_name = FILE:/etc/krb5.keytab
</programlisting>
</para>
</description>
<value type="default">False</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="use mmap" context="G" type="boolean" developer="1" xml:base="tuning/usemmap.xml">
<description>
<para>This global parameter determines if the tdb internals of Samba can
depend on mmap working correctly on the running system. Samba requires a coherent
mmap/read-write system memory cache. Currently only HPUX does not have such a
coherent cache, and so this parameter is set to <constant>no</constant> by
default on HPUX. On all other systems this parameter should be left alone. This
parameter is provided to help the Samba developers track down problems with
the tdb internal code.
</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="username level" context="G" advanced="1" developer="1" type="integer" xml:base="security/usernamelevel.xml">
<description>
<para>This option helps Samba to try and 'guess' at
the real UNIX username, as many DOS clients send an all-uppercase
username. By default Samba tries all lowercase, followed by the
username with the first letter capitalized, and fails if the
username is not found on the UNIX machine.</para>
<para>If this parameter is set to non-zero the behavior changes.
This parameter is a number that specifies the number of uppercase
combinations to try while trying to determine the UNIX user name. The
higher the number the more combinations will be tried, but the slower
the discovery of usernames will be. Use this parameter when you have
strange usernames on your UNIX machine, such as <constant>AstrangeUser
</constant>.</para>
<para>This parameter is needed only on UNIX systems that have case
sensitive usernames.</para>
</description>
<value type="default">0</value>
<value type="example">5</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="username map script" context="G" type="string" advanced="1" developer="1" xml:base="security/usernamemapscript.xml">
<description>
<para>This script is a mutually exclusive alternative to the
<smbconfoption name="username map"/> parameter. This parameter
specifies and external program or script that must accept a single
command line option (the username transmitted in the authentication
request) and return a line line on standard output (the name to which
the account should mapped). In this way, it is possible to store
username map tables in an LDAP or NIS directory services.
</para>
</description>
<value type="default"/>
<value type="example">/etc/samba/scripts/mapusers.sh</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="username map" context="G" advanced="1" developer="1" type="string" xml:base="security/usernamemap.xml">
<description>
<para>
This option allows you to specify a file containing a mapping of usernames from the clients to the server.
This can be used for several purposes. The most common is to map usernames that users use on DOS or Windows
machines to those that the UNIX box uses. The other is to map multiple users to a single username so that they
can more easily share files.
</para>
<para>
Please note that for user or share mode security, the username map is applied prior to validating the user
credentials. Domain member servers (domain or ads) apply the username map after the user has been
successfully authenticated by the domain controller and require fully qualified enties in the map table (e.g.
biddle = <literal>DOMAIN\foo</literal>).
</para>
<para>
The map file is parsed line by line. Each line should contain a single UNIX username on the left then a '='
followed by a list of usernames on the right. The list of usernames on the right may contain names of the form
@group in which case they will match any UNIX username in that group. The special client name '*' is a
wildcard and matches any name. Each line of the map file may be up to 1023 characters long.
</para>
<para>
The file is processed on each line by taking the supplied username and comparing it with each username on the
right hand side of the '=' signs. If the supplied name matches any of the names on the right hand side then it
is replaced with the name on the left. Processing then continues with the next line.
</para>
<para>
If any line begins with a '#' or a ';' then it is ignored.
</para>
<para>
If any line begins with an '!' then the processing will stop after that line if a mapping was done by the
line. Otherwise mapping continues with every line being processed. Using '!' is most useful when you have a
wildcard mapping line later in the file.
</para>
<para>
For example to map from the name <constant>admin</constant> or <constant>administrator</constant> to the UNIX
name <constant> root</constant> you would use:
<programlisting>
<command moreinfo="none">root = admin administrator</command>
</programlisting>
Or to map anyone in the UNIX group <constant>system</constant> to the UNIX name <constant>sys</constant> you would use:
<programlisting>
<command moreinfo="none">sys = @system</command>
</programlisting>
</para>
<para>
You can have as many mappings as you like in a username map file.
</para>
<para>
If your system supports the NIS NETGROUP option then the netgroup database is checked before the <filename moreinfo="none">/etc/group </filename> database for matching groups.
</para>
<para>
You can map Windows usernames that have spaces in them by using double quotes around the name. For example:
<programlisting>
<command moreinfo="none">tridge = "Andrew Tridgell"</command>
</programlisting>
would map the windows username "Andrew Tridgell" to the unix username "tridge".
</para>
<para>
The following example would map mary and fred to the unix user sys, and map the rest to guest. Note the use of the
'!' to tell Samba to stop processing if it gets a match on that line:
<programlisting format="linespecific">
!sys = mary fred
guest = *
</programlisting>
</para>
<para>
Note that the remapping is applied to all occurrences of usernames. Thus if you connect to \\server\fred and
<constant>fred</constant> is remapped to <constant>mary</constant> then you will actually be connecting to
\\server\mary and will need to supply a password suitable for <constant>mary</constant> not
<constant>fred</constant>. The only exception to this is the username passed to the <smbconfoption name="password server"/> (if you have one). The password server will receive whatever username the client
supplies without modification.
</para>
<para>
Also note that no reverse mapping is done. The main effect this has is with printing. Users who have been
mapped may have trouble deleting print jobs as PrintManager under WfWg will think they don't own the print
job.
</para>
<para>
Samba versions prior to 3.0.8 would only support reading the fully qualified username
(e.g.: <literal>DOMAIN\user</literal>) from
the username map when performing a kerberos login from a client. However, when looking up a map entry for a
user authenticated by NTLM[SSP], only the login name would be used for matches. This resulted in inconsistent
behavior sometimes even on the same server.
</para>
<para>
The following functionality is obeyed in version 3.0.8 and later:
</para>
<para>
When performing local authentication, the username map is applied to the login name before attempting to authenticate
the connection.
</para>
<para>
When relying upon a external domain controller for validating authentication requests, smbd will apply the username map
to the fully qualified username (i.e. <literal>DOMAIN\user</literal>) only after the user has been successfully authenticated.
</para>
<para>
An example of use is:
<programlisting>
username map = /usr/local/samba/lib/users.map
</programlisting>
</para>
</description>
<value type="default"><comment>no username map</comment></value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="username" context="S" type="string" xml:base="security/username.xml">
<synonym>user</synonym>
<synonym>users</synonym>
<description>
<para>Multiple users may be specified in a comma-delimited
list, in which case the supplied password will be tested against
each username in turn (left to right).</para>
<para>The <parameter moreinfo="none">username</parameter> line is needed only when
the PC is unable to supply its own username. This is the case
for the COREPLUS protocol or where your users have different WfWg
usernames to UNIX usernames. In both these cases you may also be
better using the \\server\share%user syntax instead.</para>
<para>The <parameter moreinfo="none">username</parameter> line is not a great
solution in many cases as it means Samba will try to validate
the supplied password against each of the usernames in the
<parameter moreinfo="none">username</parameter> line in turn. This is slow and
a bad idea for lots of users in case of duplicate passwords.
You may get timeouts or security breaches using this parameter
unwisely.</para>
<para>Samba relies on the underlying UNIX security. This
parameter does not restrict who can login, it just offers hints
to the Samba server as to what usernames might correspond to the
supplied password. Users can login as whoever they please and
they will be able to do no more damage than if they started a
telnet session. The daemon runs as the user that they log in as,
so they cannot do anything that user cannot do.</para>
<para>To restrict a service to a particular set of users you
can use the <smbconfoption name="valid users"/> parameter.</para>
<para>If any of the usernames begin with a '@' then the name
will be looked up first in the NIS netgroups list (if Samba
is compiled with netgroup support), followed by a lookup in
the UNIX groups database and will expand to a list of all users
in the group of that name.</para>
<para>If any of the usernames begin with a '+' then the name
will be looked up only in the UNIX groups database and will
expand to a list of all users in the group of that name.</para>
<para>If any of the usernames begin with a '&' then the name
will be looked up only in the NIS netgroups database (if Samba
is compiled with netgroup support) and will expand to a list
of all users in the netgroup group of that name.</para>
<para>Note that searching though a groups database can take
quite some time, and some clients may time out during the
search.</para>
<para>See the section <link linkend="VALIDATIONSECT">NOTE ABOUT
USERNAME/PASSWORD VALIDATION</link> for more information on how
this parameter determines access to the services.</para>
</description>
<value type="default"><comment>The guest account if a guest service,
else <empty string>.</comment></value>
<value type="example">fred, mary, jack, jane, @users, @pcgroup</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="usershare allow guests" context="G" basic="1" advanced="1" type="boolean" xml:base="misc/usershareallowguests.xml">
<description>
<para>This parameter controls whether user defined shares are allowed
to be accessed by non-authenticated users or not. It is the equivalent
of allowing people who can create a share the option of setting
<parameter moreinfo="none">guest ok = yes</parameter> in a share
definition. Due to the security sensitive nature of this the default
is set to off.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="usershare max shares" context="G" basic="1" advanced="1" type="integer" xml:base="misc/usersharemaxshares.xml">
<description>
<para>This parameter specifies the number of user defined shares
that are allowed to be created by users belonging to the group owning the
usershare directory. If set to zero (the default) user defined shares are ignored.
</para>
</description>
<value type="default">0</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="usershare owner only" context="G" basic="1" advanced="1" type="boolean" xml:base="misc/usershareowneronly.xml">
<description>
<para>This parameter controls whether the pathname exported by
a user defined shares must be owned by the user creating the
user defined share or not. If set to True (the default) then
smbd checks that the directory path being shared is owned by
the user who owns the usershare file defining this share and
refuses to create the share if not. If set to False then no
such check is performed and any directory path may be exported
regardless of who owns it.
</para>
</description>
<value type="default">True</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="usershare path" context="G" basic="1" advanced="1" type="string" xml:base="misc/usersharepath.xml">
<description>
<para>This parameter specifies the absolute path of the directory on the
filesystem used to store the user defined share definition files.
This directory must be owned by root, and have no access for
other, and be writable only by the group owner. In addition the
"sticky" bit must also be set, restricting rename and delete to
owners of a file (in the same way the /tmp directory is usually configured).
Members of the group owner of this directory are the users allowed to create
usershares. If this parameter is undefined then no user defined
shares are allowed.
</para>
<para>
For example, a valid usershare directory might be /usr/local/samba/lib/usershares,
set up as follows.
</para>
<para>
<programlisting>
ls -ld /usr/local/samba/lib/usershares/
drwxrwx--T 2 root power_users 4096 2006-05-05 12:27 /usr/local/samba/lib/usershares/
</programlisting>
</para>
<para>
In this case, only members of the group "power_users" can create user defined shares.
</para>
</description>
<value type="default">NULL</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="usershare prefix allow list" context="G" basic="1" advanced="1" type="string" xml:base="misc/usershareprefixallowlist.xml">
<description>
<para>This parameter specifies a list of absolute pathnames
the root of which are allowed to be exported by user defined share definitions.
If the pathname exported doesn't start with one of the strings in this
list the user defined share will not be allowed. This allows the Samba
administrator to restrict the directories on the system that can be
exported by user defined shares.
</para>
<para>
If there is a "usershare prefix deny list" and also a
"usershare prefix allow list" the deny list is processed
first, followed by the allow list, thus leading to the most
restrictive interpretation.
</para>
</description>
<value type="default">NULL</value>
<value type="example">/home /data /space</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="usershare prefix deny list" context="G" basic="1" advanced="1" type="string" xml:base="misc/usershareprefixdenylist.xml">
<description>
<para>This parameter specifies a list of absolute pathnames
the root of which are NOT allowed to be exported by user defined share definitions.
If the pathname exported starts with one of the strings in this
list the user defined share will not be allowed. Any pathname not
starting with one of these strings will be allowed to be exported
as a usershare. This allows the Samba administrator to restrict the
directories on the system that can be exported by user defined shares.
</para>
<para>
If there is a "usershare prefix deny list" and also a
"usershare prefix allow list" the deny list is processed
first, followed by the allow list, thus leading to the most
restrictive interpretation.
</para>
</description>
<value type="default">NULL</value>
<value type="example">/etc /dev /private</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="usershare template share" context="G" basic="1" advanced="1" type="string" xml:base="misc/usersharetemplateshare.xml">
<description>
<para>User defined shares only have limited possible parameters
such as path, guest ok etc. This parameter allows usershares to
"cloned" from an existing share. If "usershare template share"
is set to the name of an existing share, then all usershares
created have their defaults set from the parameters set on this
share.
</para>
<para>
The target share may be set to be invalid for real file
sharing by setting the parameter "-valid = False" on the template
share definition. This causes it not to be seen as a real exported
share but to be able to be used as a template for usershares.
</para>
</description>
<value type="default">NULL</value>
<value type="example">template_share</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="use sendfile" context="S" type="boolean" xml:base="tuning/usesendfile.xml">
<description>
<para>If this parameter is <constant>yes</constant>, and the <constant>sendfile()</constant>
system call is supported by the underlying operating system, then some SMB read calls
(mainly ReadAndX and ReadRaw) will use the more efficient sendfile system call for files that
are exclusively oplocked. This may make more efficient use of the system CPU's
and cause Samba to be faster. Samba automatically turns this off for clients
that use protocol levels lower than NT LM 0.12 and when it detects a client is
Windows 9x (using sendfile from Linux will cause these clients to fail).
</para>
</description>
<value type="default">false</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="use spnego" context="G" type="boolean" developer="1" xml:base="protocol/usespnego.xml">
<description>
<para>This variable controls controls whether samba will try
to use Simple and Protected NEGOciation (as specified by rfc2478) with
WindowsXP and Windows2000 clients to agree upon an authentication mechanism.
</para>
<para>
Unless further issues are discovered with our SPNEGO
implementation, there is no reason this should ever be
disabled.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="utmp directory" context="G" type="string" advanced="1" developer="1" xml:base="misc/utmpdirectory.xml">
<description>
<para>This parameter is only available if Samba has
been configured and compiled with the option <command moreinfo="none">
--with-utmp</command>. It specifies a directory pathname that is
used to store the utmp or utmpx files (depending on the UNIX system) that
record user connections to a Samba server. By default this is
not set, meaning the system will use whatever utmp file the
native system is set to use (usually
<filename moreinfo="none">/var/run/utmp</filename> on Linux).</para>
</description>
<related>utmp</related>
<value type="default"><comment>Determined automatically</comment></value>
<value type="example">/var/run/utmp</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="utmp" context="G" type="boolean" developer="1" xml:base="misc/utmp.xml">
<description>
<para>
This boolean parameter is only available if Samba has been configured and compiled
with the option <command moreinfo="none">--with-utmp</command>. If set to
<constant>yes</constant> then Samba will attempt to add utmp or utmpx records
(depending on the UNIX system) whenever a connection is made to a Samba server.
Sites may use this to record the user connecting to a Samba share.
</para>
<para>
Due to the requirements of the utmp record, we are required to create a unique
identifier for the incoming user. Enabling this option creates an n^2 algorithm
to find this number. This may impede performance on large installations.
</para>
</description>
<related>utmp directory</related>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="valid users" context="S" type="list" xml:base="security/validusers.xml">
<description>
<para>
This is a list of users that should be allowed to login to this service. Names starting with
'@', '+' and '&' are interpreted using the same rules as described in the
<parameter moreinfo="none">invalid users</parameter> parameter.
</para>
<para>
If this is empty (the default) then any user can login. If a username is in both this list
and the <parameter moreinfo="none">invalid users</parameter> list then access is denied
for that user.
</para>
<para>
The current servicename is substituted for <parameter moreinfo="none">%S</parameter>.
This is useful in the [homes] section.
</para>
</description>
<related>invalid users</related>
<value type="default"><comment>No valid users list (anyone can login) </comment></value>
<value type="example">greg, @pcusers</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="-valid" context="S" type="boolean" xml:base="misc/valid.xml">
<description>
<para> This parameter indicates whether a share is
valid and thus can be used. When this parameter is set to false,
the share will be in no way visible nor accessible.
</para>
<para>
This option should not be
used by regular users but might be of help to developers.
Samba uses this option internally to mark shares as deleted.
</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="veto files" context="S" type="string" xml:base="filename/vetofiles.xml">
<description>
<para>
This is a list of files and directories that are neither visible nor accessible. Each entry in
the list must be separated by a '/', which allows spaces to be included in the entry. '*' and '?'
can be used to specify multiple files or directories as in DOS wildcards.
</para>
<para>
Each entry must be a unix path, not a DOS path and must <emphasis>not</emphasis> include the
unix directory separator '/'.
</para>
<para>
Note that the <smbconfoption name="case sensitive"/> option is applicable in vetoing files.
</para>
<para>
One feature of the veto files parameter that it is important to be aware of is Samba's behaviour when
trying to delete a directory. If a directory that is to be deleted contains nothing but veto files this
deletion will <emphasis>fail</emphasis> unless you also set the <smbconfoption name="delete veto files"/>
parameter to <parameter moreinfo="none">yes</parameter>.
</para>
<para>
Setting this parameter will affect the performance of Samba, as it will be forced to check all files
and directories for a match as they are scanned.
</para>
<para>
Examples of use include:
<programlisting>
; Veto any files containing the word Security,
; any ending in .tmp, and any directory containing the
; word root.
veto files = /*Security*/*.tmp/*root*/
; Veto the Apple specific files that a NetAtalk server
; creates.
veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
</programlisting>
</para>
</description>
<related>hide files</related>
<related>case sensitive</related>
<value type="default">No files or directories are vetoed.</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="veto oplock files" context="S" type="string" xml:base="filename/vetooplockfiles.xml">
<description>
<para>
This parameter is only valid when the <smbconfoption name="oplocks"/>
parameter is turned on for a share. It allows the Samba administrator
to selectively turn off the granting of oplocks on selected files that
match a wildcarded list, similar to the wildcarded list used in the
<smbconfoption name="veto files"/> parameter.
</para>
<para>
You might want to do this on files that you know will be heavily contended
for by clients. A good example of this is in the NetBench SMB benchmark
program, which causes heavy client contention for files ending in
<filename moreinfo="none">.SEM</filename>. To cause Samba not to grant
oplocks on these files you would use the line (either in the [global]
section or in the section for the particular NetBench share.
</para>
<para>
An example of use is:
<programlisting>
veto oplock files = /.*SEM/
</programlisting>
</para>
</description>
<value type="default"><comment>No files are vetoed for oplock grants</comment></value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="vfs objects" type="list" context="S" xml:base="vfs/vfsobjects.xml">
<synonym>vfs object</synonym>
<description>
<para>This parameter specifies the backend names which
are used for Samba VFS I/O operations. By default, normal
disk I/O operations are used but these can be overloaded
with one or more VFS objects. </para>
</description>
<value type="default"/>
<value type="example">extd_audit recycle</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="volume" context="S" type="string" xml:base="misc/volume.xml">
<description>
<para>This allows you to override the volume label
returned for a share. Useful for CDROMs with installation programs
that insist on a particular volume label.</para>
</description>
<value type="default"><comment>the name of the share</comment></value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="wide links" context="S" type="boolean" xml:base="misc/widelinks.xml">
<description>
<para>This parameter controls whether or not links
in the UNIX file system may be followed by the server. Links
that point to areas within the directory tree exported by the
server are always allowed; this parameter controls access only
to areas that are outside the directory tree being exported.</para>
<para>Note that setting this parameter can have a negative
effect on your server performance due to the extra system calls
that Samba has to do in order to perform the link checks.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind cache time" context="G" type="integer" advanced="1" developer="1" xml:base="winbind/winbindcachetime.xml">
<description>
<para>This parameter specifies the number of
seconds the <citerefentry><refentrytitle>winbindd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> daemon will cache
user and group information before querying a Windows NT server
again.</para>
<para>
This does not apply to authentication requests, these are always
evaluated in real time unless the <smbconfoption name="winbind offline logon"/> option has been enabled.
</para>
</description>
<value type="default">300</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind enum groups" context="G" type="boolean" advanced="1" developer="1" xml:base="winbind/winbindenumgroups.xml">
<description>
<para>On large installations using <citerefentry><refentrytitle>winbindd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> it may be necessary to suppress
the enumeration of groups through the <command moreinfo="none">setgrent()</command>,
<command moreinfo="none">getgrent()</command> and
<command moreinfo="none">endgrent()</command> group of system calls. If
the <parameter moreinfo="none">winbind enum groups</parameter> parameter is
<constant>no</constant>, calls to the <command moreinfo="none">getgrent()</command> system
call will not return any data. </para>
<warning><para>Turning off group enumeration may cause some programs to behave oddly. </para></warning>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind enum users" context="G" advanced="1" developer="1" xml:base="winbind/winbindenumusers.xml">
<description>
<para>On large installations using <citerefentry><refentrytitle>winbindd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> it may be
necessary to suppress the enumeration of users through the <command moreinfo="none">setpwent()</command>,
<command moreinfo="none">getpwent()</command> and
<command moreinfo="none">endpwent()</command> group of system calls. If
the <parameter moreinfo="none">winbind enum users</parameter> parameter is
<constant>no</constant>, calls to the <command moreinfo="none">getpwent</command> system call
will not return any data. </para>
<warning><para>Turning off user
enumeration may cause some programs to behave oddly. For
example, the finger program relies on having access to the
full user list when searching for matching
usernames. </para></warning>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind expand groups" context="G" type="integer" advanced="1" developer="1" xml:base="winbind/winbindexpandgroups.xml">
<description>
<para>This option controls the maximum depth that winbindd
will traverse when flattening nested group memberships
of Windows domain groups. This is different from the
<smbconfoption name="winbind nested groups"/> option
which implements the Windows NT4 model of local group
nesting. The "winbind expand groups"
parameter specifically applies to the membership of
domain groups.</para>
<para>Be aware that a high value for this parameter can
result in system slowdown as the main parent winbindd daemon
must perform the group unrolling and will be unable to answer
incoming NSS or authentication requests during this time.</para>
</description>
<value type="default">1</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind nested groups" context="G" type="boolean" advanced="1" developer="1" xml:base="winbind/winbindnestedgroups.xml">
<description>
<para>If set to yes, this parameter activates the support for nested
groups. Nested groups are also called local groups or
aliases. They work like their counterparts in Windows: Nested
groups are defined locally on any machine (they are shared
between DC's through their SAM) and can contain users and
global groups from any trusted SAM. To be able to use nested
groups, you need to run nss_winbind.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind normalize names" context="G" type="boolean" advanced="1" developer="1" xml:base="winbind/winbindnormalizenames.xml">
<description>
<para>This parameter controls whether winbindd will replace
whitespace in user and group names with an underscore (_) character.
For example, whether the name "Space Kadet" should be
replaced with the string "space_kadet".
Frequently Unix shell scripts will have difficulty with usernames
contains whitespace due to the default field separator in the shell.
Do not enable this option if the underscore character is used in
account names within your domain
</para>
</description>
<value type="default">no</value>
<value type="example">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind nss info" context="G" type="boolean" advanced="1" developer="1" xml:base="winbind/winbindnssinfo.xml">
<description>
<para>This parameter is designed to control how Winbind retrieves Name
Service Information to construct a user's home directory and login shell.
Currently the following settings are available:
<itemizedlist>
<listitem>
<para><parameter moreinfo="none">template</parameter>
- The default, using the parameters of <parameter moreinfo="none">template
shell</parameter> and <parameter moreinfo="none">template homedir</parameter>)
</para>
</listitem>
<listitem>
<para><parameter moreinfo="none"><sfu | rfc2307 ></parameter>
- When Samba is running in security = ads and your Active Directory
Domain Controller does support the Microsoft "Services for Unix" (SFU)
LDAP schema, winbind can retrieve the login shell and the home
directory attributes directly from your Directory Server. Note that
retrieving UID and GID from your ADS-Server requires to
use <parameter moreinfo="non">idmap backend</parameter> = ad
or <parameter moreinfo="non">idmap config DOMAIN:backend</parameter> = ad
as well.
</para>
</listitem>
</itemizedlist>
</para>
</description>
<value type="default">template</value>
<value type="example">template sfu</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind offline logon" context="G" type="boolean" advanced="1" developer="1" xml:base="winbind/winbindofflinelogon.xml">
<description>
<para>This parameter is designed to control whether Winbind should
allow to login with the <parameter moreinfo="none">pam_winbind</parameter>
module using Cached Credentials. If enabled, winbindd will store user credentials
from successful logins encrypted in a local cache.
</para>
</description>
<value type="default">false</value>
<value type="example">true</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind refresh tickets" context="G" type="boolean" advanced="1" developer="1" xml:base="winbind/winbindrefreshtickets.xml">
<description>
<para>This parameter is designed to control whether Winbind should refresh Kerberos Tickets
retrieved using the <parameter moreinfo="none">pam_winbind</parameter> module.
</para>
</description>
<value type="default">false</value>
<value type="example">true</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind rpc only" context="G" type="string" advanced="1" developer="0" xml:base="winbind/winbindrpconly.xml">
<description>
<para>
Setting this parameter to <value type="example">yes</value> forces
winbindd to use RPC instead of LDAP to retrieve information from Domain
Controllers.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind separator" context="G" advanced="1" developer="1" type="string" xml:base="winbind/winbindseparator.xml">
<description>
<para>This parameter allows an admin to define the character
used when listing a username of the form of <replaceable>DOMAIN
</replaceable>\<replaceable>user</replaceable>. This parameter
is only applicable when using the <filename moreinfo="none">pam_winbind.so</filename>
and <filename moreinfo="none">nss_winbind.so</filename> modules for UNIX services.
</para>
<para>Please note that setting this parameter to + causes problems
with group membership at least on glibc systems, as the character +
is used as a special character for NIS in /etc/group.</para>
</description>
<value type="default">'\'</value>
<value type="example">+</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind trusted domains only" context="G" type="boolean" advanced="1" developer="1" xml:base="winbind/winbindtrusteddomainsonly.xml">
<description>
<para>
This parameter is designed to allow Samba servers that are members
of a Samba controlled domain to use UNIX accounts distributed via NIS,
rsync, or LDAP as the uid's for winbindd users in the hosts primary domain.
Therefore, the user <literal>DOMAIN\user1</literal> would be mapped to
the account user1 in /etc/passwd instead of allocating a new uid for him or her.
</para>
<para>
This parameter is now deprecated in favor of the newer idmap_nss backend.
Refer to the <smbconfoption name="idmap domains"/> smb.conf option and
the <citerefentry><refentrytitle>idmap_nss</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> man page for more information.
</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="winbind use default domain" context="G" type="boolean" advanced="1" developer="1" xml:base="winbind/winbindusedefaultdomain.xml">
<description>
<para>This parameter specifies whether the
<citerefentry><refentrytitle>winbindd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> daemon should operate on users
without domain component in their username. Users without a domain
component are treated as is part of the winbindd server's own
domain. While this does not benifit Windows users, it makes SSH, FTP and
e-mail function in a way much closer to the way they
would in a native unix system.</para>
</description>
<value type="default">no</value>
<value type="example">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="wins hook" context="G" type="string" advanced="1" developer="1" xml:base="wins/winshook.xml">
<description>
<para>When Samba is running as a WINS server this
allows you to call an external program for all changes to the
WINS database. The primary use for this option is to allow the
dynamic update of external name resolution databases such as
dynamic DNS.</para>
<para>The wins hook parameter specifies the name of a script
or executable that will be called as follows:</para>
<para><command moreinfo="none">wins_hook operation name nametype ttl IP_list</command></para>
<itemizedlist>
<listitem>
<para>The first argument is the operation and is
one of "add", "delete", or
"refresh". In most cases the operation
can be ignored as the rest of the parameters
provide sufficient information. Note that
"refresh" may sometimes be called when
the name has not previously been added, in that
case it should be treated as an add.</para>
</listitem>
<listitem>
<para>The second argument is the NetBIOS name. If the
name is not a legal name then the wins hook is not called.
Legal names contain only letters, digits, hyphens, underscores
and periods.</para>
</listitem>
<listitem>
<para>The third argument is the NetBIOS name
type as a 2 digit hexadecimal number. </para>
</listitem>
<listitem>
<para>The fourth argument is the TTL (time to live)
for the name in seconds.</para>
</listitem>
<listitem>
<para>The fifth and subsequent arguments are the IP
addresses currently registered for that name. If this list is
empty then the name should be deleted.</para>
</listitem>
</itemizedlist>
<para>An example script that calls the BIND dynamic DNS update
program <command moreinfo="none">nsupdate</command> is provided in the examples
directory of the Samba source code. </para>
</description>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="wins proxy" context="G" type="boolean" advanced="1" developer="1" xml:base="wins/winsproxy.xml">
<description>
<para>This is a boolean that controls if <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> will respond to broadcast name
queries on behalf of other hosts. You may need to set this
to <constant>yes</constant> for some older clients.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="wins server" context="G" type="boolean" basic="1" advanced="1" wizard="1" developer="1" xml:base="wins/winsserver.xml">
<description>
<para>This specifies the IP address (or DNS name: IP
address for preference) of the WINS server that <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> should register with. If you have a WINS server on
your network then you should set this to the WINS server's IP.</para>
<para>You should point this at your WINS server if you have a
multi-subnetted network.</para>
<para>If you want to work in multiple namespaces, you can
give every wins server a 'tag'. For each tag, only one
(working) server will be queried for a name. The tag should be
separated from the ip address by a colon.
</para>
<note><para>You need to set up Samba to point
to a WINS server if you have multiple subnets and wish cross-subnet
browsing to work correctly.</para></note>
<para>See the chapter in the Samba3-HOWTO on Network Browsing.</para>
</description>
<value type="default"/>
<value type="example">mary:192.9.200.1 fred:192.168.3.199 mary:192.168.2.61
<comment>For this example when querying a certain name, 192.19.200.1 will
be asked first and if that doesn't respond 192.168.2.61. If either
of those doesn't know the name 192.168.3.199 will be queried.</comment></value>
<value type="example">192.9.200.1 192.168.2.61</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="wins support" type="boolean" context="G" basic="1" advanced="1" wizard="1" developer="1" xml:base="wins/winssupport.xml">
<description>
<para>This boolean controls if the <citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> process in Samba will act as a WINS server. You should
not set this to <constant>yes</constant> unless you have a multi-subnetted network and
you wish a particular <command moreinfo="none">nmbd</command> to be your WINS server.
Note that you should <emphasis>NEVER</emphasis> set this to <constant>yes</constant>
on more than one machine in your network.</para>
</description>
<value type="default">no</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="workgroup" context="G" type="string" basic="1" advanced="1" wizard="1" developer="1" xml:base="base/workgroup.xml">
<description>
<para>This controls what workgroup your server will
appear to be in when queried by clients. Note that this parameter
also controls the Domain name used with
the <smbconfoption name="security">domain</smbconfoption>
setting.</para>
</description>
<value type="default">WORKGROUP</value>
<value type="example">MYGROUP</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="writeable" context="S" type="boolean" xml:base="security/writeable.xml">
<synonym>writable</synonym>
<description>
<para>Inverted synonym for <smbconfoption name="read only"/>.</para>
</description>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="write cache size" context="S" type="integer" xml:base="tuning/writecachesize.xml">
<description>
<para>If this integer parameter is set to non-zero value,
Samba will create an in-memory cache for each oplocked file
(it does <emphasis>not</emphasis> do this for
non-oplocked files). All writes that the client does not request
to be flushed directly to disk will be stored in this cache if possible.
The cache is flushed onto disk when a write comes in whose offset
would not fit into the cache or when the file is closed by the client.
Reads for the file are also served from this cache if the data is stored
within it.</para>
<para>This cache allows Samba to batch client writes into a more
efficient write size for RAID disks (i.e. writes may be tuned to
be the RAID stripe size) and can improve performance on systems
where the disk subsystem is a bottleneck but there is free
memory for userspace programs.</para>
<para>The integer parameter specifies the size of this cache
(per oplocked file) in bytes.</para>
</description>
<value type="default">0</value>
<value type="example">262144<comment> for a 256k cache size per file</comment></value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="write list" context="S" type="list" xml:base="security/writelist.xml">
<description>
<para>
This is a list of users that are given read-write access to a service. If the
connecting user is in this list then they will be given write access, no matter
what the <smbconfoption name="read only"/> option is set to. The list can
include group names using the @group syntax.
</para>
<para>
Note that if a user is in both the read list and the write list then they will be
given write access.
</para>
<para>
By design, this parameter will not work with the
<smbconfoption name="security">share</smbconfoption> in Samba 3.0.
</para>
</description>
<related>read list</related>
<value type="default"/>
<value type="example">admin, root, @staff</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="write raw" context="G" type="boolean" developer="1" xml:base="protocol/writeraw.xml">
<description>
<para>This parameter controls whether or not the server
will support raw write SMB's when transferring data from clients.
You should never need to change this parameter.</para>
</description>
<value type="default">yes</value>
</samba:parameter>
<samba:parameter xmlns:samba="http://www.samba.org/samba/DTD/samba-doc" name="wtmp directory" context="G" type="string" advanced="1" developer="1" xml:base="misc/wtmpdirectory.xml">
<description>
<para>
This parameter is only available if Samba has been configured and compiled with the option <command moreinfo="none">
--with-utmp</command>. It specifies a directory pathname that is used to store the wtmp or wtmpx files (depending on
the UNIX system) that record user connections to a Samba server. The difference with the utmp directory is the fact
that user info is kept after a user has logged out.
</para>
<para>
By default this is not set, meaning the system will use whatever utmp file the native system is set to use (usually
<filename moreinfo="none">/var/run/wtmp</filename> on Linux).
</para>
</description>
<related>utmp</related>
<value type="default"/>
<value type="example">/var/log/wtmp</value>
</samba:parameter>
</section>
|