1. Куча / Говнокод #963

    +131.6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    #!/bin/bash
    function get_group()
    {
    rm ./group
    gnc=`cat /etc/group | wc -l`
    cn=1
    while let "cn<=gnc"
    do
    gn=`cat /etc/group | head -n $cn | tail -n 1 | tr ':' '\n' | head -n 1 | grep [A-Za-z0-9].*`
    gnl=`cat /etc/group | head -n $cn | tail -n 1`
    echo $gnl
    echo "Do you want add your to group "$gn
    read as
    if [ "$as" == "yes" ]; then
    echo "yes"
    c=`echo $gnl | wc -c`
    let c--
    ct=":"
    echo $c
    cn2=`echo $gnl | cut -c$c`
    echo "cn2 "$cn2
    if [ "$cn2" != ":" ]
    then
    echo no
    gnl=$gnl","
    gnl=$gnl"$1"
    echo $gnl >> ./group
    else
    gnl=$gnl""$1
    echo $gnl >> ./group
    fi
    echo $gnl
    else
    echo $gnl >> ./group
    fi
    
    let cn++
    done
    cp ./group /etc/group
    }
    
    if [ $# -lt 1 ]; then
    echo -n "Enter username:"
    read username
    uid=1
    puid=0
    while :
    do
    uid=`echo ${RANDOM:0:3}`
    puid=`cat /etc/passwd | tr ':' '\n' | grep ^[0-9].*$ | grep $uid`
    if [ "$puid" == "" ];then
    echo "uid = $uid"
    echo "puid = $puid"
    echo $username
    groupadd $username
    gid=`cat /etc/group | grep $username | tr ':' '\n' | grep ^[0-9].*$ | head -n 1 | tail -n 1`
    echo "gid "$gid
    echo -n "Enter shell:"
    read ushell
    echo -n "Enter your name:"
    read rname
    echo $username:x:$uid:$gid:$rname:/home/$username:$ushell >> /etc/passwd
    echo $username:Jkirh5i3e/GqU:14318:0:99999:7:7:: >> /etc/shadow
    echo "Your password www.yandex.ru"
    mkdir /home/$username
    chmod u+r+w+x /home/$username
    chmod g+r+w+x /home/$username
    chmod o+r+w+x /home/$username
    get_group $username
    exit 0
    else
    uid=`echo ${RANDOM:0:3}`
    echo $uid
    echo "puid "$puid
    fi
    
    done
    
    fi
    echo -n "script havnt command line arguments"
    exit 0

    Регистрирует пользователя в системе

    Запостил: guest, 27 Апреля 2009

    Комментарии (11) RSS

    • Alice:
      Я этот скрипт сам использую напрактике непризнаю графические утилиты они для тупых юзеров и ламеров
      Ответить
    • Наплодят дебилов... якобы никсы знающих...
      Ответить
    • the:
      Alice, это вообще для кого?
      Ты посмотри на сущность скрипта, ЧУТЬ ЧУТЬ более широкими глазами.
      Ответить
    • Alice:
      Всмысле?Он работает правильно он реализует поставленную задачу.А дебилы якобы знающие юниксы скрипты такие непишут они используют пользовательские оконные приложения и в консоль нелезут и скрипты непишут.По крайней мере это программа не точто HTML. И решает конкретную практическую задачу.Я её для себя написал.
      Ответить
    • the:
      Alice,
      RTFM
      man useradd
      man groupadd
      man passwd
      Ответить
    • Alice:
      я это знаю но чтоб понять как всё это дело работает на низком уровне я решил написать скрипт
      Ответить
    • Alice, студент? только начал работать? энтузиазм через край? :)
      Ответить
    • Alice:
      был студентом выгнали на 4м курсе перед госом но юникс я здал
      Ответить
    • the:
      [quote=Alice]
      я это знаю но чтоб понять как всё это дело работает на низком уровне....
      [/quote]
      Чтоб понять как это работает на низком уровне, надо было не скрипт писать, а изучить как следует системные вызовы. И на асме все. Вот это низкий уровень, а то что ты написал - бред.
      Ответить
    • Год... два... и будешь сам коситься на тех, кто пишет такие скрипты (тратя время и деньги), только ради забавы и "низкоуровневых знаний". А там глядишь и на Windows GUI перейдёшь :)
      Ответить
    • показать все, что скрытоAlice:
      Вступайте в групу vkontakte http://vkontakte.ru/club6559338
      Ответить

    Добавить комментарий