Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: КАК Создать скрипт??????  (Прочитано 1138 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dsd2dsd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
КАК Создать скрипт??????
« : 08 Апреля 2013, 00:48:20 »
Помогите пожалуйста.
Задача: Создать скрипт который должен добавить 2 группы (physio,doctor) и Двух ползователей (John Smith, Mary Jones). John Smith надо добавить в группу physio. а Mary Jones нужно добавить в группу doctor. Их пароли должны быть P@ssword01.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: КАК Создать скрипт??????
« Ответ #1 : 08 Апреля 2013, 01:26:26 »
dsd2dsd,
примерно
#!/bin/bash
u1="John_Smith";p1=Password01
if [ -d /home/"$u1" ];then
echo Удалить $u1 - ok
userdel "$u1" -f -r
exit
fi
echo Пользователь добавить $u1 - ok
useradd "$u1" -d /home/"$u1" -s /bin/bash -p `mkpasswd -s -m sha-512 "$p1"`
mkdir /home/"$u1"
chown "$u1":"$u1" -R /home/"$u1"
su "$u1" -c "touch /var/mail/\"$u1\""
выполнить тест
root@victor00000:~# ./user.sh
Пользователь добавить John_Smith - ok
root@victor00000:~# ./user.sh
Удалить John_Smith - ok
root@victor00000:~#
(Нажмите, чтобы показать/скрыть)
Wars ~.o

Оффлайн dsd2dsd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: КАК Создать скрипт??????
« Ответ #2 : 08 Апреля 2013, 01:42:45 »
Можно поподробнее. Я новичок в linux:)

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: КАК Создать скрипт??????
« Ответ #3 : 08 Апреля 2013, 01:50:56 »
гугле тоже встав команды пример "useradd userdel mkpasswd" всё русский.
Wars ~.o

Оффлайн avi9526

  • Активист
  • *
  • Сообщений: 618
  • ахтыжъёшкинкот
    • Просмотр профиля
    • Блог av9526
Re: КАК Создать скрипт??????
« Ответ #4 : 08 Апреля 2013, 03:17:39 »
Можно и подробнее...
Задаём специальный комментарий, который является директивой для указания интерпретатора который будет задействован для интерпретации данного скрипта, в данном случае /bin/bash
Код: (bash) [Выделить]
#!/bin/bashСоздаём две переменные с именем пользователя и его паролем, символ ";" тут работает как в паскале
Код: (bash) [Выделить]
u1="John_Smith";p1=Password01Если папка с именем ($ означает обращение к переменной) пользователя существует, то
Код: (bash) [Выделить]
if [ -d /home/"$u1" ];thenВыводим текст, об удалении пользователя
Код: (bash) [Выделить]
echo Удалить $u1 - okУдаляем пользователя
Код: (bash) [Выделить]
userdel "$u1" -f -rВыход из скрипта
Код: (bash) [Выделить]
exitКонец условия IF, пишется как IF, только наоборот :P
Код: (bash) [Выделить]
fiВыводим текст о добавлении пользователя
Код: (bash) [Выделить]
echo Пользователь добавить $u1 - okДобавляем нового пользователя "$u1", создаём его домашний каталог /home/"$u1", указываем интерпретатор терминала для него /bin/bash, и его пароль: `mkpasswd -s -m sha-512 "$p1"` пароль хранится в виде хеш суммы, что-бы его никто не прочитал, секрет в том, что зная хеш сумму трудно узнать пароль. Кавычки `` означают что это отельная команда, которая будет выполнена отдельно, а её результат вставлен в это место, это тоже самое что и $().
Код: (bash) [Выделить]
useradd "$u1" -d /home/"$u1" -s /bin/bash -p `mkpasswd -s -m sha-512 "$p1"`Создаём домашнюю папку для пользователя
Код: (bash) [Выделить]
mkdir /home/"$u1"Устанавливаем пользователя, имя которого хранится в переменной u1, владельцем этой папки (также, его группу, на это пока забей)
Код: (bash) [Выделить]
chown "$u1":"$u1" -R /home/"$u1"По-моему, дальше идет создание почтового файла пользователя (P.S. если у тебя есть белый IP и порт 25 открыт, ты можешь получать почту себе на ЭВМ, но пока забей)
Код: (bash) [Выделить]
su "$u1" -c "touch /var/mail/\"$u1\""
Когда тебя посылают читать ман, имеется ввиду мануал, например, узнать о команде echo
man echoно это неудобно, текст в консоли утомляет.
Можешь так
yelp man:echo
Ну дальше… гугл в помощь.
Ubuntu 14.10

