Как пользоваться командами chown и chmod в Linux?

Alexey 13.05.2016 1 Сеть arp, Deprecation, ifconfig, ip, iproute2, iptunnel, iw, iwconfig, nameif, net-tools, netstat, route, ss

Операции с файлами

Команда Действие
ls показать список файлов и каталогов
ls -al показать все файлы на сервере (даже скрытые) + размер + владельца + права на фалы + дату изменения
cd директория перейти в указанную директорию;
cd перейти в домашний каталог
pwd показать текущую папку
mkdir директория создать папку «директория»
rm имя_файла удалить файл с именем имя_файла
rm -r диретория удалить папку «директория»
cp файл1 файл2 скопировать файл1 в файл2
cp -r папка1 папка2 скопировать папка1 в папка2
touch файл создать файл и с именем «файл»
cat > файл направить стандартный ввод в «файл»
more файл показать содержимое файл
head файл показывает первые 10 строк из файла
tail файл показывает последние 10 строк из файла

Передача полномочий

Для выполнения определенных административных (привилегированных) действий, например для установки системного времени при помощи команды date(1), нужны права доступа к определенным системным вызовам.

В классической UNIX были предусмотрены простые правила разграничения «все или ничего», т. все привилегированные действия были разрешены суперпользователю root с UID=0, и никакие привилегированные — всем остальным пользователям.

На текущий момент времени в Linux реализована система привилегий capabilities(7).

В этих и подобных ситуациях для администрирования операционной системы непривилегированным пользователям необходимо временно воспользоваться правами суперпользователя, что реализуется посредством классической команды явной передачи полномочий su(1) — switch user, или более поздней команды sudo(1) — switch user do контролируемой передачи полномочий.

Основное различие между su(1) и sudo(1) заключается в том, что команда su реализует «повторную регистрацию в системе», требуя указать имя и ввести пароль того пользователя, чьи полномочия нужно получить. Напротив, команда sudo реализует явные правила sudoers(5) передачи полномочий, указанные в файле /etc/sudoers, и требует подтвердить передачу полномочий паролем того пользователя, который получает передаваемые полномочия.

[email protected]:~$ su  -l  john

Пароль: «пароль john’a>

[email protected]:~$ id

uid=1001(john) gid=1001(ftnn) группы=1001(john)

[email protected]: ~$ su -1 jake

Пароль: «пароль jake’a>

[email protected]:~$ id

uld=1002(jake) gid=1002(jake) группы=1002(jake)

[email protected]:~$ ^D

[email protected]:~$ ^D

[email protected]:~$ sudo -i -u john

[sudo] password for troll: <пароль troll’a>

[email protected]:~$ id

uld=X001(john) gid=1001(john) группы=1001(john)

[email protected]:~$ sudo -i -u jake

[sudo] password for john: <пароль john’a>

john is not in the sudoers file. This incident will be reported.

Нужно заметить, что в Ubuntir Linux пароль суперпользователя root заблокирован, что не позволяет использовать учетную запись как «обычную» для регистрации в системе и превращает ее в «ролевую». Как следствие, привилегиями «роли» суперпользователя можно пользоваться лишь при помощи sudo и только непривилегированным пользователям, явно указанным в правилах передачи sudoers(5).

Основные

Помощь

Забыли аргументы для cp? Какая опция у команды mkdir? Вот вам подсказка:

help nano # кратко о команде “nano” man nano # подробная информация о “nano”

Конвейер

Зачастую с его помощью перенаправляют вывод одной команды на ввод другой или приписывают команду к файлу:

a | b # конвейер: передать вывод команды a на ввод b a > # сохранить вывод команды a в (перезаписать) a >> # сохранить вывод команды a в (добавить) echo «Hello!» | xargs echo # направить вывод первой команды, как аргумент второй

Фильтрация вывода

Бывает, что команда выводится слишком долго. В этом случае вы либо разделите страницу с помощью команды more или less, либо выведите строки, которые содержат специальное слово или предложение с grep:

cat | more # постранично показывает содержимое cat | постранично показывает содержимое , и позволяет перемещаться по файлу cat | grep “I love you” # показывает строчку, где расположена строка “I love you”

Очистка экрана

Слишком много текста в терминале? Просто напишите clear и продолжайте работать.

clear # очистка терминала

CHOWN

Chown — от английского change own. И так, как вы знаете в Linux есть пользователи и группы. У каждого пользователя есть свои файлы, созданные или загруженные. Каждый пользователь находится в собственной группе и может быть объеден c другими пользователями в другие группы.

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

ls -l

Если вы хотите поменять или сменить владельца (пользователя) файла тогда вам поможет команда:

sudo chown userName

В данном примере мы присвоили файл пользователю userName.

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

sudo chgrp groupName

Для того чтобы не вводить 2 разные команды делают так:

sudo chown userName:groupName

Вначале указывается владелец файла, а после группа:

sudo chown имя_владельца:имя_группы

Если вам нужно поменять в директории владельца и группу, а там множество файлов и папок тогда используйте ключ -R:

sudo chown -R userName:groupName /var/www/site/

Изменение настроек учетной записи пользователя

С помощью команды chfn можно внести или изменить информацию учетной записи пользователя (ФИО, рабочий телефон, рабочие координаты и т.д, username — имя пользователя):

chfn -f полное_имя -о office -p рабочий_телефон -h домашний_телефон -u -v username

Читайте также:  Как настроить локальный сервер для тестирования?

Для задания пароля используется команда passwd:

passwd username

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

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

change -d 0 username

Блокировка и разблокировка учетной записи пользователя

Опция -L позволяет заблокировать учетную запись пользователя:

usermod -L USER

Команды вставят восклицательный знак (!) перед зашифрованным паролем. Если поле пароля в /etc/shadow файле содержит восклицательный знак, пользователь не сможет войти в систему, используя аутентификацию по паролю. Другие методы входа в систему, такие как аутентификация на основе ключей или переключение на пользователя, по-прежнему разрешены. Если вы хотите заблокировать учетную запись и отключить все методы входа в систему, вам также необходимо установить дату истечения срока действия равной 1.

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

sudo usermod -L linuxize sudo usermod -L -e 1 linuxize

Чтобы разблокировать пользователя, запустите usermodс -Uопцией:

usermod -U USER