Plus intitle все публикации пользователя предыдущая. Раскрываем пароли от субд. Поиск по сообщениям

Наверняка вы не одни раз слышали о таком замечательном поисковике, как Google. Полагаю, вам не раз приходилось его использовать, когда вы хотел что-нибудь узнать. Вот только находили ли вы то, чего хотели? Если вы так же часто как и я ищете ответы в Google, я думаю, вам будет полезна эта статья, потому что она расчитана сделать ваш поиск более быстрым и эффективным. Итак, для начала немного истории…

Google - искажённое написание английского слова «googol», придуманного Милтоном Сироттой, племянником американского математика Эдварда Кайзера, для обозначения числа, состоящего из единицы и ста нулей. Сейчас же имя Google носит лидер поисковых машин интернета, разработанный Google Inc.

Google занимает более 70% мирового рынка, а значит, семь из десяти находящихся в сети людей обращаются к его странице в поисках информации в интернете. Cейчас регистрирует ежедневно около 50 млн. поисковых запросов и индексирует более 8 миллиардов веб-страниц. Google может находить информацию на 101 языке. Google на конец августа 2004 года состояла из 132 тыс. машин, расположенных в разных точках планеты.

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

Интерфейс Google содержит довольно сложный язык запросов, позволяющий ограничить область поиска отдельными доменами, языками, типами файлов и т. д. Использование некоторых операторов этого языка позволяет сделать процесс поиска необходимой информации более гибким и точным. Рассмотрим некоторые из них.

Логическое «И» (AND):
По умолчанию при написании слов запроса через пробел Google ищет документы, содержащие все слова запроса. Это и соответствует оператору AND. Т.е. пробел равносилен оператору AND.

Например:
Кошки собаки попугаи зебры
Кошки AND собачки AND попугаи AND зебры
(оба запроса одинаковы)

Логическое «ИЛИ» (OR):
Пишется с помощью оператора OR. Обратите внимание, что оператор OR должен быть написан заглавными буквами. Относительно недавно появилась возможность написания логического «ИЛИ» в виде вертикальной черты (|), подобно тому, как это делается в Яндексе. Используется для поиска с несколькими вариантами необходимой информации.

Например:
Таксы длинношерстные OR гладкошерстные
Таксы длинношерстные | гладкошерстные
(оба запроса одинаковы)

Необходимо помнить, что запросы в Google не чувствительны к регистру! Т.е. запросы Остров Гренландия и остров гренландия будут абсолютно одинаковы.

Оператор «Плюс» (+):
Бывают ситуации, когда надо принудительно включить в текст какое-либо слово, которое может иметь варианты написания. Для этого используется оператор "+" перед обязательным словом. Предположим, если у нас запрос Один дома I, в результате запроса у нас появится ненужная информация об «Один дома II», «Один дома III» и совсем немного про «Один дома I». Если же у нас запрос вида Один дома +I, в результате будет информация только о фильме «Один дома I».

Например:
Газета +Заря
Уравнение Бернулли +математика

Исключение слов из запроса. Логическое «НЕ» (-):
Как известно, информационный мусор часто встречается при составлении запроса. Чтобы его удалить, стандартно используются операторы исключения – логическое «НЕ». В Google такой оператор представлен знаком «минус». Используя этот оператор, можно исключать из результатов поиска те страницы, которые содержат в тексте определенные слова. Используется, как и оператор "+", перед исключаемым словом.

Например:
Журавль колодец -птица
Мертвые души -роман

Поиск точной фразы (""):
Искать точную фразу на практике требуется либо для поиска текста определенного произведения, либо для поиска определенных продуктов или компаний, в которых название или часть описания представляет собой стабильно повторяющееся словосочетание. Чтобы справиться с такой задачей при помощи Гугла, требуется заключить запрос в кавычки (имеются в виду двойные кавычки, которые применяются, например, для выделения прямой речи).

Например:
Произведение «Тихий дон»
«На дворе было холодно, хотя это и не мешало Борису осуществить запланированное»

Кстати, Google позволяет вводить в сторку запроса не более 32 слов!

Усечение слова (*):
Иногда требуется искать информацию о словосочетании слов, в котором неизвестно одно или несколько слов. Для этих целей вместо неизвестных словв используется оператор "*". Т.е. "*" - любое слово или группа слов.

