mites luon hakemistoja käyttäjille...

tyhmin

käyttäen polussa heidän nimeään?

Eli home-tiedoston tyylisen?

Esim. /home/jotain/"joku"

jossa "joku" kohtaan tulee käyttäjän tunnus...
käyttäjiä on satoja, joten en viitsisi yksitellen tehdä, ja sen jopa osaisin ilman neuvoakin tehdä... :)

11

718

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • onnistunee...

      Tee scripti joka lukee käyttäjänimiä tiedostosta luoden sitten hakemiston käyttäjälle. Eli yksinkertainen silmukka varmaan hoitaa tuon mallikkaasti.

      Ei lienee monimutkaista, varmaan saisin itsekin aikaan, vaikka en olekaan noihin scripteihin perehtynyt sitten dosin komentojonojen jälkeen. Pitäisi kyllä.

      • *BSD

        Esim. komentoriviltä voi (edellyttäen, että oikeudet riittää):

        # for user in user1 user2 ... usern; do
        > mkdir -p /home/jotain/$user
        > chown $user /home/jotain/$user
        > chgrp ..
        done
        #

        Eli tossa on simppeli tapa tehdä homma. For-loopissa (sh/ksh/bash) lista 'user1 user2 user3' jne. Sitten taas jos (ja kun) kyseessä on satoja käyttäjiä on parempi varmaan tehdä tosta skripti, jossa on listattuna myös noi käyttäjät.

        Suosittelen kokeilemaan em. viritystä ensin ilman root-tunnusta kun en testannut sitä mitenkään :)


      • kysymystä
        *BSD kirjoitti:

        Esim. komentoriviltä voi (edellyttäen, että oikeudet riittää):

        # for user in user1 user2 ... usern; do
        > mkdir -p /home/jotain/$user
        > chown $user /home/jotain/$user
        > chgrp ..
        done
        #

        Eli tossa on simppeli tapa tehdä homma. For-loopissa (sh/ksh/bash) lista 'user1 user2 user3' jne. Sitten taas jos (ja kun) kyseessä on satoja käyttäjiä on parempi varmaan tehdä tosta skripti, jossa on listattuna myös noi käyttäjät.

        Suosittelen kokeilemaan em. viritystä ensin ilman root-tunnusta kun en testannut sitä mitenkään :)

        Hyvä ja simppeli skripti! Mutta vieläkin eri versioissa on huomattava, tuo chgrp: joissa jakeluissa ryhmä käyttäjillä (oletuksena) on users, toisissa taas $user... jne.
        (Saattaisi mennä tosin yhdelläkin chown-komennolla.)


      • kysymystä kirjoitti:

        Hyvä ja simppeli skripti! Mutta vieläkin eri versioissa on huomattava, tuo chgrp: joissa jakeluissa ryhmä käyttäjillä (oletuksena) on users, toisissa taas $user... jne.
        (Saattaisi mennä tosin yhdelläkin chown-komennolla.)

        chown username file ..
        chgrp groupname file ..
        =
        chown username.groupname file ..


      • *BSD
        Mik26 kirjoitti:

        chown username file ..
        chgrp groupname file ..
        =
        chown username.groupname file ..

        Ja vielä BSD:ssä ja Solariksessa toi sama
        on:
        chown username:groupname file ...


      • kysymystä

    • kysymystä

      Linuxissa (Unixeissa) on tiedostoilla ja hakemistoilla oikeuksia:
      omistaja, ryhmä ja muut. Lisäksi näille on omat luku-, kirjoitus- ja ajo-oikeutensa...
      Kurkkasepa mitä kertoo komento ls -l

      • kysymykseen

        Uups. Vastasin väärään kysymykseen, mutta...
        roottina hakemiston tekeminen käyttäjän hakemistoon jää oikeudet root-tunnukselle, joten myös tuo omistusoikeudet pitänee muuttaa.
        Homma ei siis ole aivan yksinkertainen... mutta vaatinee (?) lisäksi chown komennon ajamisen skriptissä :(


    • skriptaaja

      # HUOM: ei testattu!

      mkdir -p /home/jotain
      cd /home/jotain
      mkdir `ls /home`
      chown `ls /home` `ls /home`

      # yllä luotiin hakemistot (ja vähän liikaakin...)
      # ja asetettiin hakemistoille oikeudet

      • skriptaaja

        edellisessä tuo chown-rivi tekee asiat väärin, älä käytä sitä! Parempi olisi vaikkapa bashissa:

        mkdir -p /home/jotain
        cd /home/jotain
        for user in `ls /home` ; do
        mkdir -p $user
        chown $user $user
        # muuta tarvittavaa tänne...
        done


    • onion

      Iski inspis, tässä kunnon pieni softa. Muokkaa itsellesi sopivaksi:


      #include
      #include
      #include
      #include
      #include

      #define BASEDIR "./home/testing/"
      #define MIN_UID 100

      struct passwd *ent;

      int main (int argc, char **argv)
      {
      int gid;
      char buffer[2048];

      if (argc!=2) exit(1);
      if (getuid()!=0) exit(2);

      gid=atoi(argv[1]);
      if (gid==0) {
      printf("Not a valid GID\n");
      exit(3);
      }

      while ( (ent=getpwent()) != NULL) {
      if (ent->pw_uidpw_gid==gid) {
      printf("The uid [%d] matches gid, creating dir: ", ent->pw_uid);
      strcpy(buffer, BASEDIR);
      strcat(buffer, ent->pw_name);
      mkdir(buffer, S_IRWXU);
      chown(buffer, ent->pw_uid, ent->pw_gid);
      printf("%s\n", buffer);
      }
      }
      endpwent();

      return 0;
      }

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Petteri Orpo on satusetä

      Väittää että työllisyys on Suomessa samalla tasolla kuin hallituksen aloittaessa kesällä 2023. Fakta on, että työllisi
      Maailman menoa
      121
      3728
    2. Orpo ja Purra, käykää hakemassa oppia Espanjasta

      Espanja on näyttänyt kuinka kova työttömyys nujerretaan ja saadaan maan talous palautettua nousu-uralle. Ei ole häpeä kä
      Maailman menoa
      64
      2629
    3. Porvarimedia: Räsänen vei Lindtmanilta pääministerin paikan

      Lisäksi suomalaiset ovat innostuneet tuhlaaman, koska kuluttavat inflaation verran enemmän rahaa. Eikö porvarimedialla
      Maailman menoa
      34
      2592
    4. Jääkiekon MM:t pitää siirtää MTV:ltä Ylelle

      Persuille ikäviä uutisia taas. . Valtioneuvoston asetuksen mukaan MM-kisat kuuluvat kansallisesti merkittäviin tapahtumi
      Maailman menoa
      75
      2411
    5. Ruotsi laskee jälleen bensaveroa, Riikka irvailee tumput suorana

      Euron bensa oli persujen vaalilupaus, mutta kohta alkaa olla kolmosella alkavia litrahintoja. Meanwhile in Sverige: "
      Maailman menoa
      24
      2270
    6. Olitkin liian hyvää ollaksesi totta nainen

      Ihastuin ja rakastuin, mutta se on minun ongelma. Ei sinun.
      Ikävä
      103
      1360
    7. Kaste pelastaa ihmisen

      Kristittyjen kirkkojen toimittama yksi Kaste on Jumalan tekemä pelastusteko, jossa perisyntiin hengellisesti kuollut ihm
      Kaste
      626
      1255
    8. Elisalla ja MTV:llä lihava riita - MTV:n kanavienlähetykset ovat katkeamassa Elisan asiakkailla

      Kaikkien MTV:n kanavien televisiolähetykset ovat katkeamassa Elisan kaapeli-tv-asiakkailta. https://www.is.fi/digitoday
      Maailman menoa
      143
      1047
    9. Uskon todistus

      Oikean uskovaisen ja nimikristityn erottaa siitä, että Jeesukseen uskova korottaa Jeesusta ja uskoa Häneen, mutta nimik
      Kaste
      261
      1046
    10. Ensin oli armo - sen jälkeen tuli usko

      Me emme ansaitse armoa omalla uskollamme. Armo on ansaitsematonta rakkautta mikä synnyttää meidät uudesti Jumalasta. K
      Luterilaisuus
      400
      1045
    Aihe