abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    5.10. 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 35
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 16
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 11
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (45%)
     (15%)
     (17%)
     (22%)
     (15%)
     (18%)
     (16%)
     (15%)
    Celkem 181 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: BASH - smyčka se dvěmi proměnnými

    30.1.2013 13:51 Tjunikov
    BASH - smyčka se dvěmi proměnnými
    Přečteno: 311×
    Hezký den, omlouvám se předem za zřejmě banální dotaz, ale už několik dní přeinstalovávám server a hlava mi už nebere. Mám prosbu, zda by mi někdo zběhlý v bashi nemohl poradit s jednoduchým skriptíkem. Potřebuji hromadně změnit UID v domovských adresářích. Příkaz by vypadal takto:

    chown -R $UID:513 /home/$USER

    Proměnné UID a USER by se nacházely ve dvou samostatných text. souborech seřazeny pochopitelně tak, aby pořadí UID v jednom souboru odpovídalo pořadí USER v druhém - aby se to správně ve smyčce přiřazovalo.

    S jednou proměnnou nemám problém, ale s dvěma nevím a už nemám sílu hledat. Prosím, prosím - už jsem skoro ve finále, ještě tohle musím dodělat (změnila se mi UID uživateů - 370 ks)

    Řešení dotazu:


    Odpovědi

    Tarmaq avatar 30.1.2013 14:18 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: BASH - smyčka se dvěmi proměnnými
    paste users uids | awk '{system("chown -R "$2":513 /home/"$1)}'
    
    (users je cesta k souboru s uzivateli, uids je cesta k souboru s UID)
    Don't panic!
    30.1.2013 14:24 Tjunikov
    Rozbalit Rozbalit vše Re: BASH - smyčka se dvěmi proměnnými
    Sice vůbec nechápu jak, ale funguje to naprosto perfektně :-D Opravdu moc děkuji - snad už to zítra všechno poběží, nebo mě sežerou :-) Tj.
    30.1.2013 15:56 NN
    Rozbalit Rozbalit vše Re: BASH - smyčka se dvěmi proměnnými
    Jenom rada do budoucna "kdyz nevim co to dela, tak to zasadne nepoustim" ..
    rADOn avatar 30.1.2013 17:23 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: BASH - smyčka se dvěmi proměnnými
    Kazisvete, ted jsi nam zkazil oblibeny rm -rf vtip :-)
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    30.1.2013 14:34 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH - smyčka se dvěmi proměnnými

    Jen poznámka: pokud je teď už databáze v pořádku, nebylo by jednodušší nekomplikovat si zbytečně život a použít rovnou

      while read name; do chown -R $name:513 /home/$name; done <users
    

    Mimochodem, usermod by se o to podle manuálové stránky měl postarat automaticky.

    30.1.2013 15:29 Tjunikov
    Rozbalit Rozbalit vše Re: BASH - smyčka se dvěmi proměnnými
    On je momentální stav tento:

    Server Samba PDC s ověřováním přes LDAP, uživatelé se přihlašují jak z Linux tak Windows PC.

    Po havárii disku a několika marných pokusech nová instalace serveru. Mám zálohy LDAP v ldif, ale zaboha tam nejdou dostat zpět. Takže jsem se rozhodl vytvořit uživatele znovu s tímto postupem:

    Uložím uživatelská jména do souboru výčtem z /home (ls /home > users), skriptem je přes smbldap-useradd vytvořím účty a nastavím jednotné heslo, z ldap vyexportuji jména a uid -> vytvořím z toho dva soubory a výše uvedeným skriptem změním UID /home adresářů, která teď pochopitelně nesedí (home jsou na diskovém poli netknuté) Přijde mi to momentálně nejrychlejší, protože už jsem v časové tísni a já nejsem zase takový guru - ale určitě existuje i jiné řešení. Děkuji za další nápad, ale už asi zůstanu u toho prvního. Jistě by šlo asi vyexportovat z LDAP záloh jména i uid a nové uživatele vytvářet s nastavením starého uid, ale už se mi nechce si s tím moc hrát - aspoň ten LDAP strom "vyčistím", už v tom byl stejně bordel. :-)
    30.1.2013 15:53 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH - smyčka se dvěmi proměnnými
    První část mého komentáře upozorňovala jen na to, že si nemusíte komplikovat život dvěma soubory, protože příkazu chown můžete místo UID dát jako argument i jméno, on si to přeloží sám.
    31.1.2013 05:44 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH - smyčka se dvěmi proměnnými
    Michal neříkal, že máte nastavovat novým uživatelům staré uid, abyste nemusel měnit home.

    Naopak, navrhl způsob, jak starým home adresářům uživatelů nastavit nové uid bez rizika chyby, že se vám ta číselná uid která máte v odděleném souboru od jmen nějak pomotají. Tedy totéž, o co usilujete, akorát bez práce.
    31.1.2013 05:46 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH - smyčka se dvěmi proměnnými
    V podstatě se jedná o paste users uids | awk '{system("chown -R "$1":513 /home/"$1)}' máte pak jistotu, že všem uživatelům opravdu patří soubory v jejich home a soubor uids tam je jen pro zmatení nepřítele :)
    31.1.2013 05:50 Tjunikov
    Rozbalit Rozbalit vše Re: BASH - smyčka se dvěmi proměnnými
    Aha, díky. Jak jsem říkal, nejsem žádný guru a z bashe znám jen základy - proto jsem to hned nepochopil. Díky - vyzkouším to u těch dalších userů, zatím jsem zavedl jen účty učitelů, studenty si nechám na víkend. Ještě jednou všem moc děkuji. Tj.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.