Например:
Мастер и *
Леонардо * Винчи

Оператор cache:
Поисковая машина хранит версию текста, которая проиндексирована поисковым пауком, в специальном хранилище в формате, называемом кэшем. Кэшированную версию страницы можно извлечь, если оригинальная страница недоступна (например, не работает сервер, на котором она хранится). Кэшированная страница показывается в том виде, в котором она хранится в базе данных поисковой машины и сопровождается надписью наверху страницы о том, что это страница из кэша. Там же содержится информация о времени создания кэшированной версии. На странице из кэша ключевые слова запроса подсвечены, причем каждое слово для удобства пользователя подсвечено своим цветом. Можно создать запрос, который сразу будет выдавать кэшированную версию страницы с определенным адресом: cache: адрес_страницы, где вместо «адрес_страницы» - адрес сохраненной в кэше страницы. Если требуется найти в кэшированной странице какую либо информацию, надо после адреса страницы через пробел написать запрос этой информации.

Например:
cache:www.bsd.com
cache:www.knights.ru турниры

Надо помнить, что пробела между ":" и адресом страницы быть не должно!

Опаратор filetype:
Как известно, Google индексирует не только html страницы. Если, к примеру, понадобилось найти какую-нибудь информацию в отличном от html типе файла, можно воспользоваться оператором filetype, который позволяет искать информацию в определенном типе файлов (html, pdf, doc, rtf...).

Например:
Спецификация html filetype:pdf
Сочинения filetype:rtf

Оператор info:
Оператор info позволяет увидеть информацию, которая известна Google об этой странице.

Например:
info:www.wiches.ru
info:www.food.healthy.com

Оператор site:
Этот оператор ограничивает поиск конкретным доменом или сайтом. То есть, если сделать запрос: маркетинг разведка site:www.acfor-tc.ru, то результаты будут получены со страниц, содержащих слова «маркетинг» и «разведка» именно на сайте «acfor-tc.ru», а не в других частях Интернета.

Например:
Музыка site:www.music.su
Книги site:ru

Оператор link:
Этот оператор позволяет увидеть все страницы, которые ссылаются на страницу, по которой сделан запрос. Так, запрос link:www.google.com выдаст страницы, в которых есть ссылки на google.com.

Например:
link:www.ozone.com
Друзья link:www.happylife.ru

Оператор allintitle:
Если запрос начать с оператора allintitle, что переводится как «все в заголовке», то Google выдаст тексты, в которых все слова запроса содержатся в заголовках (внутри тега TITLE в HTML).

Например:
allintitle: Бесплатный софт
allintitle: Скачать музыкальные альбомы

Оператор intitle:
Показывает страницы, в кoтopыx только то слово, которое стоит непосредственно после оператора intitle, содержится в заголовке, а все остальные слова запроса могут быть в любом месте текста. Если поставить оператор intitle перед каждым словом запроса, это будет эквивалентно использованию оператора allintitle.

Например:
Программы intitle: Скачать
intitle: Бесплатно intitle: скачать софт

Оператор allinurl:
Если запрос начинается с оператора allinurl, то поиск ограничен теми документами, в которых все слова запроса содержатся только в адресе страницы, то есть в url.

Например:
allinurl:rus games
allinurl:books fantasy

Оператор inurl:
Слово, которые расположено непосредственно слитно с оператором inurl, будет найдено только в адресе страницы Интернета, а остальные слова – в любом месте такой страницы.

Например:
inurl:books скачать
inurl:games кряк

Оператор related:
Этот оператор описывает страницы, которые «похожи» на какую-то конкретную страницу. Так, запрос related:www.google.com выдаст страницы со схожей с Google тематикой.

Например:
related:www.ozone.com
related:www.nnm.ru

Оператор define:
Этот оператор выполняет роль своего рода толкового словаря, позволяющего быстро получить определение того слова, которое введено после оператора.

Например:
define: Кенгуру
define: Материнская плата

Оператор поиска синонимов (~):
Если вы хотите найти тексты, содержащие не только ваши ключевые слова, но и их синонимы, то можно воспользоваться оператором "~" перед словом, к которому необходимо найти синонимы.

Например:
Виды ~метаморфоз
~Объектное ориентирование

