Ssh сменить владельца файла

Обновлено: 04.07.2024

man ИмяКоманды — помощь по работе с командой

Пример: man find — выведет информацию о команде find

Выход из мануала через ssh-клиент — клавиша «Pause/Break»

Команды с файлами

ls — список файлов и каталогов

ls -al — форматированный список со скрытыми каталогами и файлами

ls -lia — вывод списка всех файлов и папок в текущей директории отсортированных по алфавиту с отображением размеров директорий и файлов.

cd dirname — сменить директорию на dirname (cd — change directory)

— смена директории на домашний каталог, а также команда без «

» (тильды) делает то же самое в большинстве шелов

pwd — показать текущий каталог

— показать каталог для текущего пользователя

mkdir dir — создать каталог dir

rm file — удалить file

rm -r dir — удалить каталог dir

rm -f file — удалить форсированно file

rm -rf dir — удалить форсированно каталог dir * (без вопросов удалит каталог и все что в нем хранится)

Резервное удаленное копирование данных между двумя шеллами (ssh)

Опции rsync:
-a режим архива, при использовании заменяет несколько ключей (-rlptgoD)
-r рекурсивно. Копирует все файлы, включая вложенные каталоги
-l при копировании сохраняет символические ссылки
-p сохраняет права на файлы
-t сохраняет время изменения файлов
-g сохраняет группу файлов
-o сохраняет владельца файлов (работает только из под root)
-D сохраняет файлы устройств и специальны файлы
-v показывает название файлов при копировании
-z сжатие файлов при копировании
-e ssh использовать при копировании ssh
—progress показывает прогресс выполнения копирования
—bwlimit=KBPS ограничивает скорость передачи файлов

cp file1 file2 — скопировать file1 в file2

cp -r dir1 dir2 — скопировать dir1 в dir2; так же создаст каталог dir2, если его не существует

cp -rp dir1 dir2 — скопировать dir1 в dir2; так же создаст каталог dir2, если его не существует и оставит все прежние права старой папки

mv file1 file2 — переименовать или переместить file1 в file2. если file2 существующий каталог — переместить file1 в каталог file2

ln -s file link — создать символическую ссылку link к файлу file

touch file — создать file

more file — вывести содержимое file

head file — вывести первые 10 строк file

tail file — вывести последние 10 строк file

tail -f file — вывести содержимое file по мере роста, начинает с последних 10 строк

view file — вывести файл на экран

Процессы

ps — вывести ваши текущие активные процессы

ps -aux — вывести все процессы (от рута)

top — показать все запущенные процессы

kill pid — убить процесс с id pid

killall proc — убить все процессы с именем proc

bg — список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне

fg — выносит на передний план последние задачи

fg n — вынести задачу n на передний план

Процессы и сервисы

netstat -nlp — смотрим какие порты открыты

netstat -tulpn | grep :80 — смотрим что занимает 80 порт

fuser 7000/tcp — найти PID процессов открывших 7000-й tcp порт

ls -l /proc/3813/cwd — Найти текущий рабочий каталог процесса bittorrent или pid 3813

pwdx 3813 — тоже самое что и «ls -l /proc/3813/cwd»

ps aux | grep 3813 — узнать владельца процесса с PID 3813

lsof -i :80 — что висит на 80 порту

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

chown root /filename — смена владельца файла/директории /filename на root

chown root:group /filename смена владельца файла/директории /filename на root и смена группы на group

chown -hR root /filename смена владельца файла/директории /filename на root и всех находящихся в ней файлов на root

Дополнительные опции: man chown.

chmod user file — сменить права file на user, раздельно для пользователя, группы и для всех добавлением:

? 1 — исполнение (x) Примеры:

chmod 777 — чтение, запись, исполнение для всех (потенциальная угроза безопасности)

chmod 755 — rwx для владельца, rx для группы и остальных.

chmod -R 755 ./folder — смена прав для файлов в директории и её поддиректориях

Дополнительные опции: man chmod.

SSH

ssh user@host — подключится к host как user

ssh -p port user@host — подключится к host на порт port как user

