Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Linux основные команды. Карманный справочник - Д. Дж. Еаррет

.pdf
Скачиваний:
189
Добавлен:
24.05.2014
Размер:
1.77 Mб
Скачать

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

Полезные опции

-N

Вывести только последние Л'-строк выходных данных,

 

где N- положительное целое число

-i

Вывести IP-адреса вместо имен хостов

-R

Не выводить имена хостов

Также выводить информацию о выключении системы

 

и изменениях в конфигурации загрузки (например, о

 

смене однопользовательского режима на

 

многопользовательский)

-f имя_файла

 

Читать из какого-нибудь другого файла с

 

 

данными вместо /var/run/utmp, см. описание who

 

 

для более подробной информации

printenv [переменные окружения} coreutils

/usr/bin

stdin stdout -file -opt —help -version

Команда printenv выводит все переменные окружения, известные вашему командному процес-рору, и их значения:

$ printenv НОМЕ=/home/smith MAIL=/var/spool/mail/smith NAME=Sandy Smith SHELL=/bin/bash

или значения только заданных переменных:

$ printenv HOME SHELL /home/smith /bin/bash

Работа

с

учетными

записями

пользователей

 

 

useradd

Создать новую учетную запись

 

userdel

Удалить учетную запись

 

usermod

Изменить учетную запись

 

passwd

Изменить пароль

 

chfn

Изменить персональную информацию

 

пользователя

 

151

chsh Изменить командный процессор пользователя

Программа установки Fedora предлагает вам создать две учетные записи, одну для суперпользователя и одну для обычного пользователя. Но вы, возможно, захотите создать и другие учетные записи.

Создание пользователей - это важная операция, к которой стоит относиться серьезно. Каждая учетная запись - это потенциальная дорога для "злоумышленника", желающего попасть в вашу систему, поэтому каждый пользователь должен иметь защищенный, сложно подбираемый пароль, который стоит регулярно менять.

useradd [опции] имя пользователя shadow-utils /usr/sbin stdin stdout -file --opt -help --version"

Команда useradd позволяет суперпользователю создавать учетную запись нового пользователя.

# useradd smith

Ее настройки по умолчанию обычно не самые подходящие (их можно просмотреть с помощью

useradd -D), так что не забудьте указать все необходимые вам опции.

# useradd -d /home/smith -s /bin/bash -g users smith

Полезные опции

-d директория

Сделать домашней директорией

 

пользователя указанную директорию

-s командныйпроцессор

Задать командный процессор, который

 

запускается при входе пользователя в

 

систему

-u uid

Установить идентификатор пользователя

 

в значение uid. Если вы не знаете в

 

точности, что делаете, то опустите эту

 

опцию и оставьте значение по умолчанию

152

-g группа

 

Установить в качестве первичной группы

 

 

пользователя указанную группу, которая

 

 

может задаваться либо численным

 

 

идентификатором, либо именем, и

 

 

которая должна существовать к этому

 

 

моменту

-G rpynnai, группа2,...

Сделать пользователя членом

 

 

дополнительных существующих групп

 

 

группа!, группа2н т. д.

-m

 

Скопировать все файлы из "скелетной"

 

 

директории /etc/skel, в свежесозданную

 

 

домашнюю директорию. Скелетная

 

 

директория обычно содержит

 

 

минимальные (скелетные) версии файлов

 

 

инициализации, например, -/.bashprofile,

 

 

для того чтобы новые пользователи

 

 

могли начать работу. Если вы хотите

 

 

скопировать файлы из другой

 

 

директории, добавьте опцию -к (-к

 

 

другая директория)

userdel [-г] имяпользователя shadow-utils

/usr/sbin

stdin stdout -file —opt --help --version

Команда userdel удаляет существующего пользователя.

# userdel smith

Она не удалит файлы из домашней директории пользователя, только если вы не укажете опцию -г. Хорошо подумайте, прежде чем удалять пользователя; возможно стоить деактивировать учетную запись (с помощью команды usermod -L) вместо того, чтобы удалять ее. И убедитесь в том, что у вас есть резервные копии всех файлов пользователя, прежде чем удалять их: когда-нибудь они вам могут понадобиться.

usermod [опции] имя_пользователя shadow-utils /usr/sbin stdin stdout -file --opt --help –version

153

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