Оператор диапозона (..):
Для тех, кому приходится работать с цифрами, Google дал возможность искать диапазоны между числами. Для того, чтобы найти все страницы, содержащие числа в неком диапазоне «от - до», надо между этими крайними значениями поставить две точки (..), то есть, оператор диапозона.

Например:
Купить книгу $100..$150
Численность населения 1913..1935

Вот все известные мне операторы языка запросов в Google. Надеюсь, они хоть как-то облегчат вам процесс поиска нужной информации. Во всяком случае, я ими пользуюсь очень часто и могу с уверенностью сказать, что при их использовании я трачу на поиск значительно меньше времени, ежели без них.

Удачи! И да пребудет с тобой Сила.

Теги: поиск,операторы,Google

Интерфейс Facebook странный и местами совершенно не логичный. Но так уж получилось, что почти все, с кем я общаюсь, оказались там, так что приходится терпеть.

Многое в Facebook неочевидно. Я постарался собрать в этом посте то, что я нашёл не сразу, а многие наверняка не нашли до сих пор.

Лента

По умолчанию Facebook формирует ленту популярных записей. При этом на разных компьютерах она может быть совершенно разной. Чтобы заставить Facebook формировать "обычную" ленту по времени щёлкните в галочку справа от слова "Лента новостей" и выберите там "Последние".

К сожалению, в мобильном приложении для Android лента формируется только по популярности.

Чистка ленты

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

Уведомления

Когда вы оставляете любой комментарий к любой записи или фотографии, Facebook начинает уведомлять вас о всех новых комментариях. Чтобы от этого отказаться, нужно выключить уведомления. Для разных объектов это делается в разных местах. Со статусом всё просто - жмём галочку справа от статуса и выбираем "Не получать уведомления".

Увы, в мобильном приложении для Android отменять подписку на комментарии нельзя.

Поиск по сообщениям

В Facebook есть поиск по личным сообщениям, но мало кто знает, куда он запрятан. Нажмите на кнопку сообщений, затем нажмите "показать все" внизу открывшегося окна.

Откроется интерфейс сообщений, в котором сверху появится вторая строка поиска.

Там можно искать любые слова во всех личных сообщениях, написанных за всё время использования Facebook.

Борьба с Messenger

Facebook требует, чтобы на мобильных устройствах стояло отдельное приложение для обмена сообщениями - Facebook Messenger. Многим он очень не нравится. Пока что есть способ продолжать обмениваться сообщениями на самом Facebook. Когда Facebook в очередной раз откажется показывать сообщения, требуя установить Messenger, зайдите в диспетчер приложений (в Android - Настройки системы - Приложения), найдите там Facebook и нажмите кнопку "Стереть данные". После этого запустите Facebook и заново введите логин и пароль. Некоторое время после этого сообщения будут работать, хотя Facebook периодически будет выводить окошко с предложением установить Messenger.

Журнал действий

Часто в Facebook очень сложно что-то найти. Немного помогает следующая схема. Если вы видите что-то, что может пригодиться потом, поставьте лайк. В будущем по этому лайку можно будет найти публикацию в журнале действий. Чтобы открыть журнал нажмите маленькую галочку в правом верхнем углу интерфейса и в открывшемся меню выберите "Журнал действий".

Вставка публикации

У каждой публикации в Facebook есть ссылка "Вставить публикацию". Она выдаёт код, который можно вставить на любой сайт, где можно вставлять html (в том числе и ЖЖ). К сожалению возможность вставки видео похоже закрыли. Ещё неделю назад это работало, а сейчас на любые виде пишет "Эта публикация Facebook больше не доступна. Возможно, она была удалена или были изменены ее настройки конфиденциальности".

Отключение автовоспроизведения видео

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

В браузере автовоспроизведение видео отключается так: щёлкаем в галочку в правом верхнем углу, там настройки, дальше - видео.

В Android - нажимаем три полоски справа в строке иконок, там "Настройки приложения" - "Автозапуск видео" - ставим "Выкл." или "Только Wi-fi". В последнем случае видео будут автозапускаться только при подключении по wi-fi.

Переход на публикацию

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

Наверняка, у загадочного Facebook ещё много секретов, до которых я пока не добрался.

Если вы знаете о других секретах Facebook- пишите в комментарии, добавлю в пост.


Сохранено

