Права в linux (chown, chmod, suid, guid, sticky bit, acl, umask)

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

Так как Linux заточена под использование большим количеством людей одновременно, разработчики придумали для нее продвинутую иерархию пользователей. У каждого свой набор прав и свои возможности. И есть целый набор команд для работы с ними. Рассмотрим главные.

useradd — создает на сервере новую учетную запись. По сути, нового пользователя. Синтаксис: useradd имя будущей учетной записи. Имя можно указать любое на свой вкус. Потом останется лишь добавить для нового аккаунта пароль.

passwd — задает пароль для учетной записи. Работает вкупе с предыдущей командой. То есть сразу после создания аккаунта, пишем: passwd имя новой учетной записи. После этого система попросит придумать и указать пароль для новой учетной записи.

Система безопасности в Linux не показывает во время ввода пароля даже звездочки, но это не значит, что он не вводится. Продолжайте набирать вслепую, а как закончите, нажмите Enter, и все сработает. И не бойтесь запутаться, вас попросят повторить придуманный пароль.

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

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

  • -с — добавляет комментарий к аккаунту (можно вписать любой текст по желанию, чтобы запомнить для чего нужен выбранный пользователь).
  • -d — меняет расположение домашней директории выбранной учетной записи.
  • -e — указывает время, которое будет существовать аккаунт (после этого сработает автоматический userdel).
  • -g — меняет группу, к которой принадлежит аккаунт.
  • -G — привязывает аккаунт к выбранной группе.
  • -L — блокирует пользователя.
  • -m — перемещает контент из домашней папки пользователя в другую папку.
  • -p — устанавливает незашифрованный пароль (лучше так не делать).
  • -s — задает конкретную оболочку для нового аккаунта на усмотрение администратора компьютера.
  • -U — снимает блокировку с выбранной учетной записи.

Получите список всех пользователей с помощью файла /etc/passwd

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

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

  • Имя пользователя.
  • Зашифрованный пароль ( означает, что пароль хранится в ).
  • Идентификационный номер пользователя (UID).
  • Идентификационный номер группы пользователя (GID).
  • Полное имя пользователя (GECOS).
  • Домашний каталог пользователя.
  • Оболочка входа (по умолчанию ).

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

Проверить, существует ли пользователь в системе Linux

Теперь, когда мы знаем, как составить список всех пользователей, чтобы проверить, существует ли пользователь в нашем Linux-сервере, мы можем просто отфильтровать список пользователей, передав его по конвейеру команде .

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

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

Мы также можем проверить, существует ли пользователь, не используя команду как показано ниже:

Как и раньше, если пользователь существует, команда отобразит информацию для входа в систему.

Если вы хотите узнать, сколько учетных записей пользователей у вас в системе, вывод команде :

Как видно из вышеприведенного вывода, в моей системе Linux 33 учетных записи пользователей.

Sticky bit

Устанавливается для каталогов. Только владелец файла, владелец каталога или root может переименовать или удалить файл. Без выставленного sticky bit, любой пользователь, имеющий wx-права на каталог, может удалить или переименовать содержащиеся в нём файлы независимо от владельца файлов.

Сегодня sticky bit используется в основном для каталогов, чтобы защитить в них файлы. Из такого каталога пользователь может удалить только те файлы, владельцем которых он является. Примером может служить каталог /tmp, в который запись открыта для всех пользователей, но нежелательно удаление чужих файлов. Установка атрибута производится утилитой chmod.

Редактирование прав

Все, что нужно для разрешения проблем, связанных с правами в Linux.

sudo — выдает права суперпользователя. Используется перед любой командой, если нужно выполнить ее от имени администратора. Многие программы и операции запускаются исключительно при наличии этих прав, так что sudo используется часто. Например, чтобы обновить список пакетов в Fedora, введем: sudo dnf update. При этом система запросит пароль администратора.

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

sudo !! — запускает предыдущую команду от имени администратора. Пригодится, если уже ввели команду, требующую прав суперпользователя, но забыли их затребовать. Не придется вводить весь текст заново. Достаточно сокращенной версии.

chmod — корректирует права доступа к выбранному файлу. Применяется исключительно с набором опций, обозначающих список прав. Допустим, я хочу выдать права на чтение и запись файла Timeweb.html на рабочем столе. Для этого введу в терминал: chmod 777 ~/Desktop/timeweb.html. Теперь его можно открывать и редактировать. Аналогичным образом пользователи поступают с системными файлами, когда приходит время что-то в них менять. По умолчанию большая их часть защищена от записи.

