Tag Archive for 'администрирование'

FreeBSD: Как посмотреть класс пользователя?

Самый быстрый и простой способ посмотреть класс пользователя - команда

pw  user show ИМЯ_ПОЛЬЗОВАТЕЛЯ -P

Результат работы:

plesk# pw  user show nm -P
Login Name: nm                #10003        Group: wheel             #0
Full Name: Gaspar
Home: /home/nm                        Class: russian
Shell: /bin/tcsh                      Office: [None]
Work Phone: [None]                    Home Phone: [None]
Acc Expire: [None]                    Pwd Expire: [None]
plesk#

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

chfn ИМЯ_ПОЛЬЗОВАТЕЛЯ

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

FreeBSD: Автозапуск пользовательских скриптов

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

Самый простой способ для этого - воспользоваться системой cron.

cron и crontab

Для редактирования файла cron от имени пользователя набираете команду

crontab -e

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

Добавляете туда строчку

@reboot /путь/к/вашему/скрипту

Этого достаточно, чтоб скрипт был бы запущен во время перезагрузки системы. Правда, если сам демон cron выключен - это не сработает :)

Предыдущая запись: FreeBSD: добавление программы в автозапуск

Приглашаются авторы на Unixmastera.ru. Покажи на что ты способен - напиши совет сам :)

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

FreeBSD: добавление программы в автозапуск

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

Добавляем в /etc/rc.local

Скрипт /etc/rc.local (его нет по умолчанию на системе, но его можно создать) выполняется после выполения всех оставшихся скриптов запуска системы.

Из него можно запускать свои процессы и програмы. Просто допишите путь к выполнямому файлу.

Добавляем в /usr/local/etc/rc.d

Новый стиль скриптов

Сейчас FreeBSD поддерживает два стиля скриптов запуска - новый и старый. Для скриптов с новым стилем в тексте shell скрипта обязательно должны просутствовать строчки

# PROVIDE:  your_service_name

Вы можете указать еще и зависимости - то есть какие сервисы должны быть запущены перед тем, как будет запущен ваш скрипт - но это уже тема отдельного разговора о новой системе запуска скриптов rcorder. Вы должны сделать файл скрипта выполняемым (chmod 755 имя_файла).

Старый стиль

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

Запретить? Всегда пожалуйста

Если вы хотите поместить в директорию /usr/local/etc/rc.d файл, который будет служить просто примером - и не будет выполняться - тогда назначьте ему расширение .sample

Все для root, ничего себе!

Все предыдущие методы годились для пользователя root, который решил добавить файл в автозапуск.

Что же делать обыкновенным пользователям, которые тоже хотят запускать какие-то скрипы после запуска машины?

Об этом мы поговорим в следующем посте FreeBSD:Автозапуск пользовательских скриптов

Приглашаются авторы на Unixmastera.ru. Покажи на что ты способен - напиши совет сам :)

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

FreeBSD: сборка пакетов из портов с зависимостями

Как собрать пакеты со всеми зависимостями?

В комментариях у меня прозвучал вопрос - а как собрать пакеты, с зависимостями, да так, чтоб не пересобирались бы уже готовые пакеты. (FreeBSD: Создание пакета из порта)

Итак - это потребовало 15 минут времени и вот такого скрипта:

Сохраните этот файл, как pkg_create_recurse - потому что скрипт рекурсивно вызывает сам себя :)


#!/bin/sh

trap “if [ -r .building.name ]; then cat .building.name | sed ’s/.*/&.tgz &.tbz &.tar.gz/’ | xargs rm -f; fi; exit” int

PKGS=$*

for PKG in $PKGS; do
FULLNAME=`pkg_info -xE “^$PKG” | head -n 1`

if [ -r $FULLNAME.tgz -o -r $FULLNAME.tbz -o -r $FULLNAME.tar.gz ]; then
echo “skipping $FULLNAME for $PKG”
else
echo -n $FULLNAME > .building.name
echo “building $FULLNAME for $PKG”
pkg_create -b $FULLNAME
rm .building.name
fi

# rebuild any dependency, even if package exists
DEPEND=`pkg_info -r $FULLNAME | grep ‘Dependency:’ | cut -d’ ‘ -f2`