В статье про я рассмотрел примеры и коды для вывода некоторых дополнительных информационных элементов на страницах постов: связных заметок, названий тегов/категорий и т.п. Похожей фишкой также являются ссылки на предыдущие и следующие WordPress записи. Данные линки будут полезны при навигации посетителей сайта, а также являются еще одним способом . Именно поэтому стараюсь добавлять их в каждый свой проект.

В реализации задачи нам помогут 4 функции, о которых расскажу ниже:

Поскольку речь идет о странице постов (Post), то в 99% случаев вам нужно будет редактировать файл шаблона single.php (либо тот, где в вашей теме задается формат вывода единичных статей). Функции используются в цикле Loop. Если же требуется убрать следующие / предыдущие записи в WordPress, то ищите соответствующий код в этом же файле шаблона и удаляйте (или закомментируйте) его.

Функция next_post_link

По умолчанию формируется линк на заметку, имеющую более новую дату создания сразу после текущей (т.к. все посты располагаются в хронологическом порядке). Вот как он выглядит в коде и на сайте:

Синтаксис функции:

  • format (строка) — определяет общий формат генерируемой ссылки, где с помощью переменной %link можете задавать какой-то текст до и после нее. По умолчанию это просто линк со стрелочкой: ‘%link »’
  • link (строка) — анкор ссылки на следующую запись в WordPress, параметр %title подставляет ее заголовок.
  • in_same_term (boolean) — определяет будут ли рассматриваться в работе только элементы из текущей категории. Допустимые значения true / false (1 / 0), по умолчанию второй вариант.
  • excluded_terms (строка или массив) — укажите ID категорий блога, заметки из которых будут исключены из выборки. Допускается либо массив array(2, 5, 4) либо написание в строку через запятую. Полезно при работе с GoGetLinks , когда нужно запретить показ рекламных постов в данном блоке.
  • taxonomy (строка) — содержит название таксономии, из которой берутся следующие записи, если переменная $in_same_term = true.

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

(следующая статья) %link →","%title", FALSE, 152) ?>

Здесь я задаю свой формат для отображения линка + исключаю из выборки все элементы, принадлежащие разделу ID = 152.

Если вам нужно вывести в WordPress следующий пост из той же категории, то пригодится код ниже (при этом игнорируется раздел ID = 33):

Когда хотите работать только с текущей конкретной таксономией, указывайте ее название в параметрах (например, testimonial):

>", TRUE, " ", "testimonial"); ?>

Функция previous_post_link

Принцип работы с предыдущими записями WordPress аналогичен приведенному выше описанию, как и синтаксис. Выглядит так:

Соответствующий код:

  • format (строка) — задает формат , за которую отвечает переменная %link (добавляйте текст/теги до и после нее). По умолчанию — ‘« %link’.
  • link (строка) — анкор линка, для вставки заголовка пишите %title.
  • in_same_term (boolean) — если значение true, то будут выводиться только объекты из того же раздела блога.
  • excluded_terms — убираем ненужные категории, указывайте ID через запятую (как строку) или массивом.
  • taxonomy (строка) — определяет таксономию выборки предыдущей записи в WordPress, если активен параметр $in_same_term.

В одном из блогов использую:

%link", "<< Предыдущая", TRUE, "33"); ?>

Здесь делаем жирный шрифт + вместо заголовка элемента пишется определенная фраза (хотя лучше в перелинковке использовать тайтл). Выводятся объекты только текущей категории кроме той, у которой ID = 33.

Функция the_post_navigation

Данное решение объединяет обе ссылки на предыдущие и следующие записи WordPress. Это сделано для удобства, заменяет вызов двух функций одной. Если вам нужно получить на выходе HTML код без отображения, применяйте get_the_post_navigation() .

Синтаксис the_post_navigation максимально простой:

Где $args — набор разных не обязательных параметров:

  • $prev_text — анкор предыдущей ссылки (по умолчанию %title).
  • $next_text — аналогично текст линка но уже на следующий пост (изначально %title).
  • $in_same_term (true/false) — позволяет показывать статьи только из текущей таксономии.
  • $excluded_terms — исключаемые ID через запятую.
  • $taxonomy — название таксономии для выборки, если in_same_term = true.
  • $screen_reader_text — заголовок всего блока (по умолчанию — Post navigation).