ssh-copy-id user@host — добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам

Поиск

grep pattern files — искать pattern в files

grep -r pattern dir — искать рекурсивно pattern в dir

command | grep pattern — искать pattern в выводе command

locate file — найти все файлы с именем file

find | grep text — найти текст text во всех файлах текущей директории

find / -name vasy\* — найти файлы и папки с названием vasy*

grep -rl ‘что_ищем’ /путь — найти файлы в теле которых ‘что_ищем’

Системная информация

date — вывести текущую дату и время

cal — вывести календарь на текущий месяц

uptime — показать текущий аптайм

w — показать пользователей онлайн

whoami — имя, под которым вы залогинены

finger user — показать информацию о user

cat /proc/cpuinfo — информация ЦПУ

cat /proc/meminfo — информация о памяти

man command — показать мануал для command

df — показать инф. о использовании дисков

du — вывести «вес» текущего каталога

du -sh cколько весит папка?

du -sh * | less -F сколько весят папки и файлы директории для просмотра длинного списка

du -shm *| sort -nr | less -F сколько весят папки и файлы директории показ в Мб и сортировка по уменьшению для просмотра длинного списка

free — использование памяти и swap

unamе -a — информация о ядре

whereis app — возможное расположение программы app

which app — какая app будет запущена по умолчанию

Архивация

tar cf file.tar files — создать tar-архив с именем file.tar содержащий files

tar xf file.tar — распаковать file.tar

tar czf file.tar.gz files — создать архив tar с сжатием Gzip

tar xzf file.tar.gz — распаковать tar с Gzip

tar cjf file.tar.bz2 — создать архив tar с сжатием Bzip2

tar xjf file.tar.bz2 — распаковать tar с Bzip2

gzip file — сжать file и переименовать в file.gz

gzip -d file.gz — разжать file.gz в file

Сеть

ping host — пропинговать host и вывести результат

whois domain — получить информацию whois для domain

dig domain — получить DNS информацию domain

dig -x host — реверсивно искать host

wgеt file — скачать file

wgеt -c file — продолжить остановленную закачку

ifconfig — вывод сетевых интерфейсов и подключений

ifconfig -a — Отображение всех интерфейсов, включая отключенные

ifconfig eth0 down — выключаем интерфейс eth0

ifconfig eth0 up — поднимаем (включаем) интерфейс eth0

Установка пакетов

Установка из исходников:

Установка собранных пакетов:
dpkg -i pkg.deb — установить пакет (Debian, Ubuntu)

rpm -Uvh pkg.rpm — установить пакет (RPM RedHatm CentOS)

Автоматизация работы

cron — выполнение заданной команды в определенное время

Клавиатурные сочетания

Ctrl+C — завершить текущую команду

Ctrl+Z — остановить текущую команду, продолжть с fg на переднем плане или bg в фоне

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

При создании файла ему тот пользователь, от имени которого он был создан становится его владельцем, а группой устанавливается основная группа владельца. Но владельца файла и группу можно менять, для этого используются команды chown и chgrp. В этой статье будет рассмотрена команда chown linux, а также основные примеры её использования.

Команда chown Linux

1. Синтаксис и опции

Синтаксис chown, как и других подобных команд linux очень прост:

$ chown пользователь опции /путь/к/файлу

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

Утилита имеет ещё несколько опций, но это самые основные и то большинство из них вам не понадобится. А теперь давайте посмотрим как пользоваться chown.

2. Использование chown

Например, у нас есть несколько папок dir и их владелец пользователь sergiy:

Давайте изменим владельца папки dir1 на root:

chown root ./dir1

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

chown root:root ./dir2

Если вы хотите чтобы изменения применялись не только к этому каталогу, но и ко всем его подкаталогам, добавьте опцию -R:

chown -R root:root ./dir3

Дальше давайте изменим группу и владельца на www-data только для тех каталогов и файлов, у которых владелец и группа root в каталоге /dir3:

chown --from=root:root www-data:www-data -cR ./