[ -z "$DEPEND" ] || echo “building dependency ” $DEPEND
[ -z "$DEPEND" ] || ./pkg_create_recurse $DEPEND
done

# vim: ts=4

Приглашаются авторы на Unixmastera.ru. Покажи на что ты способен - напиши совет сам :)

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

FreeBSD: смена пароля пользователя

Как поменять пароль, если вы не суперпользователь root?

Для этого существует команда passwd. Она запросит старый пароль, а потом новый и подтверждение нового пароля.

Как поменять пароль, будучи root?

passwd имя_пользователя

меняет пароль данного пользователя, не спрашиваю старого пароля.

Как заблокировать пользователя?

Самый простой способ - это отредактировать файл /etc/passwd. Запускаете

chpass имя_пользователя

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

То есть

Password: $1$0p97EnFA$Vfj56ZC43BDRhac11866r/

меняется на

Password: *$1$0p97EnFA$Vfj56ZC43BDRhac11866r/

Этого достаточно чтоб заблокировать вход пользователя.

СМЕНА ПАРОЛЯ ПОЛЬЗОВАТЕЛЯ НЕ ПОМОЖЕТ, если настроен доступ по ssh ключам - читайте в следующих постах.

Приглашаются авторы на Unixmastera.ru. Покажи на что ты способен - напиши совет сам :)

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Linux: Как посмотреть количество открытых файлов

Linux: lsof покажет открытые файлы

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

Соответственно, для подсчета количества

lsof | wc -l

Для подсчета количества по для одного процесса, скажем firefox

lsof | grep firefox | wc -l

Посчитать и найти, кто использует больше всего

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

lsof | awk '\!/^COMMAND.*PID/ {usage[$1]++} END {for (idx in usage) { print usage[idx] ” ” idx; }}’ | sort -n

Для разбивки по PID можно запустить следующую команду:

lsof | awk '\!/^COMMAND.*PID/ {usage[$2 " " $1]++} END {for (idx in usage) { print usage[idx] ” ” idx; }}’ | sort -n

(первая колонка - количество открытых файлов, вторая колонка - PID процесса)

А вот так можно посмотреть  количество открытых файлов в Linux :) Тоже ничего сложного :)

Приглашаются авторы на Unixmastera.ru. Покажи на что ты способен - напиши совет сам :)

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

FreeBSD: Как посмотреть количество открытых файлов

FreeBSD: fstat посмотреть открытые файлы

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

Соответственно, для подсчета количества
fstat | wc -l

Для подсчета количества по для одного процесса, скажем firefox
fstat | grep firefox | wc -l

Посчитать и найти, кто использует больше всего

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

fstat | awk '\!/^USER.*CMD.*PID/ {usage[$2]++} END {for (idx in usage) { print usage[idx] ” ” idx; }}’ | sort -n

Для разбивки по PID можно запустить следующую команду:

fstat | awk '\!/^USER.*CMD.*PID/ {usage[$3 " " $2]++} END {for (idx in usage) { print usage[idx] ” ” idx; }}’ | sort -n

(первая колонка - количество открытых файлов, вторая колонка - PID процесса)

Вот так и можно посмотреть в FreeBSD количество открытых файлов :) Ничего сложного :)

Приглашаются авторы на Unixmastera.ru. Покажи на что ты способен - напиши совет сам :)

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

FreeBSD: Как сменить группу пользователя

Ничего более легкого :)

Заходите суперпользователем root

Набираете

chsh имя_пользователя

Откроется вот такой экран:

#Changing user information for maxftp.
Login: maxftp
Password: $1$AqlXKJWr$IpheG42fnWLuqyGAqTLwU1
Uid [#]: 1001
Gid [# or name]: 80
Change [month day year]:
Expire [month day year]:
Class:
Home directory: /data/www-root/domain.info/htdocs
Shell: /sbin/ftpnologin
Full Name: User &
Office Location:
Office Phone:
Home Phone:
Other information:

Вместо 80 - это номер группы, которая присвоена пользователю сейчас. В это поле впишите текст - название или ID уже существующей группы, которую нужно присвоить пользователю.

Выходите из редактора - и все, изменения сохранятся в /etc/passwd файл.

Если это вторичная группа - то еще легче - отредактируйте файл /etc/group

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).