chown — назначает владельца для выбранной директории, документа, картинки или любого другого элемента в файловой системе. Синтаксис следующий: chown имя учетной записи, которому надо передать права путь до файла, права на который нужно передать. На примере этого может выглядеть следующим образом: есть пользователь Timeweb, которому я хочу передать права на файл timeweb-file.txt с рабочего стола. Сделаю это командой:

chown Timeweb ~/Desktop/timeweb-file.txt

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

Вся информация о пользователях находится в файле /etc/passwd. Мы могли бы создать пользователя linux просто добавив его туда, но так делать не следует, поскольку для этой задачи существуют специальные утилиты. Одна из таких утилит, это useradd. Рассмотрим ее подробнее.

Команда useradd

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

$ useradd опции имя_пользователя

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

  • -b — базовый каталог для размещения домашнего каталога пользователя, по умолчанию /home;
  • -c — комментарий к учетной записи;
  • -d — домашний каталог, в котором будут размещаться файлы пользователя;
  • -e — дата, когда учетная запись пользователя будет заблокирована, в формате ГГГГ-ММ-ДД;
  • -f — заблокировать учетную запись сразу после создания;
  • -g — основная группа пользователя;
  • -G — список дополнительных групп;
  • -k — каталог с шаблонами конфигурационных файлов;
  • -l — не сохранять информацию о входах пользователя в lastlog и faillog;
  • -m — создавать домашний каталог пользователя, если он не существует;
  • -M — не создавать домашнюю папку;
  • -N — не создавать группу с именем пользователя;
  • -o — разрешить создание пользователя linux с неуникальным идентификатором UID;
  • -p — задать пароль пользователя;
  • -r — создать системного пользователя, не имеет оболочки входа, без домашней директории и с идентификатором до SYS_UID_MAX;
  • -s — командная оболочка для пользователя;
  • -u — идентификатор для пользователя;
  • -D — отобразить параметры, которые используются по умолчанию для создания пользователя. Если вместе с этой опцией задать еще какой-либо параметр, то его значение по умолчанию будет переопределено.

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

Как видите, по умолчанию домашний каталог пользователя будет создан в /home и будет использоваться оболочка /bin/sh. Теперь создадим минимального пользователя с минимальными настройками:

Был создан самый простой пользователь, без оболочки и пароля, а также без групп. Теперь немного усложним задачу и создадим пользователя с паролем и оболочкой /bin/bash:

Для того чтобы получать доступ к системным ресурсам пользователю нужно быть участником групп, у которых есть доступ к этим ресурсам. Дополнительные группы пользователя задаются с помощью параметра -G. Например, разрешим пользователю читать логи, использовать cdrom и пользоваться sudo:

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

Некоторых пользователей интересует создание пользователя с правами root linux, это очень просто делается с помощью useradd, если комбинировать правильные опции. Нам всего лишь нужно разрешить создавать пользователя с неуникальным uid, установить идентификатор в 0 и идентификатор основной группы тоже в 0. Команда будет выглядеть вот так:

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

Создание нового пользователя linux в GUI

Затем откройте «Пользователи»:

Поскольку утилита запущена от имени обычного пользователя вы ничего не можете сделать. Поэтому нажмите кнопку «Разблокировать»:

Только после этого используйте кнопку со знаком плюс для создания нового пользователя Linux:

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

После этого создание пользователя linux завершено, новый пользователь появится в списке.

Утилита chsh

Пользователи могут изменять используемую для входа в систему командную оболочку с помощью утилиты . В примере ниже пользователь laura в первую очередь получает список доступных командных оболочек (также данный список может быть получен с помощью команды ), после чего изменяет свою командную оболочку на (/bin/ksh). При следующем входе в систему пользователю laura по умолчанию будет предоставлена командная оболочка Korn shell вместо bash.

$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/ksh
/bin/tcsh
/bin/csh
$

Учтите, что в дистрибутиве Debian не существует параметра упомянутой утилиты, а также в данном примере предполагается, что командные оболочки и установлены в системе.

В примере ниже показано, как пользователь может изменить свою стандартную командную оболочку (которая будет активирована при следующем входе в систему).

$ chsh -s /bin/ksh
Изменение шелла для laura.
Пароль:
Шелл изменён.

