<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<refentry id="smbcacls" lang="pl">

<refmeta>
    <refentrytitle>smbcacls</refentrytitle>
    <manvolnum>1</manvolnum>
</refmeta>

<refnamediv>
    <refname>smbcacls</refname>
    <refpurpose>Ustaw lub pobierz ACLe pliku lub katalogu NT</refpurpose>
</refnamediv>

<refsynopsisdiv>
    <cmdsynopsis>
      <command>smbcacls</command>
	<arg choice="req">//serwer/wspoludzial</arg>
	<arg choice="req">nazwapliku</arg>
	<arg choice="opt">-U nazwauzytkownika</arg>
	<arg choice="opt">-A acle</arg>
	<arg choice="opt">-M acle</arg>
	<arg choice="opt">-D acle</arg>
	<arg choice="opt">-S acle</arg>
	<arg choice="opt">-C nazwa</arg>
	<arg choice="opt">-G nazwa</arg>
	<arg choice="opt">-n</arg>
	<arg choice="opt">-h</arg>
    </cmdsynopsis>
</refsynopsisdiv>

<refsect1>
    <title>OPIS</title>

    <para>To narzędzie jest częścią pakietu <ulink url="samba.7.html">
	Samba</ulink>.</para>

    <para>Program smbcacls manipuluje Listami Kontroli Dostępu NT
      (NT Access Control Lists, stąd spolszczenie liczby mnogiej - ACLe,
      przyp.tłum.) na współudziałach plikowych SMB.</para>
</refsect1>

<refsect1>
    <title>OPCJE</title>

    <para>Następujące opcje są dostępne dla programu smbcacls. Format
      ACLi jest opisany w sekcji FORMAT ACL.</para>

    <variablelist>
      <varlistentry>
	<term>-A acle</term>
	<listitem><para>Dodaj ACLe określone na liscie ACL. Istniejące
	    wpisy kontroli dostępu pozostają niezmienione.</para></listitem>
      </varlistentry>

      <varlistentry>
	<term>-M acle</term>
	<listitem><para>Zmodyfikuj wartość maski (zezwolenia) dla ACLi podanych
	    w linii poleceń. Błąd będzie wyświetlony dla każdego podanego ACLa
	    który nie był obecny na liście ACL.</para></listitem>
      </varlistentry>

      <varlistentry>
	<term>-D acle</term>
	<listitem><para>Usuń każdy ACL określony w linii poleceń. Błąd będzie
	    wyświetlony dla każdego ACLa który nie być obecny na liście ACLi.
	  </para></listitem>
      </varlistentry>

      <varlistentry>
	<term>-S acle</term>
	<listitem><para>To polecenie ustawia na pliku tylko te ACLe, które
	    były podane w linii poleceń. Wszystkie inne są usuwane. Zauważ,
	    że określone tu ACLe muszą zawierać przynajmniej rewizję, typ,
	    właściciela i grupę, żeby wywołanie zakończyło się sukcesem.
	  </para></listitem>
      </varlistentry>

      <varlistentry>
	<term>-U nazwauzytkownika</term>
	<listitem><para>Określa nazwę użytkownika wykorzystaną do podłączenia
	    się do określonej usługi. Nazwa może mieć formę "nazwauzytkownika".
	    W tym przypadku użytkownik jest poproszony o wpisanie hasła,
	    a użyta grupa robocza (workgroup) jest taka, jak określona w pliku
	    <filename>smb.conf</filename>. Użyte mogą być też "nazwauzytkownika%haslo"
	    lub "DOMENA\nazwauzytkownika%haslo" i wtedy hasło i grupa robocza
	    są takie, jak dostarczone.</para></listitem>
      </varlistentry>

      <varlistentry>
	<term>-C nazwa</term>
	<listitem><para>Właściciel pliku lub katalogu może zostać zmieniony
	    na nazwę podaną przy użyciu opcji <parameter>-C</parameter>.
	    Nazwą może być sid w formie S-1-x-y-z lub nazwa odwzorowana
	    przez serwer określony w pierwszym argumencie.</para>

	  <para>To polecenie jest skrótem dla -M WLASCICIEL:nazwa.
	  </para></listitem>
      </varlistentry>

      <varlistentry>
	<term>-G nazwa</term>
	<listitem><para>Właściciel grupowy pliku lub katalogu może być
	    zmieniony na nazwę podaną przy użyciu opcji <parameter>-G
	    </parameter>. Nazwą może być sid w formie S-1-x-y-z lub
	    nazwa odwzorowana przez serwer określony w pierwszym argumencie.
	  </para>

	  <para>To polecenie jest skrótem dla -M GRUPA:nazwa.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term>-n</term>
	<listitem><para>Ta opcja wyświetla wszystkie informacje ACL
	    w formacie numerycznym. Domyślnie, SIDy są konwertowane do
	    nazw, a typy ACE i maski do formatu czytelnego łańcucha
	    znakowego.</para></listitem>
      </varlistentry>

      <varlistentry>
	<term>-h</term>
	<listitem><para>Wypisuje informację na temat użycia programu
	    <command>smbcacls</command>.</para></listitem>
      </varlistentry>
    </variablelist>
</refsect1>

<refsect1>
    <title>FORMAT ACL</title>

    <para>Formatem ACL jest jeden lub więcej wpisów ACL oddzielonych
      albo przecinkami, albo znakami końca linii. Wpis ACL jest jednym
      z następujących:</para>

    <para><programlisting>