Таким образом, мы видим, что здесь имеются такие же переменные, как и в прошлых «единичных» функциях previous_post_link, next_post_link: анкоры, выборка по таксономиям и т.п. Использование решения просто сделает ваш код более компактным, да и нет смысла повторять одни и те же параметры два раза.

Рассмотрим самую простую ситуацию, когда нужно вывести по элементам из той же категории:

"следующий: %title", "next_text" => "предыдущий: %title", "in_same_term" => true, "taxonomy" => "category", "screen_reader_text" => "Еще почитать",)); ?>

Функция posts_nav_link

Если я правильно понимаю, то ее можно использовать не только для отображения в единичной записи, но и в категорий, заметках по месяцам, и т.п. То есть в single.php она будет отвечать за ссылки на предыдущие/следующие WordPress статьи, а в архивных — за навигацию по страницам.

Синтаксис posts_nav_link:

  • $sep — разделитель, отображаемый между ссылками (раньше был::, сейчас -).
  • $prelabel — текст линка предыдущих элементов (по умолчанию: « Previous Page).
  • $nxtlabel — текст для следующей страницы/постов (Next Page »).

Вот интересный пример с картинками вместо текстовых линков:

" , "" ) ; ?>

", ""); ?>

Только не забудьте загрузить изображения prev-img.png и next-img.png в директорию images в вашем . Думаю, аналогично добавляется и другой HTML код, если, допустим, нужно использовать какие-то DIV или class при выравнивании.

Итого. По навигации там еще есть несколько других разных функций, которые вы можете найти в кодексе. Надеюсь, с этими все более-менее понятно. Насчет posts_nav_link, если честно, не уверен, позволяет ли выводить предыдущие и следующие записи на единичной странице, т.к. не тестировал, хотя в описании это упоминается. Думаю, в таком случае более эффективно и желательно использовать the_post_navigation, что поновее и с куда бОльшим числом параметров.

Если есть какие-то вопросы по навигации между постами или дополнения, пишите ниже.

Оригинал: The Complete Guide to "useradd" Command in Linux - 15 Practical Examples
Автор: Ravi Saive
Дата публикации: 28 марта 2014 года
Перевод: А. Кривошей
Дата перевода: декабрь 2014 г.

Все мы знаем об очень популярных в мире Linux командах "useradd" и "adduser". Время от времени администраторы системы используют их для создания пользовательских профилей с какими-либо специфическими свойствами или ограничениями.

Команда "useradd" в Linux или других системах на базе Unix - это низкоуровневая утилита, которая используется для добавления/создания пользовательского аккаунта. Команда "adduser" очень похожа на "useradd", поскольку является просто символьной ссылкой на нее.

Версии команды useradd в некоторых дистрибутивах Linux могут иметь небольшие отличия. Я полагаю, что вы прочитаете документацию своего дистрибутива, перед тем, как начнете экспериментировать.

Когда мы в терминале запускаем команду useradd, происходит следующее:

1. Она редактирует файлы /etc/passwd, /etc/shadow, /etc/group и/etc/gshadow, внося в них нового пользователя.
2. Создается и заполняется домашняя директория для нового пользователя.
3. Устанавливаются права доступа и владелец домашней директории.

Базовый синтаксис команды:

$ useradd username

В этой статье мы покажем 15 наиболее часто встречающихся примеров использования команды useradd в Linux. Мы разделим наше повествование на две части:

Часть I: основы с 10 примерами;
Часть II: продвинутые возможности с 5 примерами.

Часть I - 10 базовых примеров использования команды "useradd"

1. Как добавить нового пользователя в Linux

Для создания/добавления нового пользователя используется команда "useradd" с аргументом "username", где username - это имя нового пользователя, которое будет использоваться для входа в систему.
За один раз можно добавить только одного пользователя, и его имя должно быть уникальным (то есть отличаться от имен других пользователей, уже существующих в системе).

Например, добавляем пользователя "techmint":

# useradd tecmint

После выполнения данной команды, новый пользователь будет создан в заблокированном состоянии. Чтобы разблокировать пользовательский аккаунт, необходимо задать его пароль с помощью команды "passwd".

# passwd tecmint Changing password for user tecmint. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.

После создания нового пользователя его запись автоматически добавляется в пароль "/etc/passwd" и имеет следующий вид:

Tecmint:x:504:504:tecmint:/home/tecmint:/bin/bash