Команды Linux, для работы с файлами

Эти команды используются для обработки файлов и каталогов.

33. ls

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

34. pwd

Linux pwd — это команда для показывает имя текущего рабочего каталога. Когда мы теряемся в каталогах, мы всегда можем показать, где мы находимся.

Пример ример ниже:

35. mkdir

В Linux мы можем использовать команду mkdir для создания каталога.

По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.

36. cat

Мы используем команду cat в основном для просмотра содержимого, объединения и перенаправления выходных файлов. Самый простой способ использовать cat— это просто ввести » имя_файла cat’.

В следующих примерах команды cat отобразится имя дистрибутива Linux и версия, которая в настоящее время установлена на сервере.

37. rm

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

38. cp

Команда Cp используется в Linux для создания копий файлов и каталогов.

Следующая команда скопирует файл ‘myfile.txt» из текущего каталога в «/home/linkedin/office«.

39. mv

Когда вы хотите переместить файлы из одного места в другое и не хотите их дублировать, требуется использовать команду mv. Подробнее можно прочитать ЗДЕСЬ.

40.cd

Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.

41. Ln

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

Команда Ln использует следующий синтаксис:

42. touch

Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.

44. head

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

45. tail

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

46. gpg

GPG — это инструмент, используемый в Linux для безопасной связи. Он использует комбинацию двух ключей (криптография с симметричным ключом и открытым ключом) для шифрования файлов.

50. uniq

Uniq — это инструмент командной строки, используемый для создания отчетов и фильтрации повторяющихся строк из файла.

53. tee

Команда Linux tee используется для связывания и перенаправления задач, вы можете перенаправить вывод и/или ошибки в файл, и он не будет отображаться в терминале.

54. tr

Команда tr (translate) используется в Linux в основном для перевода и удаления символов. Его можно использовать для преобразования прописных букв в строчные, сжатия повторяющихся символов и удаления символов.

Список всех групп

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

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

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

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

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

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

Можно вручную читать информацию из текстовых файлов и парсить — неудобно.

Есть утилита getent, которая помогает получить информацию из разных текстовых файлов: ahosts, ahostsv4, ahostsv6, aliases, ethers, group, gshadow, hosts, netgroup, networks, passwd, protocols, rpc, services, shadow. Общий синтаксис такой:

getent database 

Пример:

$ getent passwd 1000 | cut -d: -f1
sobols

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

#include <pwd.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
 
int main() {
    int uid;
    while (scanf("%d", &uid) == 1) {
        struct passwd* passwd = getpwuid(uid);
        if (passwd) {
            printf("%d\t%s\n", uid, passwd->pw_name);
        } else {
            fprintf(stderr, "%d\tERROR\n", uid);
        }
    }
}

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

Работа с командной строкой, горячие клавиши и дополнительные символы

Базовые методы управления текстом в терминале.

clear — удаляет из текущий сессии терминала все ранее выведенные в него данные, содержимое открытых документов и историю использованных команд. Используется, когда нужно четко лицезреть вывод конкретной операции.

history — показывает ранее использованные приложения и инструменты. Без дополнительных аргументов отображает 10 элементов. Но их количество можно изменить вручную, добавив к слову history любое число. history 13, к примеру.

whatis — дает однострочную справку к любой из установленных программ. Принцип работы следующий: вводим слово whatis, а за ним следом название приложения, о котором хотим узнать. Например, чтобы узнать о том, что такое nano, введем в терминал: whatis nano.

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

Дополнительные символы

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

; — разделитель, необходимый, чтобы активировать сразу несколько команд подряд. Это выглядит так: cd ~/Documents; mkdir Novaya_papka; rmdir Staraya-papka. Команды будут выполняться друг за другом независимо от результата выполнения каждой из них.

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

sudo apt-get update && sudo apt-get install wget

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

~ — сокращение от /home/имя учетной записи/. Часто фигурирует в инструкциях.

Горячие клавиши

Парочка полезных сочетаний клавиш.

Стрелка вверх — показывает предыдущую команду.

Ctrl+C — прерывает запущенный процесс.

Ctrl+A — перемещает курсор в начало строки.

Ctrl+E — перемещает курсор в конец строки.

Права доступа к файлам

Основной механизм безопасности в операционной системе Linux прост. Каждый процесс несет на себе UID и GID своего владельца. Когда создается файл, он получает UID и GID создающего его процесса. Файл также получает набор разрешений доступа, определяемых создающим процессом. Эти разрешения определяют доступ к этому файлу

  • для владельца файла,
  • для других членов группы владельца файла,
  • для всех прочих пользователей.

