Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
spo_voprosy.docx
Скачиваний:
9
Добавлен:
20.03.2016
Размер:
465.35 Кб
Скачать

22.5. Shell functions.

Shellфункции(function) могут быть использованы для логической группировки команд.

kahlan@solexp11$ cat funcs.ksh

#!/bin/ksh

function greetings {

echo Hello World!

echo and hello to $USER to!

}

echo We will now call a function

greetings

echo The end

Вот пример вывода этого скрипта с function.

kahlan@solexp11$ ./funcs.ksh

We will now call a function

Hello World!

and hello to kahlan to!

The end

Shell функция также может получать параметры.

kahlan@solexp11$ cat addfunc.ksh

#!/bin/ksh

function plus {

let result="$1 + $2"

echo $1 + $2 = $result

}

plus 3 10

plus 20 13

plus 20 22

Данный скрипт производит следующий вывод.

kahlan@solexp11$ ./addfunc.ksh

3 + 10 = 13

20 + 13 = 33

20 + 22 = 42

Раздел VII. Local user management. Глава 23. Users.

23.1. Identify yourself.

Whoami

Команда whoami сообщает ваше имя пользователя(username).

[root@RHEL5 ~]# whoami

root

[root@RHEL5 ~]# su - paul

[paul@RHEL5 ~]$ whoami

Paul

Who

Команда who показывает информацию о том, у кого выполнен вход(loggedin) в систему.

[paul@RHEL5 ~]$ who

root tty1 2008-06-24 13:24

sandra pts/0 2008-06-24 14:05 (192.168.1.34)

paul pts/1 2008-06-24 16:23 (192.168.1.37)

Who am i

В отличие от who,who am I показывает только строку, отвечающую за текущую сессию.

[paul@RHEL5 ~]$ who am i

paul pts/1 2008-06-24 16:23 (192.168.1.34)

W

Команда w показывает, у кого выполнен вход в систему, и чем они заняты.

$ w

05:13:36 up 3 min, 4 users, load average: 0.48, 0.72, 0.33

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root tty1 - 05:11 2.00s 0.32s 0.27s find / -name shad

inge pts/0 192.168.1.33 05:12 0.00s 0.02s 0.02s -ksh

paul pts/2 192.168.1.34 05:13 25.00s 0.07s 0.04s top

Id

Команда id покажет вам ваш идентификатор(id) пользователя,idосновной группы(primarygroup) и список групп, к которым вы принадлежите.

root@laika:~# id

uid=0(root) gid=0(root) groups=0(root)

root@laika:~# su - brel

brel@laika:~$ id

uid=1001(brel) gid=1001(brel) groups=1001(brel),1008(chanson),11578(wolf)

23.2. Users.

user management

Управление пользователями(usermanagement) на любыхUnixможет быть осуществлено 3 способами. Вы можете использоватьграфическиеинструменты, предоставленные вашим дистрибутивом. Данный способ рекомендован для пользователей-новичковLinux, пользующихся домашней системой, т.к. вы не столкнетесь с проблемами.

Другой вариант – использовать инструменты командной строки(command line tools) такие какuseradd,usermod,gpasswd,passwdи другие. Серверные администраторы используют эти инструменты, т.к. они очень похожи во многих различных дистрибутивах. Эта глава будет сконцентрирована именно на инструментах командной строки.

Третий и ,скорее, экстремистский способ – это редактирование файлов настройки (локальной конфигурации) (edit the local configuration files) напрямую, используяvi(илиvipw/vigr). Не пытайтесь это сделать на производственных системах, если вы новичок.

/etc/passwd

Локальная база данных пользователей на Linux(и большинствеUnix) это/etc/passwd

[root@RHEL5 ~]# tail /etc/passwd

inge:x:518:524:art dealer:/home/inge:/bin/ksh

ann:x:519:525:flute player:/home/ann:/bin/bash

frederik:x:520:526:rubius poet:/home/frederik:/bin/bash

steven:x:521:527:roman emperor:/home/steven:/bin/bash

pascale:x:522:528:artist:/home/pascale:/bin/ksh

geert:x:524:530:kernel developer:/home/geert:/bin/bash

wim:x:525:531:master damuti:/home/wim:/bin/bash

sandra:x:526:532:radish stresser:/home/sandra:/bin/bash

annelies:x:527:533:sword fighter:/home/annelies:/bin/bash

laura:x:528:534:art dealer:/home/laura:/bin/ksh

Как вы можете заметить, этот файл содержит 7 столбцов, разделенных двоеточие. Они содержат имя пользователя, x,idпользователя,idосновной группы, описание, название домашней директории, иlogin shell.

Root

Root пользователь, также называющийсяsuperuser, является самым могущественным аккаунтом на вашейLinuxсистеме. Этот пользователь может делать почти всё, включая создание других пользователей.Rootпользователь всегда имеетuerid0 (независимо от имени аккаунта).

[root@RHEL5 ~]# head -1 /etc/passwd

root:x:0:0:root:/root:/bin/bash

Useradd

Вы можете добавлять пользователей с помощью команду useradd. Пример ниже показывает, как добавить пользователяyanina(последний параметр) , создать домашнюю директорию (-m), задать её имя (-d) и создать описание (-с).

[root@RHEL5 ~]# useradd -m -d /home/yanina -c "yanina wickmayer" yanina

[root@RHEL5 ~]# tail -1 /etc/passwd

yanina:x:529:529:yanina wickmayer:/home/yanina:/bin/bash

Пользователь, названный yanina, получилuserid529 иprimary group id529.

Default/useradd

Как RedHatEnterpriseLinux, так иDebian/Ubuntuимеет файл с названиемetc/default/useradd, который содержит несколько стандартных опций пользователя. Кроме использованияcatдля отображения этого файла, вы также можете использоватьuseraddD.

[root@RHEL4 ~]# useradd -D

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

Userdel

Вы можете удалить пользователя yaninaс помощьюuserdel. Опция –rтакже удалит домашнюю дерикторию.

[root@RHEL5 ~]# userdel -r yanina

Usermod

Вы можете менять свойства пользователя с помощью команды usermod.В данноом примереusermod используется, чтобы сменить описание пользователяharry.

[root@RHEL4 ~]# tail -1 /etc/passwd

harry:x:516:520:harry potter:/home/harry:/bin/bash

[root@RHEL4 ~]# usermod -c 'wizard' harry

[root@RHEL4 ~]# tail -1 /etc/passwd

harry:x:516:520:wizard:/home/harry:/bin/bash

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]