Для обращения к текущему каталогу используйте путь ./. Мы его использовали и выше. Далее указываем нужную группу с помощью опции --from и просим утилиту выводить изменения, которые она делает в файловой системе с помощью опции -c.

Выводы

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

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

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

Подключение по SSH возможно на всех тарифных планах виртуального хостинга, кроме тарифа «Host-Lite». Если у вас заказан тарифный план «Host-Lite», повысьте тариф, и у вас появится возможность соединения по SSH Как повысить тарифный план хостинга.

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

Как подключиться к серверу по SSH

В зависимости от операционной системы, установленной на вашем домашнем компьютере (не путайте с ОС хостинга), для SSH подключения к серверу Linux-хостинга возможны следующие варианты:

  • если на вашем компьютере установлена ОС Windows, то подключение происходит через Putty,
  • для ОС Linux и macOS на компьютере доступно подключение к SSH через терминал.

Подключение по SSH Windows:

На странице с основными настройками сеанса PuTTY, в поле «Host Name» введите IP-адрес сервера.

подключение по ssh шаг

подключение по ssh шаг 2

Если вы уже делегировали домен на сервер, вместо IP-адреса можно указать домен. Также в качестве хоста можно использовать технологический домен.

При первом подключении к серверу появится окно «Предупреждение безопасности PuTTY». Нажмите Да:

подключение по ssh шаг 3

В открывшемся окне PuTTY введите ваш логин услуги хостинга вида «u1234567». Нажмите Enter. Затем введите ваш пароль от услуги хостинга и нажмите Enter. В целях безопасности вводимый пароль не отображается на экране в виде символов. Набирая пароль, вы не увидите на экране ни самого пароля, ни звёздочек.

Чтобы вставить скопированный логин и пароль в окно PuTTy, нажмите Shift + Insert.


Важно: если вы несколько раз подряд ввели неправильный пароль и сервер заблокировал соединение по SSH (если PuTTY не подключается по SSH), обратитесь в техническую поддержку или подождите 2 часа. По истечении этого времени блокировка снимается автоматически.

подключение по ssh шаг 4

Готово, как только вы подключитесь по SSH, вы окажетесь в домашнем каталоге вашего хостинга. Консольные команды Linux представлены по ссылке. Обратите внимание: многие из этих команд выполнить на виртуальном хостинге не получится (установка и удаление пакетов, монтирование файловых систем и др.), так как у вас нет root-доступа.