Оффлайн dsd2dsd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: КАК Создать скрипт??????
« Ответ #5 : 08 Апреля 2013, 05:23:14 »
Пожалуйста напишите реально рабочий скрипт.с добавлением пользователей, пользователей в группы. Желательно по той задаче которая написана в начале.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: КАК Создать скрипт??????
« Ответ #6 : 08 Апреля 2013, 05:32:03 »
avi9526,
(Нажмите, чтобы показать/скрыть)
dsd2dsd,
какие добавить группа? sudo или кто там (physio,doctor)?
Wars ~.o

Оффлайн dsd2dsd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: КАК Создать скрипт??????
« Ответ #7 : 08 Апреля 2013, 05:41:04 »
названия груп physio и doctor.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: КАК Создать скрипт??????
« Ответ #8 : 08 Апреля 2013, 06:25:21 »
dsd2dsd,
#!/bin/bash
g1=physio;g2=doctor
u1="John_Smith";p1=Password01
u2="Mary_Jones";p2=Password02
[ "$UID" != "0" ] && echo root or sudo && exit
if [ -d /home/"$u1" ];then
echo Удалить $u1 - ok
userdel "$u1" -f -r || echo Ошибка
echo Удалить $u2 - ok
userdel "$u2" -f -r || echo Ошибка
groupdel $g1
groupdel $g2
exit
fi
echo Пользователь добавить $u1 и $u2 - ok
useradd "$u1" -d /home/"$u1" -s /bin/bash -p `mkpasswd -s -m sha-512 "$p1"`  || (echo Ошибка && echo exit && exit)
useradd "$u2" -d /home/"$u2" -s /bin/bash -p `mkpasswd -s -m sha-512 "$p2"`  || (echo Ошибка && echo exit && exit)
mkdir /home/"$u1"  || (echo Ошибка && exit)
mkdir /home/"$u2"  || (echo Ошибка && exit)
chown "$u1":"$u1" -R /home/"$u1" || (echo Ошибка && exit)
chown "$u2":"$u2" -R /home/"$u2" || (echo Ошибка && exit)
su "$u1" -c "touch /var/mail/\"$u1\"" || (echo Ошибка && exit)
su "$u2" -c "touch /var/mail/\"$u2\"" || (echo Ошибка && exit)
groupadd $g1
gpasswd -a $u1 $g1
groupadd $g2
gpasswd -a $u2 $g2
id $u1
id $u2
тест
root@victor00000:~# ./user.sh
Удалить John_Smith - ok
Удалить Mary_Jones - ok
root@victor00000:~# ./user.sh
Пользователь добавить John_Smith и Mary_Jones - ok
Добавление пользователя John_Smith в группу physio
Добавление пользователя Mary_Jones в группу doctor
uid=1035(John_Smith) gid=1036(John_Smith) группы=1036(John_Smith),1038(physio)
uid=1036(Mary_Jones) gid=1037(Mary_Jones) группы=1037(Mary_Jones),1039(doctor)
root@victor00000:~# ./user.sh
Удалить John_Smith - ok
Удалить Mary_Jones - ok
root@victor00000:~#
прально?
Wars ~.o

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: КАК Создать скрипт??????
« Ответ #9 : 08 Апреля 2013, 06:46:18 »
man usedadd groupadd usermod passwd

Оффлайн dsd2dsd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: КАК Создать скрипт??????
« Ответ #10 : 08 Апреля 2013, 06:53:26 »
victor00000,
Спасибо Большое. То что искал.

 

Страница сгенерирована за 0.089 секунд. Запросов: 25.