# usermod -d /home/another smith

Полезные опции

-d директория

Сделать указанную директорию

 

домашней

-1 имя_пользователя

Изменить имя пользователя на

 

имя_ пользователя. Хорошо

 

подумайте, прежде чем делать это,

 

на случай, если что-то в вашей

 

системе зависит от исходного

 

имени. И, естественно, не делайте

 

этого с системными учетными

 

записями (root, daemon и т. д.)!

-s командныи_процессор

Изменить командный процессор

 

пользователя, который запускается

 

при входе в систему на указанный

 

командныйпроцессор

-g группа

Изменить первичную группу

 

пользователя на указанную группу,

 

которая может задаваться либо

 

численным идентификатором

 

группы, либо именем группы, и

 

которая должна существовать к

 

этому моменту

-G группа 1, группа2, . . .

Сделать пользователя

 

дополнительно членом списка

 

существующих групп: группа1,

 

группа2,... Если пользователь до

 

этого принадлежал к другим

 

группам, но здесь вы их не

 

указали, то пользователь больше

 

не будет к ним принадлежать

-L

Блокировать учетную запись,

154

чтобы пользователь не смог войти в систему

-U Разблокировать учетную запись после того, как была использована опция -L

passwd [опции] [имя_пользователя]

passwd

/usr/bin

stdin stdout -file --opt -help --version

Команда passwd изменяет пароль учетной записи, по умолчанию вашей:

#passwd

или пароль другого пользователя (это может сделать только суперпользователь):

#passwd smith

Команда passwd имеет опции, большинство из которых относятся к истечению срока действия пароля. Используйте их только в контексте хорошо продуманной политики безопасности.

chfn [опции] [имя пользователя]

util-linux

/usr/bin

stdin stdout -file —opt -help -version

Команда chfn (от англ. change finger) обновляет некоторые части персональной информации, находящейся в системе: настоящее имя пользователя, домашний телефон, рабочий телефон и адрес офиса, которые выводятся командой finger. Если имя пользователя не указывается, то команда chfn изменяет информацию вашей учетной записи; если при вызове команды (суперпользователем) указывается имя пользователя, то изменяется информация об этом пользователе. При отсутствии опций команда chfn предложит вам ввести необходимую информацию.

$ chfn

Password: ********

Name [Shawn Smith]: Shawn E. Smith

155

 

Office [100

Barton Hall]:

 

Office Phone [212-555-1212]: 212-555-1234

 

Home Phone

[]:

 

Полезные опции

- f

имя

Изменить полное имя на имя

-h

номер

Изменить номер домашнего телефона на номер

номер

Изменить номер домашнего телефона на номер

офис

Изменить адрес офиса на офис

 

chsh [опции] [имя пользователя] util-linux

 

/usr/bin

stdin stdout -file --opt -help --version

Команда chsh (от англ. change shell) устанавливает командный процессор, который вызывается, когда вы входите в систему. При вызове без имени пользователя команда chsh изменяет вашу учетную запись; если при вызове команды (суперпользователем) указывается имя пользователя, то изменяется командный процессор этого пользователя. При отсутствии опций команда chsh предложит вам ввести необходимую информацию.

$ chsh

Changing shell for smith. Password: ********

New shell [/bin/bash]: /bin/tcsh

Новый командный процессор должен быть в списке /etc/shells.

Полезные опции

-s командный^процессор

Задать новый командный

 

процессор

-1

Вывести список всех допустимых

 

командных процессоров

Получение прав суперпользователя

156

Обычные пользователи, в основном, могут изменять только те файлы, которыми они владеют. Один особенный пользователь, который называется суперпользователем или root, имеет полный доступ к компьютеру и может делать на нем все, что угодно. Для того чтобы стать суперпользователем, войдите в систему под своей учетной записью и наберите следующее.

$ SU -1 Password: # ********

