Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Lze v Linuxu řešit nějakým způsobem dědění práv v již vytvořených adresářích? např:
- změna práv adresáře nastaví práva v souborech
- při kopírování soborů do adresáře kopírovaný soubor zdědí práva 'nového' adresáře?
Velmi mi chybí nastavování práv ala Novell Netware. Pokud to nelze čistě přes ACL filesystemu, existuje nějaká spolehlivá finta?
1/ samo nikoliv, ale pokud menis prava na adresari pouzijes parametr -R pro rekursivni nahrani prav vsech podadresarum a souborum
2/cekal jsem ze ano, ale zda se ze nikoliv, ale mozna to je muj problem, ACL pouzivam totiz pouze u SMB sdileni, a cast nastaveni ACL, dedicnost, apod. resim pres Sambu
cp
je pak přepíše víceméně v souladu s právy kopírovaného souboru. Pokud se proces rozhodne práva dodatečně změnit, je proti tomu samozřejmě nastavení defaultního ACL bezmocné.
problem taky muze byt v tom ze jsem vocas, a kopiroval jsem to v MC, a to ted nevim jestli je s podporou ACL.
Ovšem cp z coreutils nic takové standardně nedělá. To by ho k tomu musel uživatel donutit přepínačem -p.
Zkoušel jsem si to a verze 6.12 se chová dle očekávání (tj. v rozporu s tím, na co si stěžoval předřečník):
$ strace cp testfile testdir/ […] open("testfile", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0 open("testdir/testfile", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0755) = 4 fstat64(4, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0 read(3, ""..., 4096) = 0 llistxattr("testfile", (nil), 0) = 0 llistxattr("testfile", 0xbf9810a0, 0) = 0 close(4) = 0 close(3) = 0
a na proti tomu:
$ strace cp -p testfile testdir/ […] open("testfile", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0 open("testdir/testfile", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0700) = 4 fstat64(4, {st_mode=S_IFREG|0700, st_size=0, ...}) = 0 read(3, ""..., 4096) = 0 utimensat(4, NULL, {{1228989937, 0}, {1228989937, 0}}, 0) = 0 llistxattr("testfile", (nil), 0) = 0 llistxattr("testfile", 0xbfe54d70, 0) = 0 fgetxattr(3, "system.posix_acl_access", 0xbfe54ca0, 132) = -1 ENODATA (No data available) fstat64(3, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0 fsetxattr(4, "system.posix_acl_access", "\x02\x00\x00\x00\x01\x00\x07\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff \x00\x05\x00\xff\xff\xff\xff", 28, 0) = 0 close(4) = 0 close(3) = 0
cp
je tedy do mé odpovědi potřeba dosadit jiný program (ten, u kterého se popisovaný problém vyskytuje).
Částečně to řeší SUID/SGID bit na adresáře.
Ale SGID efekt má:
Vše uvnitř bude mít tedy požadovanou skupinu. O práva k adresářům a souborům se nadále musí tvůrce postarat sám.
> Velmi mi chybí nastavování práv ala Novell Netware.
Novell Netware je nyni implementovany jako sada sluzeb pod Linuxem a pokud vim, tak netwarovy system pristupovych prav je tam k dispozici. U Novellu vam reknou, kolik to stoji a co budete potrebovat.
Dodám jen pár drobností:
1. Při změně práv vlastníka nebo skupinového vlastníka se parametr nezadává ve tvaru u:práva
, ale u::práva
2. Stejně jako tradiční práva, i ACL se vyhodnocují podle principu "rozhoduje první, co odpovídá", přičemž pořadí je vlastník, jednotliví uživatelé, skupinový vlastník, jednotlivé skupiny, ostatní.
3. Maska se neaplikuje na práva vlastníka, pouze na práva skupinového vlastníka a jednotlivých uživatelů a skupin.
Z toho nového fontu mě bolí oči. Prosím, proveďte obnovu kaskadových stylů ze zálohy.
Nastav si ve FF Dejavu Sans a mas pokoj.
Asi chybka:
[root@centos]# geftacl soubor
Ma byt IMHO:
[root@centos]# getfacl soubor
PS: ten wysiwig editor v kterym toto pisu mi moc nefunguje - nejde pastovat prostredtim tlacitkem (resp. jen nekdy, coz je jeste horsi nez kdyby vubec), protoze se dostanu do modu scrollovani. Dale jsem se dostal do situace, kdy jsem chtel vlozit znaky na urcite misto uprostred odstavce, najel jsem tam kurzorem (at mysi ci klavesnici), napsal pismeno, ale pismeno se vlozilo do prazdneho radky nad odstavcem, v kterem jsem byl.
Jako první krok dobrý, ale správu většího serveru bych s tím dělat nechtěl. Oč elegantnější řešení má třeba OpenVMS, kde můžete uživateli přidělit nejaký identifikátor - například "MANAGEMENT" - a poté přidělovat práva držitelům identifikátorů namísto konkrétních uživatelů:
(IDENTIFIER=MANAGEMENT,ACCESS=R+W+E+D)
(DEFAULT_PROTECTION,S:RWED,O:RWED,G,W)
(IDENTIFIER=MANAGEMENT,OPTIONS=DEFAULT,ACCESS=READ+WRITE+EXECUTE)
(CREATOR,ACCESS=READ+WRITE+EXECUTE+DELETE)
Takže admin pak pouze přiděluje identifikátory a spravuje uživatelské účty, zatímco nastavení práv ve filesystému se nemění. Identifikátory nejsou totéž co skupiny, uživatel jich může mít neomezené množství. Počet ACL záznamů na jednom objektu také není omezen.
Nemluvě ani o dalších možnostech jako například nastavit detailní logování přístupu do logu nebo jako alarm na terminálu operátora
(ALARM=SECURITY,ACCESS=DELETE+CONTROL+SUCCESS+FAILURE)
Implementace v linuxu mi přijde jako dobrý první krok (já vím, je to POSIX), ale pro skutečné použití na velkých serverech se stovkami či tisíci uživatelů stále poněkud neohrabaná.
Identifikátory nejsou totéž co skupiny, uživatel jich může mít neomezené množství.Jaký je tedy rozdíl mezi identifikátorem a skupinou? Uživatel snad může být také členem neomezeného množství skupin.
identifikátory mohou mít přiřazeny ještě atributy, které jejich chování mění. Je to na delší vyprávění, tak si dovolím citovat z dokumentace:
¨
Dynamic attribute | Allows holders of the identifier to remove and to restore the identifier from the process rights list by using the DCL command SET RIGHTS_LIST. |
Resource attribute | Allows holders of the identifier to charge disk space to the identifier. It is used for file objects. |
Subsystem attribute | Allows holders of the identifier to create and maintain protected subsystems by assigning the Subsystem ACE to the application images in the subsystem. |
No Access attribute | Makes any access rights of the identifier null and void. This attribute is intended as a modifier for a resource identifier or for purposes unrelated to access control. |
Sites with high security requirements are likely to use two other attributes, which discourage users from scanning the rights database:
Holder Hidden attribute | Prevents someone from getting a list of users who hold an identifier unless that person owns the identifier. |
Name Hidden attribute | Allows holders of an identifier to have it translated (either from binary to ASCII or vice versa), but prevents unauthorized users from translating the identifier. |
Ale je fakt, že to už je vyšší dívčí a málokde se to používá, i když možná částečně i proto, že o tom administrátoři nevědí.
Srovnávat VMS a POSIX dost dobře nelze.
Posixové skupiny mají spoustu ošklivých vlastností: Členství ve skupině je vlastnost procesu, nikoliv uživatele, takže přidávání a odebírání je nutné pojistit pozabíjením všech procesů. Dále pokud může uživatel vytvářet SGID soubory, je nutné po něm uklidit, jinak se může znovu do skupiny dostat.
Ale je pravda, že tohle nejsou ani tak problémy skupin, jako problémy posixové kontroly přístupu.
getfacl -R --skip-base > backup.acl setfacl --restore backup.acl3/ exisuji i acl managery, napr. http://rofi.roger-ferrer.org/eiciel/
pokud na soubor jednou pouziji acl, uz nikdy nepouzivat klasicky chmod ale jen setfaclOK. To zní dost závažně na to, aby si na to člověk začal dávat pozor. Ale zároveň dost bezobsažně na to, aby na to člověk za pět minut zapomněl. Takže prostá otázka: co se může stát, když ne?
chmod
neovlivňuje acl záznamy, tj pokud přidáš třeba právo spouštění pomocí chmod a+x soubor
, tak uživatelé, kteří již měli nastavená práva třeba na rw, jej stále nebudou moci spouštět (budou mít pořád rw).
chmod
zruší všechna ACLka, tak to beru ACL_USER_OBJ
, ACL_GROUP_OBJ
a ACL_OTHER
v access control listu. Tyhle položky zobrazují a mění a zbytku si nevšímají.
Děkuju za hezký a užitečný článek. Akorát tu masku nějak nechápu, ale to se poddá.
rwxrwxrwx
). Pokud jde o smysl masky, ten mi také uniká, protože podle mne každý, kdo má právo měnit ACL práva, má i právo měnit masku. Může to sloužit asi jako usnadnění – pokud vím, že soubor není spustitelný, nastavím mu masku rw-rw-rw-
, a vím, že nepůjde omylem nastavit právo ke spuštění. Ale možná to má i nějakou jinou výhodu, která mi zůstala utajena.
setfacl: rotor: Operation not supported
Tohle mi to píše, když zadám příkaz setfacl -m user:kav:rx rotor (jedná se o adresář /home/rotor).
Postupoval jsem podle článku, mám ext3 a 64bitové Kubuntu Hardy Heron. Ten příkaz jsem zadal jako uživatel root. Verze setfacl je 2.2.45.
tune2fs
, nebo mount
.
Zkuste mount "ten mountpoint" -o remount,acl
.
Pokud to ani pak nepůjde, dejte sem výstup z tune2fs -l /dev/sdaX
(oddíl, kde je ten filesystém na kterém to zkoušíte) a podíváme se na to.
Díky moc. mount "ten mountpoint" -o remount,acl
pomohlo. Tu volbu "acl" musím přidat i do
/etc/fstab
, že?
/etc/fstab
nebo ji přidat k "Default mount options" pomocí tune2fs -o acl /dev/sdX
. Osobně mám raději druhou metodu, protože je to pak v parametrech to systému souborů. Pokud by jednalo o přenosný disk, nemusí se na to při připojení jinde myslet.
ACL mi připadá opravdu težkopádné a složité na údržbu. Zejména zjišťování na co má ten či onen právo ve velmi košaté struktuře adresářů s mnoha soubory je k zbláznění.
Pro data sdílená uživateli bych nejraději viděl systém, kde se budou nastavovat práva jen na úrovni adresářů a bude zde existovat dědičnost.
Zvláštní - podobný šlánek jsem se zrovna chystal napsat . Ovšem v trochu jiném duchu - autor napčíklad úplně zapoměl dodat, že popsaný model ACL nebyl nikdy POSIX ratifikován a je založen pouze na POSIX draftu. Taktéž s exportem souborových systémů využívajících tohoty typu ACL je to dosti problematické (NFSv2,3 toto třeba neřeší a ostatní síťové FS už vůbec).
Osobně si myslím, že daleko větší budoucnoust má v Linuxu standard ACL podle NFSv4.
user::rwx group::r-x group:smb-family:r-x group:smb-admins:rwx mask::rwx other::--- default:user::rwx default:group::r-x default:group:smb-family:r-x default:group:smb-admins:rwx default:mask::rwx default:other::---Práva nakopírované složky z windows do sdílené složky data.
user::rwx group::rwx group:smb-family:r-x group:smb-admins:rwx mask::rwx other::-wx default:user::rwx default:group::r-x default:group:smb-family:r-x default:group:smb-admins:rwx default:mask::rwx default:other::---
Tiskni
Sdílej: