Управление пользователями. Управление пользователями Специальные права доступа к файлам в Linux

Управление пользователями. Управление пользователями Специальные права доступа к файлам в Linux

Как показывает читательский отклик, вопрос разделения административных прав в Ubuntu до сих пор остается малопонятным для большинства начинающих администраторов, поэтому мы решили данным материалом внести некоторую ясность в данный вопрос. Поэтому если вы не знаете чем su отличается от sudo, куда спрятали root"а и т.д. и т.п. - самое время приступить к изучению нашей статьи.

Начнем с небольшого отступления. Система административных прав Linux восходит корнями к ОС Unix и поэтому имеет много общего с другими Unix-like системами: BSD, Solaris, MacOS. В тоже время различные дистрибутивы имеют свои особенности реализации отдельных моментов, поэтому конкретные примеры мы будем приводить относительно семейства Ubuntu, однако знание общих правил позволит вам без труда разобраться в среде любой другой Unix-like ОС.

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

Поэтому в Linux принята иная схема, все пользователи, включая администраторов, работают под ограниченной учетной записью, а для выполнения административных действий используют один из механизмов повышения прав. Для этого можно повысить права с помощью утилиты sudo или войти под именем суперпользователя (root"а) не завершая текущий сеанс с помощью команды su . Многие ошибочно путают эти два механизма, поэтому разберем их подробнее.

Команда su позволяет войти в систему под именем другого пользователя (не обязательно root) не завершая текущий сеанс. Так команда:

Su petrov

позволит войти в систему от имени пользователя petrov, пользовательское окружение (домашняя папка) также будут изменены на принадлежащие этому пользователю.

Команда su без указания имени пользователя позволяет войти под учетной записью root "а. Однако данный способ имеет один существенный недостаток - для входа от имени другого пользователя нужно знать его пароль. Если у вас несколько администраторов, то каждый из них будет знать пароль суперпользователя и ограничить в правах вы их не сможете.

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

Что будет если мы попробуем таким образом повысить права в Ubuntu? У нас ничего не получится, так как мы не знаем пароля пользователя root , в тоже время никто не мешает нам войти под иным пользователем.

"Подождите!" - скажет иной пользователь, - "а разве права root"а не получает первый созданный пользователь, которого мы указываем при установке?" Действительно, административные задачи можно выполнить только от имени созданного при установке пользователя, при попытке сделать это от имени другого пользователя нас постигнет неудача.

Здесь мы вплотную подходим к второму механизму повышения прав - утилите sudo . Однако прежде чем переходить к ее изучению стоит внести ясность: права суперпользователя (root) в Ubuntu принадлежат учетной записи root, которая по умолчанию отключена. Поэтому повысить права с помощью команды su не представляется возможным.

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

Это важно! Основным отличием su от sudo служит то, что su позволяет сменить текущего пользователя на root, что требует активной записи суперпользователя в системе и знания пароля к ней, sudo позволяет повысить права для выполняемой команды без указания пароля суперпользователя, пользователь должен ввести свой собственный пароль, войти под root с этим учетными данными не получится.

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

Sudo команда1 | команда2

с правами root будет выполнена только команда1 . А команда

Sudo cat sources.list > /etc/apt/sources.list

выдаст ошибку прав доступа так как запись в /etc/apt/sources.list будет происходить с правами обычного пользователя.

Чтобы выполнять сложные комбинации команд вы можете перейти в режим суперпользователя командой

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

Теперь самое время разобраться, кто имеет право использовать возможности sudo и в каком объеме. За настройки данной утилиты отвечает файл /etc/sudoers , несмотря на то, что это обычный конфигурационный файл для его редактирования настоятельно рекомендуется использовать команду:

Sudo visudo

Данная команда блокирует файл и осуществляет проверку синтаксиса, в противном случае вы рискуете из-за опечатки потерять административный доступ к ПК.

Синтаксис данного файла весьма прост. Например в самом конце файла содержится запись:

%admin ALL=(ALL) ALL

Это означает, что пользователи группы admin могут выполнять на любом хосте, от имени любого пользователя любую команду. Как мы можем легко убедиться с помощью команды groups в нашем случае пользователь andrey входит в группу admin , а пользователь petrov нет.

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

Petrov ubuntu-lts=(andrey) ALL

Данная строка позволяет пользователю petrov выполнить любую команду на хосте ubuntu-lts от имени пользователя andrey . При указании команд следует указывать полный путь к ним, узнать его можно при помощи команды which

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

Еще одной приятной возможностью утилиты sudo является создание алиасов, так в нашем случае добавим в /etc/sudoers следующие строки:

User_Alias USERGROUP1 = petrov, sidorov
Cmnd_Alias CMDGROUP1 = /bin/kill, /sbin/reboot, /sbin/shutdown

Этим мы создали два алиаса USERGROUP1 , куда включили необходимых нам пользователей и CMDGROUP1 с набором нужных команд, в последствии мы можем править только алиасы, не затрагивая все правила, где они могут использоваться. Затем добавим правило:

USERGROUP1 ALL = (ALL) NOPASSWD:СMDGROUP1

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

Кроме указанных двух, доступны алиасы и для имени хоста и пользователей от имени которых разрешено выполнять команды, например:

Host_Alias WWW = webserver1, webserver2
Runas_Alias WWW = www-data, www-developer

USERGROUP1 WWW = (WWW) ALL

Приведенный набор записей позволит пользователям входящим в USERGROUP1 выполнять любые команды от имени пользователей www-data и www-developer на веб-серверах компании.

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

Sudo passwd root

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

Sudo passwd -l root

Помните, что все административные задачи в Ubuntu можно решать с использованием утилиты sudo, поэтому не включайте учетную запись root без реальной необходимости!

Как видим, Ubuntu имеет богатые возможности управления административными правами, что позволяет гибко распределять права между несколькими администраторами, а также давать возможность повышения прав некоторым пользователям, причем делать это эффективно и безопасно.

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

Где суперпользователь?

Разработчики Ubuntu приняли сознательное решение заблокировать административную корневую учетную запись (root) по умолчанию во всех установках Ubuntu. Это не означает, что учетная запись root удалена или к ней нет доступа. Ей просто присвоен пароль, который не совпадает ни с одним возможным шифрованным значением, соответственно, ее невозможно использовать для входа напрямую.

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

1. Если по какой-то причине вы хотите разрешить учетную запись суперпользователя, просто установите ей пароль:

Sudo passwd

Sudo запросит ваш пароль, а затем предложит установить новый пароль для root как показано ниже:

Password for username: (вводите свой собственный пароль) Enter new UNIX password: (вводите новый пароль суперпользователя) Retype new UNIX password: (повторяете новый пароль суперпользователя) passwd: password updated successfully

2. Для блокирования учетной записи root используйте следующий синтаксис passwd:

Sudo passwd -l root

Man sudo

По умолчанию изначальный пользователь, созданный установщиком Ubuntu является членом группы "admin", которая добавлена в файл /etc/sudoers как авторизованные sudo пользователи. Если вы желаете разрешить другой учетной записи полный доступ суперпользователя через sudo , просто добавьте ее в группу admin .

Добавление и удаление пользователей

Процесс управления локальными пользователями и группами простой и мало отличается от большинства других операционных систем GNU/Linux. Ubuntu и другие дистрибутивы на основе Debian поощряют использование пакета "adduser" для управления учетными записями.

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

Sudo adduser username

2. Для удаления пользователя и его первичной группы используйте следующий синтаксис:

Sudo deluser username

Удаление пользователя не удаляет связанный с ним домашний каталог. Оставлено на ваше усмотрение хотите ли вы удалить каталог вручную или оставите его в соответствии с вашими политиками хранения.

Помните, что любой пользователь, добавленный позднее с теми же UID/GID, как и предыдущий, получит доступ к этому каталогу если вы не предпримете необходимых мер предосторожности.

Вы можете захотеть изменить эти значения UID/GID каталога на что-то более подходящее, как, например, значения суперпользователя и, возможно, переместить каталог для предотвращения будущих конфликтов:

Sudo chown -R root:root /home/username/ sudo mkdir /home/archived_users/ sudo mv /home/username /home/archived_users/

3. Для временного блокирования или разблокирования используйте следующий синтаксис:

Sudo passwd -l username sudo passwd -u username

4. Для добавления или удаления персональной группы используйте, соответственно, следующий синтаксис:

Sudo addgroup groupname sudo delgroup groupname

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

Sudo adduser username groupname

Безопасность профиля пользователя

Когда создается новый пользователь, утилита adduser создает, соответственно, новый именной каталог /home/username . Профиль по умолчанию формируется по содержимому, находящемуся в каталоге /etc/skel, который включает все основы для формирования профилей.

Если ваш сервер является домашним для множества пользователей, вы должны уделять пристальное внимание правам доступа на пользовательские домашние каталоги для поддержания конфиденциальности. По умолчанию пользовательские домашние каталоги создаются с правами чтения/выполнения для всех. Это означает, что все пользователи просматривать и получать доступ к содержимому других домашних каталогов. Это может не подходить для вашего окружения.

1. Для проверки прав доступа на домашние каталоги существующих пользователей используйте такой синтаксис:

Ls -ld /home/username

Следующий вывод показывает, что каталог /home/username имеет доступ на чтение для всех:

Drwxr-xr-x 2 username username 4096 2007-10-02 20:03 username

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

Sudo chmod 0750 /home/username

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

Более эффективный подход к данному вопросу будет в изменении глобальных прав доступа по умолчанию для adduser при создании домашних каталогов. Просто отредактируйте файл /etc/adduser.conf, изменив переменную DIR_MODE на что-то более подходящее, после чего все новые домашние каталоги будут получать корректные права доступа.

DIR_MODE=0750

3. После исправления прав доступа к каталогам, используя любую из ранее упоминавшихся методик, проверьте результаты используя следующую команду:

Ls -ld /home/username

Результат ниже показывет, что права на чтение для всех удалены:

Drwxr-x--- 2 username username 4096 2007-10-02 20:03 username

Политика паролей

Строгая политика паролей - один из наиболее важных аспектов вашего подхода к безопасности. Много удачных прорывов безопасности использовали для атак простейший взлом (brute force) и подбор паролей по словарю против слабых паролей. Если вы намереваетесь использовать любую форму удаленного доступа с использованием вашей локальной системы паролей, убедитесь, что вы назначили адекватные минимальные требования к паролю, максимальное время жизни пароля и часто проверяете вашу систему аутентификации.

Минимальная длина пароля

По умолчанию Ubuntu требует минимальную длину пароля в 6 символов, также как и некоторые основные проверки на разброс значений. Эти параметры управляются файлом /etc/pam.d/common-password и приведены ниже:

Password pam_unix.so obscure sha512

Если вы хотите установить минимальную длину в 8 символов, измените соответствующую переменную на min=8. Изменения приведены ниже:

Password pam_unix.so obscure sha512 min=8

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

Время жизни пароля

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

1. Для простого просмотра текущего статуса учетной записи пользователя используйте следующий синтаксис:

Sudo chage -l username

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

Last password change: Jan 20, 2008 Password expires: never Password inactive: never Account expires: never 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

2. Для установки этих значений просто используйте следующую команду и следуйте интерактивным подсказкам:

Sudo chage username

Далее также пример того, как можно вручную изменить явную дату истечения действия пароля (-E) на 01/31/2008 (американский вариант даты - прим. пер.), минимальный срок действия пароля (-m) на 5 дней, максимальный срок действия (-M) на 90 дней, период бездействия (-I) на 5 дней после истечения срока пароля и период предупреждений (-W) на 14 дней до истечения срока пароля.

Sudo chage -E 01/31/2011 -m 5 -M 90 -I 30 -W 14 username

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

Sudo chage -l username

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

Last password change: Jan 20, 2008 Password expires: Apr 19, 2008 Password inactive: May 19, 2008 Account expires: Jan 31, 2008 Minimum number of days between password change: 5 Maximum number of days between password change: 90 Number of days of warning before password expires: 14

Иные соображения безопасности

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

Доступ по SSH заблокированными пользователями

Обычное отключение/блокирование не исключает удаленного подключения пользователя к серверу, если ему предварительно была установлена аутентификация по открытому ключу RSA. Такие пользователи будут получать доступ к консольной оболочке (shell) на сервере без необходимости ввода какого-либо пароля. Не забывайте проверять пользовательские домашние каталоги на файлы, которые позволяют подобный тип авторизации по SSH , например, /home/username/.ssh/authorized_keys.

Удаление или переименование каталога.ssh/ в домашнем каталоге пользователя предотвратит дальнейшую способность аутентификации по SSH .

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

Ограничьте SSH доступ только для учетных записей пользователей, которым они требуются. Например, вы можете создать группу с названием "sshlogin" и добавить имя группы в качестве значения для переменной AllowGroups, находящейся в файле /etc/ssh/sshd_config.

AllowGroups sshlogin

Затем добавьте ваших пользователей, которым разрешен SSH доступ, в группу "sshlogin" и перестартуйте SSH сервис.

Sudo adduser username sshlogin sudo service ssh restart

Аутентификация по внешней базе данных

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

Опция -c - добавить комментарий к пользователю
Опция -g sudo - доабавить пользователя в группу sudo.
Опция -s установит пользователю в качестве shell"а /bin/bash

Опция -d используется для указания домашней папки пользователя
Опция -m укажет на то что папку нужно создать немедленно:

Sudo useradd -c "Comment for user" -g sudo -d /home/NameUser -m -s /bin/bash NameUser

Установим пароль для пользователя NameUser:

Sudo passwd NameUser

Добавляем пользоваетля командой adduser

sudo useradd -c "Comment for user" -g sudo -d /home/NameUser -m -s /bin/bash NameUser

Вводим пароль, отвечаем на все поставленные вопросы, получаем пользователя с паролем и домашней директорией

Меняем пароль пользователя

sudo passwd NameUser

Добавляем пользователя в группу sudo

usermod -a -G sudo NameUser

Добавляем пользователя/группу пользователей в Sudores напрямую:

Отредактируем файл /etc/sudores.tmp редактором visudo

Sudo visudo

Дадим root-права пользователю с именем user_name

User_name ALL=(ALL:ALL) ALL

Дадим root-права группе пользователей group_name , добавив линию в файл sudoers -

Group_name ALL=(ALL:ALL) ALL

Пользователь и его группы

Смотрим доступные группы на хосте

Cat /etc/group

Проверяем существование группы examplegroup на хосте, где examplegroup интересующая вас группа

Grep examplegroup /etc/group

Проверяем/Узнаем в каких группах состоит пользователь (а так же его uid, gid)

Id NameUser

Добавляем существующего пользователя NameUser в существующую группу examplegroup

Usermod -g examplegroup NameUser

Удаление пользователя Ubuntu

Используем команду, папка пользователя не будет удалена

Sudo userdel NameUser

Удаляем папку если это необходимо

Sudo rm -r /home/NameUser/

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

Sudo grep -R NameUser /etc/passwd --color

Вывксти список всех локальных пользоваетелей

sudo cat /etc/passwd sudo cat /etc/shadow

Для более подробного вывода информации о пользователе установим пакет finger

Sudo apt-get install finger

Для просмотра информации о пользоваетеле NameUser выполним команду

Finger NameUser

Для вывода информации о всех пользователях в файл infoaboutalluser.txt создадим скрипт finger.sh

#!/bin/bash n=`cat /etc/passwd | cut -d: -f1` for i in $n; do echo "===============================================================" finger $i done

Выполним скрипт finger.sh и сохраним его содержимое в файл infoaboutalluser.txt

./finger.sh infoaboutalluser.txt

Вывести всех привелигированных пользователей:

egrep ":0:0:" /etc/passwd

или не привелигированных

Egrep -v ":0:0:" /etc/passwd

Вывести всех пользователей, имена которых начинаются с букв abcd:

Cat /etc/passwd | grep "^.*"

Приветствую Всех!

В этой статье я расскажу как добавить нового пользователя, изменить его права или сменить пароль пользователя в Linux Ubuntu. А также как сделать «Учетные записи» при помощи графической утилиты или из командной строки.

Рассмотрим первый способ добавить новую учетную запись.

Через панель быстрого запуска открываем «Параметры системы» и выбираем «Учетные записи».

Теперь необходимо получить дополнительные привилегии. Для этого нажимаем кнопку «Разблокировать».

Вводим свой пароль и нажимаем кнопку «Аутентифицировать»

Чтобы добавить нового пользователя нажимаем на знак «+»

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

  • Обычный
  • Администратор

В большинстве случаев достаточно «Обычного» типа учетной записи. Но если в дальнейшем выяснится, что этому пользователю нужны дополнительные привилегии, то достаточно будет вернуться в утилиту «Учетные записи» и сменить тип учетной записи.

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

У нас появилась наша новая учетная запись, но она не активирована пока не будет задан пароль.

Включаем новую учетную запись, нажав в пункте «Пароль»:

Пользуясь подсказкой придумываем «Стойкий» пароль, после чего повторно вводим его в поле «Подтвердить пароль». Активируем новую учетную запись нажав кнопку «Изменить».

Чтобы удалить ненужную учетную запись, ее необходимо выделить и нажать знак «-»

Откроется окно выбора способа удаления.

Есть два варианта:

  • c удалением домашнего каталога
  • либо с его сохранением.
    • Если файлы этого пользователя больше не нужны, то нажимаем «Удалить файлы»./p>

      Учетная запись и все файлы домашнего каталога удалены.

      А теперь рассмотрим второй способ добавить нового пользователя.

      Откроем терминал и запустим следующую команду.

      sudo adduser newusers

      Для получения дополнительных привилегий необходимо ввести пароль пользователя и нажать на клавиатуре клавишу «Enter».

      Повторно вводим пароль и нажимаем на клавиатуре клавишу «Enter».

      Добавляем необходимую информацию и если все указали правильно, то подтверждаем это набрав «Y» и нажимаем на клавиатуре клавишу «Enter».

      Но если нам нужен пользователь с правами «Администратора», то необходимо выполнить еще одну команду и добавить пользователя в необходимые группы (adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare).

      sudo usermod -a -G adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare newusers

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

      sudo id newusers

      Также очень просто сменить пароль любого пользователя. Набираем команду passwd и логин пользователя.

      sudo passwd newusers

      Вводим пароль нового пользователя и нажимаем на клавиатуре клавишу «Enter».

      Далее повторно вводим пароль и нажимаем на клавиатуре клавишу «Enter». Если все сделали правильно, то должны увидеть запись «пароль успешно обновлен». И теперь для входа в эту учетную запись необходимо вводить новый пароль.

      Удалить ненужного пользователя и его домашнюю папку тоже очень просто. Для этого набираем

      sudo userdel -r newusers

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

      sudo id newusers

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

      Мы рассмотрели как можно добавить нового пользователя, сменить пароль, изменить его права, добавив в группы, а также как удалить пользователя. И если остались непонятные вопросы по данной теме и есть предложения, то прошу их писать в комментариях. Всем пока!

User management is a critical part of maintaining a secure system. Ineffective user and privilege management often lead many systems into being compromised. Therefore, it is important that you understand how you can protect your server through simple and effective user account management techniques.

Ubuntu developers made a conscientious decision to disable the administrative root account by default in all Ubuntu installations. This does not mean that the root account has been deleted or that it may not be accessed. It merely has been given a password which matches no possible encrypted value, therefore may not log in directly by itself.

Instead, users are encouraged to make use of a tool by the name of sudo to carry out system administrative duties. Sudo allows an authorized user to temporarily elevate their privileges using their own password instead of having to know the password belonging to the root account. This simple yet effective methodology provides accountability for all user actions, and gives the administrator granular control over which actions a user can perform with said privileges.

    If for some reason you wish to enable the root account, simply give it a password:

    Configurations with root passwords are not supported.

    sudo passwd

    Sudo will prompt you for your password, and then ask you to supply a new password for root as shown below:

    Password for username: (enter your own password) Enter new UNIX password: (enter a new password for root) Retype new UNIX password: (repeat new password for root) passwd: password updated successfully

    To disable the root account password, use the following passwd syntax:

    sudo passwd -l root

    However, to disable the root account itself, use the following command:

    usermod --expiredate 1

    You should read more on Sudo by reading the man page:

    man sudo

By default, the initial user created by the Ubuntu installer is a member of the group "sudo " which is added to the file /etc/sudoers as an authorized sudo user. If you wish to give any other account full root access through sudo , simply add them to the sudo group.

Adding and Deleting Users

The process for managing local users and groups is straightforward and differs very little from most other GNU/Linux operating systems. Ubuntu and other Debian based distributions encourage the use of the "adduser" package for account management.

    To add a user account, use the following syntax, and follow the prompts to give the account a password and identifiable characteristics, such as a full name, phone number, etc.

    sudo adduser username

    To delete a user account and its primary group, use the following syntax:

    sudo deluser username

    Deleting an account does not remove their respective home folder. It is up to you whether or not you wish to delete the folder manually or keep it according to your desired retention policies.

    Remember, any user added later on with the same UID/GID as the previous owner will now have access to this folder if you have not taken the necessary precautions.

    You may want to change these UID/GID values to something more appropriate, such as the root account, and perhaps even relocate the folder to avoid future conflicts:

    sudo chown -R root:root /home/username/ sudo mkdir /home/archived_users/ sudo mv /home/username /home/archived_users/

    To temporarily lock or unlock a user account, use the following syntax, respectively:

    sudo passwd -l username sudo passwd -u username

    To add or delete a personalized group, use the following syntax, respectively:

    sudo addgroup groupname sudo delgroup groupname

    To add a user to a group, use the following syntax:

    sudo adduser username groupname

User Profile Security

When a new user is created, the adduser utility creates a brand new home directory named /home/username . The default profile is modeled after the contents found in the directory of /etc/skel , which includes all profile basics.

If your server will be home to multiple users, you should pay close attention to the user home directory permissions to ensure confidentiality. By default, user home directories in Ubuntu are created with world read/execute permissions. This means that all users can browse and access the contents of other users home directories. This may not be suitable for your environment.

    To verify your current user home directory permissions, use the following syntax:

    ls -ld /home/username

    The following output shows that the directory /home/username has world-readable permissions:

    drwxr-xr-x 2 username username 4096 2007-10-02 20:03 username

    You can remove the world readable-permissions using the following syntax:

    sudo chmod 0750 /home/username

    Some people tend to use the recursive option (-R) indiscriminately which modifies all child folders and files, but this is not necessary, and may yield other undesirable results. The parent directory alone is sufficient for preventing unauthorized access to anything below the parent.

    A much more efficient approach to the matter would be to modify the adduser global default permissions when creating user home folders. Simply edit the file /etc/adduser.conf and modify the DIR_MODE variable to something appropriate, so that all new home directories will receive the correct permissions.

    After correcting the directory permissions using any of the previously mentioned techniques, verify the results using the following syntax:

    ls -ld /home/username

    The results below show that world-readable permissions have been removed:

    drwxr-x--- 2 username username 4096 2007-10-02 20:03 username

Password Policy

A strong password policy is one of the most important aspects of your security posture. Many successful security breaches involve simple brute force and dictionary attacks against weak passwords. If you intend to offer any form of remote access involving your local password system, make sure you adequately address minimum password complexity requirements, maximum password lifetimes, and frequent audits of your authentication systems.

Minimum Password Length

By default, Ubuntu requires a minimum password length of 6 characters, as well as some basic entropy checks. These values are controlled in the file /etc/pam.d/common-password , which is outlined below.

password pam_unix.so obscure sha512

If you would like to adjust the minimum length to 8 characters, change the appropriate variable to min=8. The modification is outlined below.

password pam_unix.so obscure sha512 minlen=8

Basic password entropy checks and minimum length rules do not apply to the administrator using sudo level commands to setup a new user.

Password Expiration

When creating user accounts, you should make it a policy to have a minimum and maximum password age forcing users to change their passwords when they expire.

    To easily view the current status of a user account, use the following syntax:

    sudo chage -l username

    The output below shows interesting facts about the user account, namely that there are no policies applied:

    Last password change: Jan 20, 2015 Password expires: never Password inactive: never Account expires: never 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

    To set any of these values, simply use the following syntax, and follow the interactive prompts:

    sudo chage username

    The following is also an example of how you can manually change the explicit expiration date (-E) to 01/31/2015, minimum password age (-m) of 5 days, maximum password age (-M) of 90 days, inactivity period (-I) of 5 days after password expiration, and a warning time period (-W) of 14 days before password expiration:/home/username/.ssh/authorized_keys .

    Remove or rename the directory .ssh/ in the user"s home folder to prevent further SSH authentication capabilities.

    Be sure to check for any established SSH connections by the disabled user, as it is possible they may have existing inbound or outbound connections. Kill any that are found.

    who | grep username (to get the pts/# terminal) sudo pkill -f pts/#

    Restrict SSH access to only user accounts that should have it. For example, you may create a group called "sshlogin" and add the group name as the value associated with the AllowGroups variable located in the file /etc/ssh/sshd_config .

    AllowGroups sshlogin

    Then add your permitted SSH users to the group "sshlogin", and restart the SSH service.

    sudo adduser username sshlogin sudo systemctl restart sshd.service

    External User Database Authentication

    Most enterprise networks require centralized authentication and access controls for all system resources. If you have configured your server to authenticate users against external databases, be sure to disable the user accounts both externally and locally. This way you ensure that local fallback authentication is not possible.


Самое обсуждаемое
Драйверы для ноутбука Lenovo G570 Комплект полезных программ для ноутбука Lenovo IdeaPad G570 Драйверы для ноутбука Lenovo G570 Комплект полезных программ для ноутбука Lenovo IdeaPad G570
Скачивание драйверов для ноутбука Lenovo G570 Скачивание драйверов для ноутбука Lenovo G570
Ошибка Windows Installer при установке itunes: что делать Ошибка Windows Installer при установке itunes: что делать


top