Вам предложат ввести пароль суперпользователя (который, предполагается, вы знаете, если это ваш компьютер). Знак приглашения вашего командного процессора изменится на знак решетки (#), чтобы показать, что вы имеете права суперпользователя. Когда вы закончите выполнять команды в качестве суперпользо-вател, наберите лв или выполните команду exit, чтобы завершить сеанс суперпользователя и снова вернуться в ваш командный процессор.

Это простейший способ получить права суперпользователя в системе. Для этого существуют и другие программы, которые предлагают расширенный контроль, например программа sudo, но их описание выходит за рамки этой книги.

Если вы укажете команде su имя пользователя:

$ su -I jones Password: *******

то вы можете стать этим пользователем (при условии, что вы знаете его пароль).

 

Полезные опции

-1

Выполнить процедуру входа в систему. Вы почти

 

всегда будете использовать эту опцию, поскольку в

 

этом случае устанавливаются подходящие пути поиска

 

для root

-m

Сохранить ваши текущие переменные окружения в

 

новой сессии

157

-с команда Выполнить эту команду (в сессии другого пользователя) и выйти (выполнить команду exit). Если вам нужно сделать это много раз, почитайте manстраницу команды sudo

-s командный_процессор Запустить заданный командный процессор (например, /bin/bash)

Работа с группами

groups

Вывести группы, к которым принадлежит

 

пользователь

groupadd

Создать новую группу

groupdel

Удалить группу

groupmod

Изменить группу

Группа - это набор пользовательских учетных записей, который рассматривается как одна категория. Если вы предоставите группе право на осуществление какого-либо действия (например изменение файла), то все члены этой группы получат это право. Например, вы можете предоставить группе friends полные права на чтение, запись и исполнение файла /tmp/sample.

$ groups

users smith friends

$

chgrp friends /tmp/sample

$

chmod 770 /tmp/sample

$

Is -1 /tmp/sample

-rwxrwx

1 smith friends 2874 Oct

20 22:35

/tmp/sample

Чтобы добавить пользователей в группу, редактируйте файл /etc/group*, будучи суперпользователем. Чтобы изменить группу, которой принадлежит файл, вызовите команду chgrp, описанную в разделе "Свойства файлов" на странице 95.

groups \имена_пользовзтелей\

coreutils

/usr/bin

stdin stdout -file --opt --help -version

Команда groups выводит Linux-группы, к которым принадлежите вы или к которым принадлежат другие пользователи.

158

$ whoami smith

$ groups smith users

$ groups jones root jones .- jones users

root : root bin daemon sys adm disk wheel src

* Разные системы могут хранить списки членов групп по-разному.

groupadd [опции] группа . shadow-utils /usr/sbin stdin stdout -file —opt --help -version

Команда groupadd создает новую группу. В большинстве случаев следует использовать опцию - f для того, чтобы предотвратить дублирование групп.

#groupadd -f

friends

Полезные опции

-g gid

Задать ваш собственный числовой идентификатор

 

группы вместо того, чтобы команда groupadd выбирала

 

его сама

- f

Если группа уже существует, сообщить об этом и

 

завершить работу

groupdel группа shadow-utils

/usr/sbin

stdin stdout -file --opt --help --version

Команда groupdel удаляет существующую группу.

#groupdel friends

Перед тем как сделать это, стоит определить все файлы, у которых идентификатор группы установлен на заданную группу, чтобы вы смогли обработать их в дальнейшем:

#find / -group friends -print

159

так как команда groupdel не меняет идентификаторов группы каких бы то ни было файлов. Она просто удаляет имя группы из системных записей.

groupmod [опции] группа

shadow-utils

/usr/sbin

stdin stdout -file

--opt --help --version

Команда groupmod изменяет заданную группу: ее имя или идентификатор группы.

#groupmod -n newname friends

Команда groupmod не изменяет файлы, которые относятся к этой группе: она просто изменяет идентификатор группы или ее имя в системных записях. Будьте аккуратны при изменении идентификатора, иначе он будет указывать на несуществующую группу.

Полезные опции

- g gid

Изменить идентификатор группы на номер gid

-n имя

Изменить имя группы на имя

Основная информация о хосте

uname

Вывести основную информацию о системе

hostname

Вывести имя хоста

 

dnsdomainname

To же самое, что и команда hostname

-d

domainname

To же самое, что и команда hostname

nisdomainname

To же самое, что и команда hostname

ypdomainname

To же самое, что и команда hostname

ifconfig

Установить и вывести информацию о сетевом

 

интерфейсе

 

Каждая Linux-машина (или хост) имеет имя, сетевой IP-адрес и другие свойства. Ниже описывается, как можно просмотреть эту

информацию.

coreutils

uname [опции]

160