REVISION:&lt;numer rewizji&gt;
OWNER:&lt;sid lub nazwa&gt;
GROUP:&lt;sid lub nazwa&gt;
ACL:&lt;sid lub nazwa&gt;:&lt;typ&gt;/&lt;flagi&gt;/&lt;maska&gt;
      </programlisting></para>

    <para>Rewizja (REVISION) ACL określa wewnętrzną w Windows NT ACL
      rewizję deskryptora zabezpieczenia. Jeśli nie jest określona,
      przyjmuje wartość domyślną 1. Korzystanie z wartości innych niż
      1 może spowodować dziwne zachowanie.</para>

    <para>Właściciel (OWNER) i grupa (GROUP) określają sid'y właściciela
      i grupy dla obiektu. Jeśli SID jest określony w formacie CWS-1-x-y-z,
      to taki jest użyty. W przeciwnym wypadku podana nazwa jest odwzorowana
      przy użyciu serwera na którym znajduje się plik lub katalog.</para>

    <para>ACLe określają zezwolenia przyznane dla SID'a. SID ten może być
      znów określony w formacie CWS-1-x-y-z lub jako nazwa, w którym to
      przypadku jest odwzorowana przez serwer na którym znajduje się
      plik lub katalog. Typ, flagi i maska determinują typ dostępu przyznany
      dla tego SID'a.</para>

    <para>Typ może być albo 0, albo 1, co odpowiada ALLOWED (zezwolony)
      lub DENIED (zabroniony) dostęp dla SID'a. Wartości flag to geralnie
      zero dla plikowych ACLi i albo 9, albo 2 dla katalogowych ACLi.
      Niektóre powszechne flagi to:</para>

    <itemizedlist>
      <listitem><para>#define SEC_ACE_FLAG_OBJECT_INHERIT            0x1</para></listitem>
      <listitem><para>#define SEC_ACE_FLAG_CONTAINER_INHERIT         0x2</para></listitem>
      <listitem><para>#define SEC_ACE_FLAG_NO_PROPAGATE_INHERIT      0x4</para></listitem>
      <listitem><para>#define SEC_ACE_FLAG_INHERIT_ONLY              0x8</para></listitem>
    </itemizedlist>

    <para>Obecnie flagi mogą być określone tylko jako dziesiętne lub
      szesnastkowe wartości.</para>

    <para>Maska jest wartością która wyraża prawa dostępu przyznane dla
      SID'a. Może być podana jako wartość dzieśiętna lub szesnastkowa,
      lub za pomocą jednego z poniższych łańcuchów tekstowych które
      mapują na zezwolenia plikowe NT o tej samej nazwie.</para>

    <itemizedlist>
      <listitem><para><emphasis>R</emphasis> - Zezwól na dostęp do odczytu</para></listitem>
      <listitem><para><emphasis>W</emphasis> - Zezwól na dostęp do zapisu</para></listitem>
      <listitem><para><emphasis>X</emphasis> - Zezwolenie wykonania dla obiektu</para></listitem>
      <listitem><para><emphasis>D</emphasis> - Usuwanie obiektu</para></listitem>
      <listitem><para><emphasis>P</emphasis> - Zmiana zezwoleń</para></listitem>
      <listitem><para><emphasis>O</emphasis> - Przejęcie własności</para></listitem>
    </itemizedlist>

    <para>Następujące łączone zezwolenia mogą być określane:</para>

    <itemizedlist>
      <listitem><para><emphasis>READ</emphasis> - Odpowiednik dla zezwoleń 'RX'</para></listitem>
      <listitem><para><emphasis>CHANGE</emphasis> - Odpowiednik dla zezwoleń 'RXWD'</para></listitem>
      <listitem><para><emphasis>FULL</emphasis> - Odpowiednik dla zezwoleń 'RWXDPO'</para></listitem>
    </itemizedlist>

</refsect1>

<refsect1>
    <title>STATUS WYJŚCIA</title>

    <para>Program <command>smbcacls</command> ustawia status wyjścia
      (exit status) zależnie od sukcesu lub jego braku w wykonywanych
      operacjach. Status wyjścia może być jedną z poniższych wartości.
    </para>

    <para>Jeśli operacja zakończyła się sukcesem, smbcacls zwraca
      status wyjścia 0. Jeśli smbcacls nie mógł podłączyć się do
      określonego serwera lub nastąpił błąd pobierania lub ustawiania
      ACLi, status wyjścia 1 jest zwracany. Jeśli nastąpił błąd
      parsowania któregoś z argumentów linii poleceń, zwracany jest
      status wyjścia 2.</para>
</refsect1>

<refsect1>
    <title>AUTOR</title>

    <Para>Pierwotnie, Samba i związane z nią oprogramowanie były
      stworzone przez Andrew Tridgella. Samba jest teraz rozwijana
      przez Zespół Samba jako projekt Open Source podobnie jak jądro
      Linux.</para>

    <para><command>smbcacls</command> został napisany przez Andrew
      Tridgella i Tima Pottera.</para>

    <para>Konwersja do DocBook dla Samba 2.2 została wykonana przez
      Geralda Cartera. Tłumaczenie na język polski wykonał
      Rafał Szcześniak.</para>
</refsect1>

</refentry>
