Strona 1 z 1

Jak zapisywać plik jako własność danej grupy?

: 03 czerwca 2012, 22:33
autor: salo5
Witam!

Na jednym komputerze z Debianem używany jest program transmission, który uruchamiam skryptem:

Kod: Zaznacz cały

/usr/bin/transmission-daemon -g /etc/transmission-daemon
Transmission działa prawidłowo, ściąga i umożliwia wgrywanie plików.

Niestety pliki i katalogi zapisuje jako własność roota.

Uruchamiam również na tym komputerze Sambę, żeby pod Windowsem móc przeglądać katalogi.

Niestety pod Windowsem taki katalog lub plik można tylko otworzyć, nie można edytować.

W związku z tym np. jak ściągnę plik i chcę dociągnąć napisy, to niestety mam odmowę dostępu i plik nie może być zapisany.

Stąd moje pytanie:
Czy programy uruchamiane jako root mogą zapisywać dane od razu jako własność danej grupy?

Jestem ciekawy, czy ktoś mógłby mi pomóc?

Z góry dziękuję.

Pozdrawiam!

: 18 czerwca 2012, 11:56
autor: sethiel

Kod: Zaznacz cały

sudo su
np.

Kod: Zaznacz cały

su -u user /usr/bin/transmission-daemon -g /etc/transmission-daemon
sudo -u user /usr/bin/transmission-daemon -g /etc/transmission-daemon

: 18 czerwca 2012, 18:12
autor: DaVidoSS
Ludzie od kiedy w Debianie konto root służy do uruchamiania programów typu "userspace"??
Konto root służy do administracji systemem nie do "dzielenia się plikami"
Czy Wy to w ogóle potraficie rozróżnić?

: 19 czerwca 2012, 12:03
autor: salo5
No widzisz, ja nie potrafię.
Linuksa nie znam w ogóle, próbuję się go uczyć. Szukałem jakiejś ciekawej książki od postaw, łopatologicznej ale nie wiem co wybrać.

W sieci jest mnóstwo opisów, ale nie o taką naukę mi chodzi.

Dlatego pytam Was o to.

Pozdrawiam!

: 19 czerwca 2012, 15:12
autor: sethiel
Szczerze mówiąc nie dziwie się, że salo5 nie potrafi odróżniać. Może dlatego, że ja też nie bardzo to potrafię odróżnić.

Zwłaszcza, że standardowe konto powłoki, które tworzy się w systemie dla użytkownika pozwala na podgląd niemalże wszystkiego.

Jeśli ktoś jest zwykłym administratorem a nie mastahem to zrobienie rbash położy na łopatki.
Ot co.
DaVidoSS - o wielki su faktycznie nie dorastamy Ci do pięt.

: 19 czerwca 2012, 17:02
autor: salo5

Kod: Zaznacz cały

root@serwer:~# su -u pc_wlodek /usr/bin/transmission-daemon -g /etc/transmission-daemon
su: błędna opcja -- 'u'
Użycie: su [opcje] [LOGIN]

Opcje:
  -c, --command POLECENIE   uruchom POLECENIE w to wywoływanym shellu
  -h, --help                wyświetlenie tego opisu i zakończenie działania
  -, -l, --login            uruchom z  powłoką z powłoką zgłoszeniową
  -m, -p,
  --preserve-environment    uruchomienie z zachowaniem zmiennych środowiska
  -s, --shell SHELL         użyj SHELL zamiast domyślny shell z passwd

: 19 czerwca 2012, 17:45
autor: diabolic3
Z tego co pamiętam to jeśli instaluje się demona transmission to automatycznie dodaje do systemu użytkownika debian-transmission i z jego uprawnieniami jest on uruchamiany automatycznie przy starcie systemu, przynajmniej domyślnie tak jest. Więc dziwna sprawa, że uruchamiasz go skryptem, jeszcze na dodatek jako root

: 19 czerwca 2012, 20:56
autor: sethiel
salo5, jest coś takiego jak podręcznik systemowy. Warto używać. Albo google + man + nazwa_polecania + przykłady (examples).
Akurat się machnąłem przy su. Pierwszy link z Google:

Kod: Zaznacz cały

"man su examples"
daje odpowiedź gdzie się machnąłem:
EXAMPLES
[TABLE]
[TR]
[TD="colspan: 2"]su -m man -c catman [/TD]
[/TR]
[TR]
[TD][/TD]
[TD] Runs the command catman as user man. You will be asked for man’s password unless your real UID is 0. Note that the -m option is required since user "man" does not have a valid shell by default.[/TD]
[/TR]
[TR]
[TD="colspan: 2"] su -m man -c ’catman /usr/share/man /usr/local/man’[/TD]
[/TR]
[TR]
[TD][/TD]
[TD] Same as above, but the target command consists of more than a single word and hence is quoted for use with the -c option being passed to the shell. (Most shells expect the argument to -c to be a single word).[/TD]
[/TR]
[TR]
[TD="colspan: 2"] su -m -c staff man -c ’catman /usr/share/man /usr/local/man’[/TD]
[/TR]
[TR]
[TD][/TD]
[TD] Same as above, but the target command is run with the resource limits of the login class "staff". Note: in this example, the first -c option applies to su while the second is an argument to the shell being invoked.[/TD]
[/TR]
[TR]
[TD="colspan: 2"] su -l foo[/TD]
[/TR]
[TR]
[TD][/TD]
[TD] Simulate a login for user foo.[/TD]
[/TR]
[TR]
[TD="colspan: 2"] su - foo[/TD]
[/TR]
[TR]
[TD][/TD]
[TD] Same as above.[/TD]
[/TR]
[TR]
[TD] su -[/TD]
[TD] Simulate a login for root.[/TD]
[/TR]
[/TABLE]

: 20 czerwca 2012, 16:43
autor: Unit
salo5 pisze: ...
Stąd moje pytanie:
czy programy uruchamiane jako root mogą zapisywać dane od razu jako własność danej grupy?
...
Np.:

Kod: Zaznacz cały

mkdir /downloads
chgrp sambausers /downloads
chmod 2770 /downloads
i teraz każdy plik zapisany w katalogu /downloads będzie miał grupę sambausers. Do tej grupy dodajesz użytkowników, tyle.
Słowo klucz do tej zagadki: SGID.