- •II. First steps on the command line
- •5. Man pages
- •6. Working with directories (работа с папками)
- •7.Working with files
- •8. Working with file contents
- •9. The Linux file tree
- •III. Shell expansion
- •10. Commands and arguments
- •11. Control operators
- •12. Variables
- •13. Shell history
- •14. File globbing
- •IV. Pipes and commands
- •Глава 16. Фильтры.
- •16.3 Grep
- •16.7. Sort
- •16.8. Uniq
- •16.9. Comm
- •16.12. Примеры пайпов
- •Глава 17. Основные инструменты Unix
- •17.1. Find
- •17.2. Размещение
- •17.3. Date
- •17.5. Sleep
- •17.6. Time
- •17.7. Gzip - gunzip
- •17.8. Zcat - zmore
- •18.3. Замена и удаление символов (r X X)
- •18.4. Отменить и повторить (u .)
- •18.5. Вырезать, копировать и вставить строчки (dd yy p p)
- •18.6. Вырезать, копировать и вставить строчки (3dd 2yy)
- •18.8. Объединения двух и более линий (j)
- •18.9. Слова (w b)
- •18.10. Сохранить (или нет) и выход (:w :q :q! )
- •18.11. Поиск (/ ?)
- •18.13. Чтение файлов (:r :r !cmd)
- •19.1. Предпосылки
- •19.2. Hello World
- •19.4. Комментарии
- •20.2. Если, затем, иначе (if then else)
- •20.3. If then elif
- •20.4. For loop
- •20.5. While loop
- •21.2. Shift through parameters.
- •21.3. Runtime input.
- •21.3. Sourcing a config file.
- •21.5. Get script options with getopts.
- •21.6. Get shell options with shopt.
- •Глава 22 More scripting.
- •22.1. Eval.
- •22.4. Case.
- •22.5. Shell functions.
- •Раздел VII. Local user management. Глава 23. Users.
- •23.1. Identify yourself.
- •23.2. Users.
- •23.3. Passwords.
- •23.4 Home directories
- •23.5 User shell
- •23.6. Switcj users with su
- •23.7 Run a program as another user
- •23.10 Shell environment
- •Глава 24. Groups
- •24.1 About groups
- •24.2 Groupadd
- •24.3 /Etc/group
- •24.4 Usermod
- •24.5 Groupmod
- •24.6 Groupdel
- •24.7 Groups
- •24.8 Gpasswd
- •24.9 Vigr
23.4 Home directories
Creating home directories
Легчайший способ создать домашнюю директорию – добавить опцию–m кuseradd (скорее всего является опцией по умолчанию наLinux).
Менее легкий способ – создание домашней директории вручную с помощью mkdir, что также требует установления владельца и прав доступа к директории с помощьюchmodиchown(об обеих командах будет рассказано более подробно в другой главе).
[root@RHEL5 ~]# mkdir /home/laura
[root@RHEL5 ~]# chown laura:laura /home/laura
[root@RHEL5 ~]# chmod 700 /home/laura
[root@RHEL5 ~]# ls -ld /home/laura/
drwx------ 2 laura laura 4096 Jun 24 15:17 /home/laura/
/etc/skel/
Когда useradd используется с опцией–m, директория/etc/skel/ копируется в созданную домашнюю директорию. Директория/etc/skel/содержит несколько файлов (обычно скрытых) в которых хранятся настройки профиля и стандартные значения для приложений. Поэтому /etc/skel/ служит стандартной домашней директорией и стандартным профилем пользователя.
[root@RHEL5 ~]# ls -la /etc/skel/
total 48
drwxr-xr-x 2 root root 4096 Apr 1 00:11 .
drwxr-xr-x 97 root root 12288 Jun 24 15:36 ..
-rw-r--r-- 1 root root 24 Jul 12 2006 .bash_logout
-rw-r--r-- 1 root root 176 Jul 12 2006 .bash_profile
-rw-r--r-- 1 root root 124 Jul 12 2006 .bashrc
Deleting home directories
Опция –rкомандыusedel проверит, удалена ли домашняя директория вместе с аккаунтом пользователя.
[root@RHEL5 ~]# ls -ld /home/wim/
drwx------ 2 wim wim 4096 Jun 24 15:19 /home/wim/
[root@RHEL5 ~]# userdel -r wim
[root@RHEL5 ~]# ls -ld /home/wim/
ls: /home/wim/: No such file or directory
23.5 User shell
Login shell
Файл /etc/passwd определяет login shell для пользователя. В примере ниже, вы можете увидеть, что пользовательanneliesзайдет с /bin/bash shell, а пользовательlaurac/bin/ksh shell.
[root@RHEL5 ~]# tail -2 /etc/passwd
annelies:x:527:533:sword fighter:/home/annelies:/bin/bash
laura:x:528:534:art dealer:/home/laura:/bin/ksh
Вы можете использовать команду usermod, чтобы изменить льзователя.
[root@RHEL5 ~]# usermod -s /bin/bash laura
[root@RHEL5 ~]# tail -1 /etc/passwd
laura:x:528:534:art dealer:/home/laura:/bin/bash
chsh
Пользователи могу менять свой loginshellс помощью командыchsh.Вначале пользовательharryполучил список доступныхshell( он также мог использоватьcat /etc/shells), а затем сменил свойloginshellнаKorn shell (/bin/ksh). При следующем входеharryпо умолчанию будет направлен вksh, вместоbash.
[harry@RHEL4 ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/ash
/bin/bsh
/bin/ksh
/usr/bin/ksh
/usr/bin/pdksh
/bin/tcsh
/bin/csh
/bin/zsh
[harry@RHEL4 ~]$ chsh -s /bin/ksh
Changing shell for harry.
Password:
Shell changed.
[harry@RHEL4 ~]$
23.6. Switcj users with su
Su to another user
Команда su позволяет запуститьshellот имени другого пользователя.
[paul@RHEL4b ~]$ su harry
Password:
[harry@RHEL4b paul]$
Su to root
Вы также можете использовать su, чтобы получить праваroot пользователя, если вы знаетеroot пароль.
[harry@RHEL4b paul]$ su root
Password:
[root@RHEL4b paul]#
Su as root
Пока вы не зашли как root, запускshellс другого пользователя будет требовать его пароль.Root пользователь может стать любым пользователем, не зная его пароль.
[root@RHEL4b paul]# su serena
[serena@RHEL4b paul]$
Su - $username
По умолчанию команда suсохраняет ту же среду shell. Для того, чтобы стать другим пользователем и так же получить среду этого пользователя, введите командуsu, а затем имя требуемого пользователя.
[paul@RHEL4b ~]$ su - harry
Password:
[harry@RHEL4b ~]$
Su –
Когда имя пользователя не указано после su илиsu-, команда выберетroot как целевого пользователя.
[harry@RHEL4b ~]$ su -
Password:
[root@RHEL4b ~]#