Для каждой из этих трех категорий определяется три вида доступа:

  • чтение (read, r),
  • запись (write, w),
  • исполнение файла (execute, x).

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

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

Три варианта записи прав пользователя
двоичная восьмеричная символьная права на файл права на директорию
000 --- нет нет
001 1 --x выполнение чтение файлов и их свойств
010 2 -w- запись нет
011 3 -wx запись и выполнение всё, кроме чтения списка файлов
100 4 r-- чтение чтение имён файлов
101 5 r-x чтение и выполнение доступ на чтение
110 6 rw- чтение и запись чтение имён файлов
111 7 rwx все права все права

Часть разрешений имеет смысл только в сочетании с другими. Из первых четырёх пунктов (не дающих права на чтение файла) для файлов обычно используется только «—», то есть полный запрет доступа к файлу данному типу пользователей. Для директорий из всего списка обычно применяются только 0, 5 и 7 — запрет, чтение и выполнение, и полный доступ.

Файлы

Право на запись (w) даёт пользователю возможность записывать или изменять файл.

Если на бинарном исполняемом файле выставлены права на выполнение, то программу можно будет выполнить, даже если нет права на чтение.

$ ls -la a.out 
---x--x--x 1 sobols sobols 8632 Mar  5 14:39 a.out
$ ./a.out 
Hello, world!

Право на запись может существовать при отсутствии права на чтение.

$ ls -la data.txt 
--w------- 1 sobols sobols 42 Mar  5 14:44 data.txt
$ echo "hello" >>data.txt 
$ cat data.txt 
cat: data.txt: Permission denied

Каталоги — это файлы, они обладают теми же самыми режимами защиты, что и обычные файлы.

Отличие состоит в том, что бит x интерпретируется для каталогов как разрешение не исполнения, а входа в каталог, доступа к inode’ам файлов. Чтобы сделать cd в каталог, нужно, чтобы он имел бит x.

Бит r разрешает получение списка файлов в каталоге.

Право на запись (w) для каталога — возможность создавать новые файлы или удалять файлы из этого каталога. Если на каталоге стоит возможность записи (w), то файл внутри этого каталога можно будет удалить, даже если право на запись для него не установлено. (В соответствии с концепцией файловой системы POSIX).

Символические ссылки

Биты доступа, выставленные на символических ссылках, в UNIX-системах игнорируются (исключением является macOS). Имеют значение установки прав, выставленные для файла, на который линк указывает.

На Linux команда ls -l всегда печатает lrwxrwxrwx (777) для символических ссылок.

Жёсткие ссылки

У жёстких ссылок, указывающих на один inode, одинаковые владелец и права доступа. Чтобы иметь возможность создать хардлинк на файл, нужно быть или его владельцем, или иметь как минимум rw-доступ.

Список всех пользователей в Linux

Наверное, самое первое, что нужно знать, это как узнать, какие пользователи в моей системе. Есть несколько способов получить список пользователей в Linux.

1. Показать пользователей в Linux, используя less /etc/passwd

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

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
maxdie:x:1000:1000:Max Die,,,:/home/helder:/bin/bash
davmail:x:127:65534::/var/lib/davmail:/usr/sbin/nologin
statd:x:128:65534::/var/lib/nfs:/usr/sbin/nologin
/etc/passwd (END)

Структура в приведенном выше выводе выглядит так:

  • Имя пользователя
  • Зашифрованный пароль ( x представляет сохраненный пароль)
  • Идентификационный номер пользователя (UID)
  • Идентификационный номер группы пользователя (GID)
  • ФИО
  • Домашний каталог пользователя
  • Оболочка входа пользователя (по умолчанию – оболочка bash)

Почему так много пользователей? Какие являются «Реальными»?

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

Теперь, если вы хотите отличить обычных пользователей от системных пользователей, вы можете обратиться к номеру идентификатора пользователя (UID).

В общем-то обычный пользователь имеет UID, больший или равный 1000. Это дает вам подсказку, что пользователь с UID> = 1000 является обычным пользователем, а пользователи с UID <1000 являются системными пользователями.

2. Просмотр пользователей с помощью getent passwd