Она состоит из семи разделенных двоеточием полей, каждое из которых имеет свое назначение:

Username : имя пользователя, используемое для входа в систему. Может иметь длинц от 1 до 32 символов.
Password : пользовательский пароль (или символ x), который хранится в зашифрованном виде в файле /etc/shadow.
User ID (UID) : каждый пользователь должен иметь User ID (UID) - идентификатор пользователя. По умолчанию UID 0 зарезервирован для root, а UID в диапазоне 1-99 для других предопределенных аккаунтов. UID в диапазоне 100-999 предназначены для пользовательских аккаунтов и групп.
Group ID (GID) : идентификатор группы - Group ID (GID), хранится в файле /etc/group file.
User Info : это опциональное поле и оно позволяет вам задать дополнительную информацию о пользователе, например полное имя. Это поле заполняется с помощью команды "finger".
Home Directory : абсолютный путь к домашней директории пользователя.
Shell : абсолютный путь к командной оболочке пользователя, например /bin/bash.

2. Создание пользователя с нестандартным размещением домашней директории

По умолчанию команда "useradd" создает домашнюю директорию пользователя в /home и называет ее именем пользователя. Поэтому, например, для приведенного выше примера, мы увидим домашнюю директорию созданного нами пользователя "tecmint" в "/home/tecmint".
Однако это действие можно изменить с помощью опции "-d", указав после нее расположение новой домашней директории. Например, приведенная ниже команда создаст пользователя "anusha" с домашней директорией "/data/projects".

# useradd -d /data/projects anusha

Вы можете просмотреть расположение домашней директории пользователя, а также другую информацию о нем:

# cat /etc/passwd | grep anusha anusha:x:505:505::/data/projects:/bin/bash

3. Создание пользователя с заданным User ID

В Linux каждый пользователь имеет свой собственный UID (Unique Identification Number). По умолчанию при создании нового пользователя ему присваивается userid 500, 501, 502 и т.д.
Но мы можем создать пользователя с заданным userid с помощью опции "-u". Например, приведенная ниже команда создает пользователя "navin" с userid "999".

# useradd -u 999 navin

Теперь мы можем проверить, что пользователь создан действительно с этим идентификатором.

# cat /etc/passwd | grep tecmint navin:x:999:999::/home/navin:/bin/bash

Замечание: Обратите внимание, что user ID должен отличаться от user ID пользователей, уже существующих в системе.

4. Создание пользователя с заданным Group ID

Аналогично, каждый пользователь имеет свой GID (Group Identification Number). Мы можем создавать пользователей с заданным group ID с помощью опции -g.

В этом примере мы добавим пользователя "tarunika" с заданными UID и GID:

# useradd -u 1000 -g 500 tarunika

Проверим, правильно ли сработала команда:

# cat /etc/passwd | grep tarunika tarunika:x:1000:500::/home/tarunika:/bin/bash

5. Добавление пользователя в несколько групп

Опция "-G" используется для добавления пользователя в дополнительные группы. Названия групп разделяются запятой без пробелов.
В приведенном ниже примере мы добавляем пользователя "tecmint" в группы admins, webadmin и developer.

# useradd -G admins,webadmin,developers tecmint

Теперь проверим, в каких группах числится пользователь, с помощью команды id.

# id tecmint uid=1001(tecmint) gid=1001(tecmint) groups=1001(tecmint),500(admins),501(webadmin),502(developers) context=root:system_r:unconfined_t:SystemLow-SystemHigh

6. Добавление пользователя без домашней директории

В некоторых ситуациях мы не хотим, по соображениям безопасности, давать пользователям домашние директории. В таком случае, когда пользователь авторизуется в системе сразу после ее запуска, его домашней директорией будет root. Если такой пользователь использует команду su, то он авторизуется в домашней директории предыдущего пользователя.
Для создания пользователя без домашней директории используется опция "-M". Например, создадим пользователя "shilpi" без домашней директории.

# useradd -M shilpi

Давайте проверим, что пользователь создан без домашней директории, с помощью команды ls:

# ls -l /home/shilpi ls: cannot access /home/shilpi: No such file or directory

7. Добавление пользовательского аккаунта с ограниченным сроком действия

