Распечатать эту страницу

Translator
 
 

 

Часто используемые команды: 

sudo -i повысить привилегии для текущего пользователя
sudo -l проверка прав и корректности самого файла sudoerd для текущего пользователя
sudo -llU name_user проверка прав для пользователя username
sudo -u user_name vim запустить vim с правами root от пользователя user_name 
passwd root задать пароль для root (такая команда также включает УЗ root, если она отключена)
passwd -l root отключить УЗ root
useradd / userdel user_name создать/удалить пользователя user_name
useradd user_name -u 900 -g 900 создать пользователя user_name с определенными uid и guid
usermod -L name_user заблокировать пользователя
usermod -U name_user разблокировать пользователя
passwd -S name_user проверить состояние УЗ name_user на предмет блокировки
id user_name или groups в каких группах состоит пользователь user_name 
getent passwd 1000 найти в passwd пользователя с id 1000
getent group {1000...2000} найти в group пользователей с id от 1000 до 2000
chage -l user_name информация о сроке окончания УЗ user_name
chage -E 2023-09-11 user УЗ user перестанет действовать 11.09.2023
chage -d 0 user заставить сменить пароль пользователя user
usermod -aG wheel user добавить в группу wheel пользователя user
   

 

 

/etc/sudoers - настройки поведения утилиты sudo

Синтаксис:
пользователь хост = (другой_пользователь:группа) команды

Пользователь - указывает пользователя или %группу, для которых мы создаем правило
хост - имя хоста, для которого будет действовать это правило
другой пользователь:группа - под видом какого пользователя или входящий в группу, указанный первый пользователь, может выполнять команды
команды - разрешенные команды


Примеры записей в конфиг файле

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

ALL ALL = (ALL) ALL

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

 

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

%wheel ALL = (ALL) ALL

 

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

myuser ALL=(ALL) NOPASSWD: ALL
%sudo ALL=(ALL) NOPASSWD: ALL

 

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

%wheel ALL = (root) ALL

$ sudo -u root ls - выполнится с привелегированныыми правами
$ sudo -u test ls - не выполнится с привелегированныыми правами

 

4. для пользователей, входящих в группу whell на всех хостах можно выполнять любые команды только от имени пользователя root или пользователей, входящих в группу admins

%wheel ALL = (root:admins) ALL 

 

5. для пользователей, входящих в группу whell на всех хостах можно выполнять указанные команды (mount, umount) только от имени пользователя root

%wheel ALL = (root) /bin/mount, /bin/umount

 

6. тоже самое, но может выполнять без запроса пароля

%wheel ALL = (root) NOPASSWD: /bin/mount, /bin/umount

 

7. для пользователей, входящих в группу whell на всех хостах запретить выполнять указанные команды (mount) от имени пользователя root

%wheel ALL = (root) NOEXEC /bin/mount

 

  

chmod - права доступа на файлы

chmod [опции] права /путь_к_файлу

Основные опции
-R – рекурсивно
-c - подробный вывод выполненных действий
-f – не выводить ошибки

Права в буквенном виде

r – чтение,
w – запись,
x – выполнение (для каталога x - это возможность зайти в него и выполнить действие),
s - выполнение от имени суперпользователя

Права в цифровом виде
0 (---) - никаких прав;
1 (--x) - только выполнение;
2 (-w-) - только запись;
3 (-wx) - выполнение и запись;
4 (r--) - только чтение;
5 (r-x) - чтение и выполнение;
6 (rw-) - чтение и запись;
7 (rwx) - чтение запись и выполнение.

Категории пользователей
u - владелец файла
g - группа файла
o - все остальные пользователи


Примеры использования

1. Добавить права пользователю и группе на чтение на file
2. Для группы и остальных убрать права на запись и выполнение file
3. Назначить для file следующие права: владелец - rwx, группа - rx, остальные - ничего.
4. Добавить права на все файлы в каталоге /file/ и его подкаталогах на чтение, запись, выполнение для всех пользователей и групп
5. Для всех файлов каталога /file/ и его подкаталогов выдать права на чтение только для владельца с подробным выводом изменений

1. #chmod ug+r /file
2. #chmod go-wx /file
3. #chmod 750 /file
4. #chmod -R ugo+rwx /file/* (елси убрать *, то изменятся права и на каталог)
5. #chmod -Rс 400 /file/*

 

chown - изменение владельца или группы у файла

chown [опции] пользователи /файл

Основные опции

- подробный вывод выполенных действий

-f - игнорировать ошибки

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

-R - рекурсивная обработка всех подкаталогов

-L - переходить по всем символическим ссылкам на директории

 


Примеры использования

1. Изменить владельца на Sergey у файла /tmp/file
2. Изменить группу на home у файла /tmp/file
3. Изменить владельца на Sergey и группу на home у файла /tmp/file 
4. Изменить владельца и группу на Vasya каталога /tmp у тех подкаталогов и файлов, у которых владелец root (подробный вывод действий) 

1. #chown Sergey /tmp/file
2. #chown :home /tmp/file
3. #chown Sergey:home /tmp/file
4. #chown -Rc --from root Vasya:Vasya /tmp

 

 

SUID и SGID - специальные права доступа

 SUID (Set User ID root) и SGID (Set Group ID root) - позволяют обычным пользователям запускать программы, требующие для своего запуска привелегий пользователя root.

 

Установить специальные права доступа для демона pppd (для пользователя и группы)

#chmod u+s /usr/sbin/pppd
#chmod g+s /usr/bin/pppd

 

Найти все файлы с битом s для пользователей:

#find / -user root -perm -u=s -type f

 

 

chattr - дополнительные атрибуты файлов на уровне файловой системы, не зависимо от стандартных (чтение, запись, выполнение)

 

chattr [опции] [оператор][атрибуты] файлы

Основные опции:
-R - рекрусивная обработка каталога;
-V - максимально подробный вывод;
-f - игнорировать сообщения об ошибках;
Основные атрибуты:
-a - в файл можно будет только добавить информацию;
-A - не обновлять время перезаписи;
-i - неизменяемый файл (read only);


Примеры использования

#chattr +i /etc/passwd - защитить файл passwd от перезаписи (файл будет read only)
#chattr -a /etc/passwd - снять атрибут а у файла passwd

 


Просмотр информации о дополнительных атрибутах файла

 lsattr путь_к_файлу