Эта команда выдаст вам вывод, похожий на пароль . Однако этот запрос фактически запрашивает файл конфигурации функциональности коммутатора службы имен GNU (находится в ).

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

3. Список пользователей Linux с compgen

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

compgen -u

Вывод будет выглядеть так:

compgen -u
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
systemd-timesync
systemd-network
systemd-resolve
systemd-bus-proxy
syslog
_apt
messagebus
sshd
ntp
mysql
bind
shellinabox
Debian-exim
proftpd
ftp
nginx
destroyer
debian-spamd
clamav
terminator

Совет
Вы можете использовать командe сompgen с параметром -c, чтобы вывести список всех доступных вам команд. Это полезно, когда вы не являетесь администратором системы Linux и не имеете доступа sudo.

Как пользоваться chown

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

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

является именем пользователя или идентификатором пользователя (UID) нового владельца. это имя новой группы или идентификатор группы (GID). это имя одного или нескольких файлов, каталогов или ссылок. Числовые идентификаторы должны начинаться с символа.

  • — Если указан только пользователь, указанный пользователь станет владельцем данных файлов, владение группой не изменится.
  • — Когда за именем пользователя следует двоеточие , а имя группы не указывается, пользователь становится владельцем файлов, а принадлежность группы файлов изменяется на группу входа пользователя.
  • — Если указаны и пользователь, и группа (без пробелов между ними), пользовательское владение файлами изменяется на данного пользователя, а групповое владение изменяется на данную группу.
  • — Если пользователь не указан, а перед группой стоит двоеточие , то только группа, владеющая файлами, будет изменена на данную группу.
  • Если задано только двоеточие , без указания пользователя и группы, никаких изменений не производится.

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

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

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

Как узнать логин администратора?

По умолчанию ubuntu не предлагает создать учётку обычного пользователя, в отличие от debian. Когда ставил дебиан на виртуалку, то имя обычного пользователя сделал таким же, как и админское(как я делал обычного пользователя sudo, опустим). А теперь, поставив на реальный комп, внезапно понял, что забыл !!ЛОГИН!! админки. Итак, что у нас есть:

| учётка обычного юзера, с известным логином(допустим, user) и паролем(допустим, pass) | админ с неизвестным логином, известным паролем(допустим, passroot) и реальным именем, почему-то отображающемся как реальное имя обычного юзера

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

команда cat /etc/passwd не помогла, нет там учётки админа.

А ещё есть возможность загрузится с загрузочной флешки.

Итак, логичный вопрос – как узнать логин админки системы? И как удалить нафиг пользователя, что бы всё время логинится админом, как на *ubuntu по дефолту? компьютер домашний, никто в него лезть не будет, крооме моих рук, которые, честно говоря, не кривые.

Как защитить логин администратора сайта?С недавнего времени началась постоянная и целенаправленная автоматизированная атака на основной.

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

Как узнать свой логин на Убунту?День добрый! Убунту требует логин и пароль. Пароль я знаю, а про логин и не думал. Вопрос: можно.

Как узнать логин пользователя зашедшего на сайт?Как узнать логин пользователя зашедшего на сайт и поместить его в текстовое поле?

SuperPrower, расширю ответ Dmitry. Для начала уточню 2 момента: 1. Во всех Linux’ах есть только один админ – root. 2. Нельзя авторизоваться под пользователем, у которого нет пароля. Но можно запускать программы от его имени. Правда, тут ещё нюансы есть В Ubuntu также настоящий админ один – root. Но у него нет пароля и доступ к su ограничен для обычных пользователей. В линуксе существует такая утилита как sudo. Её задача – запуск программ от имени суперпользователя (от root’а). Она представляет из себя демона. Демон работает от имени root’а и может запускать программы как дочерние процессы опять же от имени администратора. Но по умолчанию sudo требует пароль того пользователя, который его вызывает. Можно поменять, чтобы запрашивался пароль root’а (или вообще не запрашивался), но это уже другой вопрос. Конфигурационный файл для sudo – /etc/sudoers. Очень кратко о настройке. Так как залогиниться под пользователем без пароля нельзя, root в Ubuntu считается заблокированным, а под админом понимается обычный пользователь, прописанный в /etc/sudoers и потому имеющий право выполнять команды от имени суперпользователя.

Теперь о различиях Debian и Ubuntu: в Debian по умолчанию sudo не установлен. А после установки не работает. По крайней мере у меня ни разу сразу не заработал. Приходилось править /etc/sudoers.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: