Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Pracovní prostředí => Téma založeno: juli 04 Září 2010, 18:08:45

Název: Společná složka pro více uživatelu
Přispěvatel: juli 04 Září 2010, 18:08:45
Zdravím a prosím o radu.
Po mnoha pádech a přeinstalacích Woken, jsem přesvědčil známé k vyzkoušení Linuxu. Nainstaloval jsem Ubuntu 10.04 a vytvořil tři uživatelské profily s právy správce + profil hosta s omezenými právy.
Abych zabezpečil jakoustakous blbuvzdornost, tak jsem ukryl některé položky ze správy systému a předvoleb.

K problému: vzhledem k tomu, jak počítač používají potřebuju vytvořit složku pro soubory, která by byla přístupná ze všech uživatelských profilů, včetně sezení pro hosta. Nenašel jsem takovou možnost, bez toho, abych musel takovou složku umístit někde mimo počítač.
Jak tohle zrealizovat?
Díky za rady.
Název: Re: Společná složka pro více uživatelu
Přispěvatel: Martin Šácha 04 Září 2010, 19:07:15
Vytvoř adresář třeba v /home/sdilene; nastav mu práva 777; vytvoř link na sdílený adresář;link nakopíruj do všech účtů (např na plochu)
Kód: [Vybrat]
sudo mkdir /home/sdilene
sudo chmod 777 /home/sdilene
ln -s /home/sdilene /home/sdilene_link
sudo cp /home/sdilene_link /home/uzivatel1/Plocha/sdileny_adresar
sudo cp /home/sdilene_link /home/uzivatel2/Plocha/sdileny_adresar
...
Název: Re: Společná složka pro více uživatelu
Přispěvatel: arrange 04 Září 2010, 19:49:51
Tedy chceš, aby kdokoli mohl ve sdílené složce cokoli číst, měnit a mazat (soubory i složky)?
Název: Re: Společná složka pro více uživatelu
Přispěvatel: juli 04 Září 2010, 20:01:50
Vytvoř adresář třeba v /home/sdilene; nastav mu práva 777; vytvoř link na sdílený adresář;link nakopíruj do všech účtů (např na plochu)
Kód: [Vybrat]
sudo mkdir /home/sdilene
sudo chmod 777 /home/sdilene
ln -s /home/sdilene /home/sdilene_link
sudo cp /home/sdilene_link /home/uzivatel1/Plocha/sdileny_adresar
sudo cp /home/sdilene_link /home/uzivatel2/Plocha/sdileny_adresar
...

Díky to zkusím.

Tedy chceš, aby kdokoli mohl ve sdílené složce cokoli číst, měnit a mazat (soubory i složky)?
jj přesně tak.
Název: Re: Společná složka pro více uživatelu
Přispěvatel: arrange 04 Září 2010, 21:08:25
V tom případě to nebude tak jednoduché. Pokud si např. podle výše uvedeného návodu vytvoříš v dané složce soubor, budeš ho vlastnit ty s právy 0755, což znamená, že nikdo jiný do něj nebude moci zapisovat. Atd.

Viz třeba
https://wiki.ubuntu.com/LocalFileShare
http://forum.ubuntu.cz/index.php/topic,2455.0.html
http://forum.ubuntu.cz/index.php/topic,6659.0.html

Nejjednodušší bude asi dát sdílená data na extra oddíl naformátovaný na ntfs nebo fat s parametrem umask=000 (tj. obejít klasická linuxová nastavení práv  >:( )
Název: Re: Společná složka pro více uživatelu
Přispěvatel: Martin Šácha 04 Září 2010, 21:15:21
V tom případě to nebude tak jednoduché. Pokud si např. podle výše uvedeného návodu vytvoříš v dané složce soubor, budeš ho vlastnit ty s právy 0755, což znamená, že nikdo jiný do něj nebude moci zapisovat. Atd.

Na to jsem zapoměl.

To by řešilo přidání "chmod 777 -r /home/sdilene" do /etc/gdm/PostSession/Default

PS. Nejprve bude třeba přejmenovat soubor Default.sample na "Default". Všechny příkazy v něm se vykonají při odhlašování uživatele s právy roota.
Název: Re: Společná složka pro více uživatelu
Přispěvatel: arrange 04 Září 2010, 21:19:46
Neřešilo by to práva souborů a složek vzniklých/zkopírovaných apod. v průběhu sezení.
Název: Re: Společná složka pro více uživatelu
Přispěvatel: Martin Šácha 04 Září 2010, 21:26:39
U stolního PC nepředpokládám práci více uživatelů zároveň. A tomu jednomu aktuálně přihlášenému jeho vlastní soubory nevadí (když se práva změní po odhlášení).
Název: Re: Společná složka pro více uživatelu
Přispěvatel: arrange 04 Září 2010, 21:32:48
U stolního PC nepředpokládám práci více uživatelů zároveň.
Počítač u mě používá více lidí pomocí rychlého přepínání uživatelů - fast user switching - řekl bych, že to je dnes standard - a tam je právě problém jednoduše nastavit sdílenou složku pro všechny.
Název: Re: Společná složka pro více uživatelu
Přispěvatel: Martin Šácha 04 Září 2010, 21:39:00
Hmm, máš pravdu, pak tedy bude nejelegantnější vyhradit fat32/ntfs oddíl, jak jsi psal výše.

Ovšem tam můžeme zase narazit na velikost oddílu...
Název: Re: Společná složka pro více uživatelu
Přispěvatel: arrange 04 Září 2010, 21:45:10
Nejelegantnější rozhodně ne, je to jen workaround, možná jen nejjednodušší   >:(
Název: Re: Společná složka pro více uživatelu
Přispěvatel: donny 04 Září 2010, 22:08:59
Ideální řešení podle mě je vytvořit nějakou skupinu, třeba shared, a poté přidat všechny ty uživatele do této skupiny. Pak by mělo stačit nastavenému sdílenému adresáři nastavit skupinu "shared" a nastavit práva g+rwx. Ve zkratce tedy nějak takto:


sudo groupadd shared
sudo mkdir /home/shared
sudo chown root:shared /home/shared
sudo chmod 775 /home/shared
for u in uživatel1 uživatel2 uživatel3 host1; do sudo gpasswd -a $u shared; done


Pak odhlásit všechny uživatele a mělo by být hotovo.
Název: Re: Společná složka pro více uživatelu
Přispěvatel: arrange 04 Září 2010, 22:24:24
Jenže pokud potom v adresáři někdo vytvoří soubor nebo jiný adresář, práva se "nedědí", a zase k němu nemá nikdo ze skupiny právo zapisovat.
Šlo by změnit globálně umask, ale to je bezpečnostní riziko + to neřeší kopírování souborů do sdíleného adresáře, které implicitně zachovává vlastnosti.
Podrobnosti viz uvedené odkazy.
Název: Re: Společná složka pro více uživatelu
Přispěvatel: donny 04 Září 2010, 22:33:32
Jo, zrovna nad tim teď přemejšlim ... a googlim. Narazil jsem na http://ubuntuforums.org/showthread.php?p=1193555 a borec tam píše toto:

Citace
What I needed was ACL control. So, I followed the instructions in the post above (http://ubuntuforums.org/showpost.php?p=886754&postcount=12) and added ACL. I also added Eiciel (http://rofi.pinchito.com/eiciel/?s=5), which is an extension to Nautilus for editing ACLs graphically. (Although, I have to say, I prefered the command line. Eiciel was a bit confusing for me.) After adding the ACL tools, I was ready to go. It turns out XFS has it already enabled by default, so there was no need to reboot or add a parameter to turn it on in the fstab file.

After some heavy research (http://www.vanemery.com/Linux/ACL/linux-acl.html) and a good deal of trial and error, I ran this command:
Kód: [Vybrat]
sudo setfacl -d --set u::rwx,g::rwx,o::rx .

Ahh things were working now!

Stálo by to za vyzkoušení.

EDIT:

Tak jsem to vyzkoušel a funguje to - vytvořil jsem nového uživatele "test", uživatelé "donny" a "test" jsou ve skupině shared a to je i skupina adresáře /home/shared; ACL je zapnutý a výše uvedený příkaz proveden:


donny@chakra-laptop:/home/shared $ ls
celkem 0
donny@chakra-laptop:/home/shared $ touch test1donny
donny@chakra-laptop:/home/shared $ ls
celkem 0
-rw-rw-r-- 1 donny users 0  4. zář 23.03 test1donny
donny@chakra-laptop:/home/shared $ su test
Heslo:
[test@chakra-laptop shared]$ ls
test1donny
[test@chakra-laptop shared]$ rm test1donny
rm: smazat proti zápisu chráněný běžný prázdný soubor „test1donny“? a
[test@chakra-laptop shared]$ ls
[test@chakra-laptop shared]$ touch test2shared
[test@chakra-laptop shared]$ exit
donny@chakra-laptop:/home/shared $ ls
celkem 0
-rw-rw-r-- 1 test test 0  4. zář 23.04 test2shared
donny@chakra-laptop:/home/shared $ rm test2shared
donny@chakra-laptop:/home/shared $ ls
celkem 0
donny@chakra-laptop:/home/shared $ exit

Název: Re: Společná složka pro více uživatelu
Přispěvatel: arrange 04 Září 2010, 23:10:24
ACL pravděpodobně neřeší problém s právy při kopírování DO sdílené složky, ACL ale neznám.
http://www.abclinuxu.cz/poradna/linux/show/141839
Název: Re: Společná složka pro více uživatelu
Přispěvatel: donny 04 Září 2010, 23:17:50
ACL pravděpodobně neřeší problém s právy při kopírování DO sdílené složky, ACL ale neznám.
http://www.abclinuxu.cz/poradna/linux/show/141839

EDIT:

rychlejš píšu než myslím. Problém je při kopírování ADRESÁŘŮ do sdílené složky.
Název: Re: Společná složka pro více uživatelu
Přispěvatel: arrange 04 Září 2010, 23:24:40
Tedy chceš, aby kdokoli mohl ve sdílené složce cokoli číst, měnit a mazat (soubory i složky)?
jj přesně tak.

[test@chakra-laptop shared]$ ls -l
celkem 720
-rw-r--r-- 1 donny users 731329  4. zář 23.17 DSC00001nová_.JPG
Tady se právě láme chleba. Uživatel ze skupiny users nemůže soubor jednoduše upravovat - např. pokud chci pracovat na společném projektu a nakopíruju šablonu do sdílené složky.
Název: Re: Společná složka pro více uživatelu
Přispěvatel: donny 04 Září 2010, 23:28:46
arrange, trošku tě mate ta skupina users - to je defaultní skupina uživatele, s tímto nemá nic společného. Jak jsem přepsal příspěvek výše, problém je, když v Dolphinu (pod uživatelem donny) nakopíruju do shared adresáře nějaký podadresáře, tak pod jiným uživatelem (test) je problém:

[test@chakra-laptop /]$ cd /home/shared/dvdrip-data/unnamed/tmp/
[test@chakra-laptop tmp]$ rm logfile.txt
rm: smazat proti zápisu chráněný běžný soubor „logfile.txt“ a
rm: nelze odstranit „logfile.txt“: Operace  zamítnuta
[test@chakra-laptop tmp]$
Název: Re: Společná složka pro více uživatelu
Přispěvatel: donny 04 Září 2010, 23:54:29
I tenhle problém se dá vyřešit - stačí sdílenému adresáři nastavit sedgid flag:

sudo chmod g+s /home/shared

který zajistí, že se nově vytvářeným souborům a podadresářům nastaví skupina toho adresáře (tedy shared), nikoliv primární skupina uživatele; nové podadresáře navíc setgid flag dědí. ACL potom funguje jak má.


donny@chakra-laptop:~ $ sudo chmod g+s /home/shared
Heslo:
donny@chakra-laptop:~ $ cd /home/shared
donny@chakra-laptop:/home/shared $ ls
celkem 0
donny@chakra-laptop:/home/shared $ su test
Heslo:
# pod uživatelem donny jsem mezitím do /home/shared nakopíroval nějaké adresáře se soubory
[test@chakra-laptop shared]$ ls
dvdrip-data
[test@chakra-laptop shared]$ cd dvdrip-data/unnamed/tmp/
[test@chakra-laptop tmp]$ ls
backup.rip  ifo  logfile.txt  unnamed-002-nav.log
[test@chakra-laptop tmp]$ rm logfile.txt
rm: smazat proti zápisu chráněný běžný soubor „logfile.txt“? a
[test@chakra-laptop tmp]$ ls
backup.rip  ifo  unnamed-002-nav.log
[test@chakra-laptop tmp]$
Název: Re: Společná složka pro více uživatelu
Přispěvatel: arrange 05 Září 2010, 00:01:24
Takže ještě jednou: pokud do sdíleného adresáře nakopíruju soubor, který má v mé domovské složce klasická práva rw-r--r--, bude ho pak schopen v té sdílené kdokoli upravovat (ne mazat)? Změní se jeho práva?
Název: Re: Společná složka pro více uživatelu
Přispěvatel: donny 05 Září 2010, 00:24:13
Sakra. Ne, není to tak. Sorry, už jsem unavenej, zkoušel jsem jenom to mazání.
Název: Re: Společná složka pro více uživatelu
Přispěvatel: juli 05 Září 2010, 18:22:37
Koukám, že tohle vyřešit tak, aby práci se soubory ve společné složce zvládli i neumětelové mého typu, nebude jen tak.
V každém případě díky za zájem o tenhle problém. Pro mne je to podnět, pro laborování a uživatelům zatím poslouží společná USB flashka...
Ještě jednou moc dík.
Název: Re: Společná složka pro více uživatelu
Přispěvatel: Martin Šácha 06 Září 2010, 20:58:58
Njn, tady se projevuje výhoda dědičnosti ACL (acces control list) z windows nad UGO z *nixu (user, group, other). Ač je linux odjakživa víceuživatelský, tohle se pořešit zatím nepodařilo :(
Název: Re: Společná složka pro více uživatelu
Přispěvatel: arrange 06 Září 2010, 21:54:43
Windows neznám, ale mám tomu rozumět tak, že dejme tomu (je to jen příklad) mám ve své složce spustitelný soubor, ale není povoleno jej z bezp. důvodů spouštět. Stačí ho tedy zkopírovat do sdíleného adresáře (kde mám nastavena volnější pravidla) a pak je již spustitelný?
Název: Re: Společná složka pro více uživatelu
Přispěvatel: jmp 07 Září 2010, 07:47:24
ono to ve windows neni tak jednoznacne...
at je nebo neni zapnute dedeni prav, tak pri kopirovani to co kopirujete nastavi stejna opravneni jako ma cilovy adresar, pri presunu to zachova puvodni opravneni
nastaveni prav ve windows je opravdu velmi jemne a ne vzdy zcela jednoznacne a prehledne (je mozne povolovat i zakazovat, pricemz zakazy maji pri konecnem vyhodnoceni opravneni prednost), takze je tam take mnohem vetsi prostor pro chyby...
navic windows dlouhodobe nemaji v zakladu rozumny nastroj pro hromadnou editaci opravneni (nejprve nebylo dostupne nic a po nejake dobe pribyl cacls.exe, ale ten pak ovsem neumel pracovat s novikou, kterou bylo prave dedeni prav a tak pribyl xcacls.vbs, ktery to umi, ale je to pro zmenu interpretovany skript, takze to ma mizerny vykon...)

zakladni opravneni jsou:
full control
modify
read&execute
list folder content
read
write
a indikace "special permissions"

special permissions jsou:
full control
traverse folder / execute file
list folder /read data
read attributes
read extended attributes
create files / write data
create folders / append data
write attributes
write extended attributes
delete subfolders and files
delete
read permissions
change permissions
take ownership

tato jednotliva opravneni se daji nastavit (povolit nebo zakazat) pro jednotlivce ci skupinu a to at se jedna o lokalni ci domenove ucty (coz je ACE access control entry, sbirka ACE tvori ACL access control list)
kazda polozka (at uz soubor ci adresar) v ntfs filesystemu ma svuj ACL
takze jak rikam - je to velky prostor na omyl...
Název: Re: Společná složka pro více uživatelu
Přispěvatel: compaq 07 Září 2010, 11:58:56
(http://img.tomshardware.com/us/_teaser/60x60/maxtor_shared_storage_60.jpg)
Po mnoha pokusech o společnou složku si společná "rodinná" data ukládáme na síťový disk s FAT32. Funguje to dobře, jediný problém je, že to ořeže větší soubory bez upozornění...
Název: Re: Společná složka pro více uživatelu
Přispěvatel: Martin Šácha 07 Září 2010, 22:01:47
ja osobne tohle resim tak, ze si podobnou slozku vytvorim nekde treba ve /var/srv a pak ji namountuju kam chci pres localhost pomoci NFS/CIFS a jaky to ma mit prava nastavim podle potreby ve etc/exports a nebo etc/smb.conf ..

Mazané. Řešit to mountováním virtuálního FS mě nanepadlo.
Název: Re: Společná složka pro více uživatelu
Přispěvatel: Milhouse 08 Září 2010, 07:26:58
A nejsou tam výkonnostní regrese?
Název: Re: Společná složka pro více uživatelu
Přispěvatel: Martin Šácha 08 Září 2010, 15:10:21
No jsou, každá vrstva navíc zpomaluje. Ale když to nejde nativně...
Název: Re: Společná složka pro více uživatelu
Přispěvatel: Milhouse 09 Září 2010, 10:01:11
Jasně, vše něco stojí. Regrese v pár procentech bude OK, ale desítka procent, už asi moc ne. ;)

Tohle by byl prima článek na Ábíčko. Blog by taky stačil, ale článkem jistě nepohrdnou. :) Co ty na to?
Název: Re: Společná složka pro více uživatelu
Přispěvatel: arrange 09 Září 2010, 11:37:49
Taky bych měl dotaz, protože mi není jasné, nakolik je lokální NFS odolné vůči stresovým situacím (výpadek elektřiny, tvrdý reset...), pokryje to klasický žurnál nebo něco podobného?
Název: Re: Společná složka pro více uživatelu
Přispěvatel: Milhouse 09 Září 2010, 12:55:42
Já mám jiné starosti, viz "kšeft" tu na fóru. ;) Právě na ten článek by se hodilo to změřit, takže to nebude na "jeden řádek". A blog jsem myslel na Ábíčku. Ale to byl jen takový návrh...