201310061050


1. Учетные записи входа в систему. Пароли. Unix и Windows. Права пользователей. Группы пользователей. Права администратора.
---------------------------------------------------------------------------------------------------------------------------

    Корень у дерева -- снизу!

    Дерево -- это нечто широкое вверху и узкое внизу? Выбросим новогоднюю елку в контейнер для мусора. Так где root, вы говорите?

Для экспериментов с OC Windows подойдет копия операционной системы, на которую вы имеете права суперадминистратора (ограничения доступа отсутствуют). Если по каким-либо причинам в данное время и в данном месте доступ к такой системе ограничен, можно поэкспериментировать с nightbuild Reactos, следует учитывать что данная система крайне нестабильна (alpha version) -- в упражнении указано с какой версией Reactos его удалось проделать.

Упражнение 1. Создание пользователя с помощью GUI (Windows). (tested on Reactos SVN 20130903).

NB! В Reactos от 20130903 диалоги работы с учетными записями пользователей частично не подключены.

Узнать имя текущего пользователя:

  echo %username%
  
Завести/изменить/уничтожить новую учетную запись пользователя

  (Win +X) -> Control panel -> user accounts -> ..
  
Дополнительные настройки.

  (Win +X) -> Run -> control userpasswords2


Упражнение 2. Создание пользователя с помощью CLI (tested on Windows 8.1).

  C:\Users\kiril_000>net user ?
  The syntax of this command is:

  NET USER
  [username [password | *] [options]] [/DOMAIN]
           username {password | *} /ADD [options] [/DOMAIN]
           username [/DELETE] [/DOMAIN]
           username [/TIMES:{times | ALL}]
           username [/ACTIVE: {YES | NO}]


Упражнение 3. Создание пользователя с помощью диалога (tested on Ubuntu 13.04).

  Узнать имя текущего пользователя:

     $ whoami
  
  получить права администратора
  
     $ sudo -s
  
  какие пользователи зарегистрированы? их группы?
  
    # cat /etc/passwd    
    # cat /etc/group
   
  создать пользователя drwho
  
    root@virtu:~# adduser drwho
    Добавляется пользователь «drwho» ...
    Добавляется новая группа «drwho» (1001) ...
    Добавляется новый пользователь «drwho» (1001) в группу «drwho» ...
    Домашний каталог «/home/drwho» уже существует. Не копируется из «/etc/skel».
    Введите новый пароль UNIX:
    Повторите ввод нового пароля UNIX:
    passwd: password updated successfully
    Changing the user information for drwho
    Enter the new value, or press ENTER for the default
            Full Name []: doctor
            Room Number []: 108
            Work Phone []: 123
            Home Phone []: 456
            Other []: -
    Данная информация корректна? [Y/n] y
       
    root@virtu:~# ls -l /home
    итого 16
    drwxr-xr-x 10 virtu virtu 4096 авг.  31 21:33 virtu
    drwxr-xr-x  2 drwho drwho 4096 сент.  5 07:35 drwho

    root@virtu:~# ls -la /home/drwho/
    итого 20
    drwxr-xr-x 2 drwho drwho 4096 сент.  5 07:35 .
    drwxr-xr-x 4 root  root  4096 сент.  5 07:35 ..
    -rw-r--r-- 1 drwho drwho  220 сент.  5 07:35 .bash_logout
    -rw-r--r-- 1 drwho drwho 3637 сент.  5 07:35 .bashrc
    -rw-r--r-- 1 drwho drwho  675 сент.  5 07:35 .profile

    root@virtu:~# deluser drwho
    Удаляется пользователь «drwho» ...
    Предупреждение: в группе `drwho' больше никого нет.
    Готово.

    root@virtu:~# delgroup drwho
    Группа «drwho» не существует.


Упражнение 4. Создание пользователя с помощью BASH скрипта (tested on Ubuntu 13.04).

  demo people

  username  userpassword          surname   firstname
  ...
  pupsik    kudaidemm6sp2ta4kom   sidorov   petr

  #!/bin/sh

  group=demo
  exec < demo_people
  while read user pass surname name
  do
      useradd $user -g demo -c $surname"_"$name
      echo $user":"$pass | chpasswd
      mkdir /home/$user/public_html
      chown $user:$group /home/$user
      chown $user:$group /home/$user/public_html
      chmod 755 /home/$user
      chmod 755 /home/$user/public_html
      cp index.php /home/$user/public_html/
      chmod 755 /home/$user/public_html/index.php
      chown $user:$group /home/$user/public_html/index.php
  done
