Comm
- 4 mins read
stat -c “%a %n” file.txt # права в числах
Права на пользовательском уровне
chown user file.txt # смена владельца
chown user:group file.txt # владелец + группа
chgrp devs file.txt # смена группы
chmod 644 file.txt # права доступа
umask # дефолтные права создания файлов
umask 022 # файлы 644 / папки 755
umask -S # human-readable
Root и повышение прав
sudo command # выполнить от root
sudo -i # root shell
su - # переключиться на root
visudo # редактирование sudoers (ОЧЕНЬ ВАЖНО)
Диагностика
Проверка прав файла
ls -l file.txt # rwx права + владелец
stat file.txt # полная информация
stat -c "%a %U %G %n" file.txt # права + user + group
namei -l /path/to/file # проверка ВСЕГО пути (очень важно)
Проверка пути к файлу
ls -ld /path # права каталога
ls -ld /path/to # каждый уровень отдельно
# 🔥 ключевой момент: x нужен (execute) на КАЖДОМ каталоге пути
Проверка доступа как ‘System’
sudo -u user test -r file.txt # может ли user читать файл
sudo -u user test -w file.txt # может ли писать
sudo -u user test -x file.sh # может ли выполнять
sudo -u user cat file.txt # попытка доступа от другого пользователя
ACL (если есть расширенные права)
apt install acl # Debian/Ubuntu. Иначе команды getfacl/setfacl могут не работать
getfacl file.txt # ACL права
setfacl -m u:user:r file.txt # добавить ACL
setfacl -m g:group:rx file.txt # ACL группе
setfacl -b file.txt # убрать ACL
SUDO / ROOT ПРОВЕРКА
sudo -l # что разрешено через sudo
sudo -v # проверить доступ sudo
visudo # правила sudo (опасно редактировать)
sudo -l -U user # проверка sudo прав пользователя
SYSTEMD (SERVICE DEBUG)
systemctl status nginx -l # подробный статус
systemctl is-active nginx # работает ли сервис
systemctl is-enabled nginx # автозапуск
systemctl restart nginx
systemctl reload nginx
journalctl -u nginx -f # live логи сервиса
journalctl -u nginx -xe # ошибки сервиса
Процессы и доступ
ps aux | grep process # кто запустил процесс
lsof file.txt # кто держит файл открытым
lsof -i :80 # кто занимает порт
ss -ltnp # открытые listening порты
which command # проверка прав выполнения команды
type command # тоже
Проверка диска
df -h
df -i # inode usage (очень важно!)
du -sh *
lsblk
mount | column -t # что куда смонтировано
Системные логи (часто причина отказа)
journalctl -xe # ошибки доступа
dmesg | tail # kernel-level ошибки
Некоторые команды могут потребовать прав суперпользователя (sudo)
Поиск
Поиск файлов и каталогов
find . -name "file.txt" # поиск по имени
find . -type f -name "*.log" # только файлы
find . -type d -name "nginx" # только каталоги
find /var -size +100M # по размеру
find . -mtime -1 # изменённые за 1 день
find . -perm 644 # по правам
find . -user root # по владельцу
locate file.txt # быстрый поиск по базе, locate работает если установлен и проиндексирован
updatedb # обновить базу locate
fd "file.txt" # современная замена find
fd ".log" # поиск логов
fd nginx /etc # поиск в каталоге
Поиск внутри файлов
grep "text" file.txt # поиск строки
grep -r "text" . # рекурсивно
grep -i "text" file.txt # без регистра
grep -n "text" file.txt # с номерами строк
grep -l "text" *.log # показать только файлы
grep -v "text" file.txt # исключить совпадения
rg "text" # ripgrep (быстрее grep)
rg -i "error" . # рекурсивно без регистра
rg "main" src/ # поиск в коде
ack "text" # альтернатива grep
Поиск команд и программ
which python # путь к бинарнику
whereis nginx # бинарник + docs
type ls # тип команды
command -v python # POSIX вариант
Поиск процессов
ps aux | grep nginx # через ps
pgrep nginx # PID по имени
pidof nginx # PID программы
ps aux | grep nginx # в live режиме
htop # интерактивный поиск
Поиск сетевых соединений и портов
ss -tulnp # открытые порты
ss -tulnp | grep 80 # поиск порта
lsof -i :80 # кто использует порт
lsof -u user # файлы пользователя
Поиск по системе и логам
journalctl -u nginx # логи сервиса
journalctl | grep error # поиск в логах
systemctl list-units | grep nginx # поиск сервисов
dmesg | grep error # kernel логи
Поиск в истории и окружениии
history | grep ssh # поиск в истории
env | grep PATH # переменные окружения
Интерактивный поиск
fzf # универсальный интерактивный поиск
find . | fzf # поиск файлов через интерфейс
history | fzf # поиск команд
ps aux | fzf # поиск процессов