По умолчанию, когда мы добавляем пользователя с помощью команды "useradd", его аккаунт не имеет сроков действия, то есть дата истечения сроков его жизни установена в 0 (никогда не истекает).
Однако мы можем установить дату истечения с помощью опции "-e", задав дату в формате YYYY-MM-DD. Это полезно при создании временных аккаунтов для каких-то конкретных задач.
В приведенном ниже примере мы создаем пользователя "aparna" со сроком жизни его аккаунта до 27 апреля 2015 года в формате YYYY-MM-DD.

# useradd -e 2015-03-27 aparna

# chage -l aparna Last password change: Mar 28, 2014 Password expires: never Password inactive: never Account expires: Mar 27, 2015 Minimum number of days between password change: 0 Maximum number of days between password change: 99999 Number of days of warning before password expires: 7

8. Создание пользователя с ограниченным временем действия пароля

Аргумент "-f" используется для того, чтобы задать количество дней, через которое пароль перестанет действовать. По умолчанию его значение равно -1, при этом время действия пароля не ограничивается.
В примере мы задаем для пользователя "tecmint" время действия пароля 45 дней с помощью опций "-e" и "-f".

# useradd -e 2014-04-27 -f 45 tecmint

9. Добавление различных комментариев к учетной записи

Опция "-c" позволяет вам добавлять произвольные комментарии, такие как полное имя пользователя или его номер телефона, в файл /etc/passwd. Например, следующая команда добавляет пользователя "mansi" и вставляет в поле комментария его полное имя Manis Khurana.

# useradd -c "Manis Khurana" mansi

Вы можете просмотреть комментарии в файле "/etc/passwd" с помощью команды:

# tail -1 /etc/passwd mansi:x:1006:1008:Manis Khurana:/home/mansi:/bin/sh

10. Смена командной оболочки пользователя

Иногда мы добавляем пользователей, которые никогда не работают с командными оболочкми, или могут использовать другие командные оболочки. Мы можем задать отдельную оболочку для любого пользователя с помощью опции "-s".
В примере мы добавляем пользователя "tecmint" без командной оболочки, то есть задаем оболочку "/sbin/nologin".

# useradd -s /sbin/nologin tecmint

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

# tail -1 /etc/passwd tecmint:x:1002:1002::/home/tecmint:/sbin/nologin

Часть II: продвинутые возможности команды useradd

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

Приведенная ниже команда создает пользователя "ravi" с домашней директорией "/var/www/tecmint", командной оболочкой "/bin/bash" и дополнительной информацией о пользователе.

# useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi

В этой команде опция "-m -d" создает пользователя с заданной домашней директорией, а опция "-s" задает командную оболочку, т.е. /bin/bash. Опция "-c" добавляет дополнительную информацию о пользователе, а опция "-U" создает/добавляет группу с тем же именем, что и у пользователя.

12. Добавление пользователя с заданными домашней директорией, командной оболочкой, комментариями и UID/GID.

Эта команда очень похожа на предыдущую, но здесь мы определяем оболочку как "/bin/zsh", и задаем UID и GID для пользователя "tarunika". Здесь "-u" задает новый UID пользователя (т.е. 1000), а "-g" задает GID (т.е. 1000).

# useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 1000 tarunika

13. Добавление пользователя с домашней директорией, без оболочки, с комментариями и User ID

Следующая команда очень похожа на две предыдущие, единственное отличие в том, что мы отключаем командную оболочку для пользователя "avishek" с заданным User ID (т.е. 1019). Это значит, что пользователь "avishek" не сможет авторизоваться в системе из командной оболочки.

# useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek

14. Добавление пользователя с домашней директорией, skeleton directory, комментариями и User ID

Единственное, что меняется в этой команде, мы используем опцию "-k", чтобы задать skeleton directory, то есть /etc/custom.skel, а не умолчательную /etc/skel. Мы также используем опцию "-s", чтобы задать отдельную оболочку /bin/tcsh.

# useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "No Active Member of TecMint" -u 1027 navin

15. Добавление пользователя без домашней директории, без оболочки, без групп, и с комментариями

Приведенная ниже команда отличается от показанных ранее. Здесь мы используем опцию "-M", чтобы создать пользователя без домашней директории, и "-N", чтобы создать только пользователя (без группы). Аргумент "-r" используется для создания системного пользователя.

# useradd -M -N -r -s /bin/false -c "Disabled TecMint Member" clayton