Для ОС Linux доступ по SSH осуществляется через терминал, который уже предустановлен в самой системе.

  • в Unity (Ubuntu): «Главное меню» — в поисковой строке введите слово «Терминал». Либо просто нажмите комбинацию клавиш: Ctrl+Alt+T,
  • в Xfce (Xubuntu): «Главное меню» — «Приложения» — «Система» — «Терминал»,
  • в KDE (Kubuntu): «Главное меню» — «Приложения» — «Система» — «Терминал».
  • u1234567 — логин учётной записи хостинга (Как узнать логин и пароль услуги хостинга?,
  • 123.123.123.123 — IP-адрес сервера (Как узнать IP-адрес сервера?).
Нажмите Enter, введите пароль услуги хостинга.

Готово, вы успешно завершили SSH-подключение через терминал.

Запустите терминал. Для этого нажмите Cmd + Пробел, введите в поисковой строке Терминал и нажмите Enter.

Нажмите Enter.

Если подключение к устройству происходит впервые, то появится предупреждение о том, что ключ сервера не кешируется в реестре. Введите Yes и нажмите Enter:

Как зайти по SSH на macOS

Введите пароль учетной записи.

Обратите внимание, в целях безопасности пароль, который вы вводите, не отображается на экране ни в виде самого пароля, ни в виде звёздочек:

Как зайти по SSH на macOS 2

Готово, вы подключились к виртуальному серверу по SSH. Чтобы сбросить подключение, введите команду exit или закройте терминал.

Можно ли создать дополнительного SSH-пользователя

На Hosting Linux подключение по SSH возможно только под основным логином хостинга (вида u1234567). Создать дополнительного пользователя SSH нельзя.

Как отключить доступ по SSH

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

Как создать архив по SSH

Создание архива tar.gz

  • Данная команда создаст архив папки path/folder-name/. Название архива — name.tar.gz,
  • все файлы будут сжаты при помощи gzip,
  • в процессе создания архива будет показан процесс архивации. Если данная информация вам не нужна, уберите ключ «v» из команды.

Разархивация происходит при помощи команды:

Создание архива zip

В результате команды из примера будет создан архив папки /var/log со всем её содержимым. Имя созданного архива: log.zip. Разархивировать можно будет при помощи команды:

Как создать или удалить папку по SSH

Чтобы создать папку, подключитесь к серверу по SSH и используйте команду:

Где new_folder_name — имя создаваемой папки.

После подключения по SSH удалить папку можно с помощью команды:

Где folder_name — имя удаляемой папки. Ключ —r делает рекурсивное удаление, то есть удаляет папку со всеми вложенными в неё папками и файлами.

Как изменить права на файлы и папки по SSH

Чтобы настроить права доступа к отдельному файлу:

Где /var/www/file_name — полный путь до вашего файла (/полный-путь-до-корневой-папки-сайта/сам-файл).

Готово, права на файлы/папки будут изменены.

Чтобы рекурсивно настроить доступ ко всем папкам и файлам на вашем сайте:

Где dir_name — полный путь до корневой папки сайта (Как узнать корневую папку сайта?).

Первая команда изменит права для всех директорий внутри указанной на 755. Вторая — для файлов внутри указанной директории на 644.

Готово, права на файлы/папки будут изменены.

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

А затем назначить права 755 только на папки:

Где dir_name — полный путь до корневой папки сайта (Как узнать корневую папку сайта?).

Как запустить Midnight Commander

Midnight Commander — это файловый менеджер.

Чтобы его запустить:

Введите в консоли mc в консоли и нажмите Enter.

Как использовать кириллицу в терминале Linux

Если у вас ОС Linux, то при подключении к серверу по SSH вы можете использовать в терминале не только латиницу, но и кириллицу.

Если вы хотите использовать кириллицу в течение одного сеанса SSH, то после подключения введите в терминале команду:

Если вы хотите использовать кириллицу постоянно, то нужно внести изменения файл в .bashrc. Для этого после подключения по SSH:


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

покажет сколько занято всего
df -i

покажет сколько файлов в определенных папках
ls -R /var/www/*/data/mod-tmp | wc -l

удалить файлы

find /var/www/*/data/mod-tmp -name "sess_*" -type f -exec rm <> ;

информация о свободном месте на дисках
df
или (в гигабайтах)
df -h
или (в мегабайтах)
df -m

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

Можно с сортировкой по размеру (в байтах)cd /var && du -sk * | sort -rn


свободная память и загрузка процессора
vmstat

различные параметры за последние сутки
sar

отобазить список папок и файлов текущего каталога
ls

сменить папку на xx_dir
cd xx_dir

показать текущее местоположение
pwd

перегрузить сервер
reboot

запуск apache
apachectl startssl

остановка apache
apachectl stop

перезапуск mysql
/usr/local/etc/rc.d/mysql-server restart

посмотреть свободную память
free -m

mysqldump -u имя_пользователя_БД -pпароль_пользователя_БД имя_бд > /полный/путь/дамп.sql - создание дампа дамп.sql

mysql -u имя_пользователя_БД -pпароль_пользователя_БД -D имя_бд < /полный/путь/дамп.sql - заливка дампа дамп.sql в базу данных mysql

cd /путь/ - перейти в каталог /путь/

Как массово сменить права на файлы в разных папках через ssh
chmod -R xxx file
где -r — рекурсивно, т.е. включая все папки и файлы в указанной папке
ххх = набор прав для доступа к файлу/папке (0555, 0777 и пр.)
file = папка или файл. Для смены массово прав по всему домену нужно в данном случае указывать именно самую верхнуюю папку (/published/ или /www/ и т.д.)
Примеры:

проставить права 644 только на файлы:
find /path/to/dir -type f -exec chmod 0644 <> ;
проставить права 755 только на каталоги:
find /path/to/dir -type d -exec chmod 0755 <> ;

man ИмяКоманды — помощь по работе с командой
Пример: man find — выведет информацию о команде find
Выход из мануала через ssh-клиент — клавиша «Pause/Break»

ls — список файлов и каталогов
ls -al — форматированный список со скрытыми каталогами и файлами
ls -lia — вывод списка всех файлов и папок в текущей директории отсортированных по алфавиту с отображением размеров директорий и файлов.
cd dirname — сменить директорию на dirname (cd — change directory)
cd

— смена директории на домашний каталог, а также команда без «

» (тильды) делает то же самое в большинстве шелов
pwd — показать текущий каталог
pwd

ps — вывести ваши текущие активные процессы
ps -aux — вывести все процессы (от рута)
top — показать все запущенные процессы
kill pid — убить процесс с id pid
killall proc — убить все процессы с именем proc
bg — список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне
fg — выносит на передний план последние задачи
fg n — вынести задачу n на передний план

chown root /filename — смена владельца файла/директории /filename на root
chown root:group /filename смена владельца файла/директории /filename на root и смена группы на group
chown -hR root /filename смена владельца файла/директории /filename на root и всех находящихся в ней файлов на root
Дополнительные опции: man chown.
chmod user file — сменить права file на user, раздельно для пользователя, группы и для всех добавлением:
? 4 — чтение (r)
? 2 — запись (w)
? 1 — исполнение (x) Примеры:
chmod 777 — чтение, запись, исполнение для всех (потенциальная угроза безопасности)
chmod 755 — rwx для владельца, rx для группы и остальных.
Дополнительные опции: man chmod.

ssh user@host — подключится к host как user
ssh -p port user@host — подключится к host на порт port как user
ssh-copy-id user@host — добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам

grep pattern files — искать pattern в files
grep -r pattern dir — искать рекурсивно pattern в dir
command | grep pattern — искать pattern в выводе command
locate file — найти все файлы с именем file
find | grep text — найти текст text во всех файлах текущей директории
find / -name vasy* — найти файлы и папки с названием vasy*

grep -rl ‘что_ищем’ /путь — найти файлы в теле которых ‘что_ищем’

date — вывести текущую дату и время
cal — вывести календарь на текущий месяц
uptime — показать текущий аптайм
w — показать пользователей онлайн
whoami — имя, под которым вы залогинены
finger user — показать информацию о user
cat /proc/cpuinfo — информация ЦПУ
cat /proc/meminfo — информация о памяти
man command — показать мануал для command
df — показать инф. о использовании дисков
du — вывести «вес» текущего каталога
du -sh cколько весит папка?
free — использование памяти и swap
unamе -a — информация о ядре
whereis app — возможное расположение программы app
which app — какая app будет запущена по умолчанию

tar cf file.tar files — создать tar-архив с именем file.tar содержащий files
tar xf file.tar — распаковать file.tar
tar czf file.tar.gz files — создать архив tar с сжатием Gzip
tar xzf file.tar.gz — распаковать tar с Gzip
tar cjf file.tar.bz2 — создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 — распаковать tar с Bzip2
gzip file — сжать file и переименовать в file.gz
gzip -d file.gz — разжать file.gz в file

Установка из исходников:
./configure
make
make install
Установка собранных пакетов:
dpkg -i pkg.deb — установить пакет (Debian, Ubuntu)
rpm -Uvh pkg.rpm — установить пакет (RPM RedHatm CentOS)

cron — выполнение заданной команды в определенное время
ps aux |grep 'part_of_the_name_of_your_script'|awk '' |xargs kill -9 <> - убить все процессы скрипта, где part_of_the_name_of_your_script - часть его имени

Ctrl+C — завершить текущую команду
Ctrl+Z — остановить текущую команду, продолжть с fg на переднем плане или bg в фоне
Ctrl+D — разлогиниться, тоже самое, что и exit
Ctrl+W — удалить одно слово в текущей строке
Ctrl+U — удалить строку
!! — повторить последнюю команду
exit — выход

Читайте также: