LINUX.ORG.RU

Ответ на: комментарий от vlb

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

MrSullex
() автор топика
Ответ на: комментарий от MrSullex

но не думаю что с помощью нее можно задать лимиты. период да, а про лимиты ничего нет.

http://linux.die.net/man/8/setquota

setquota [ -rm ] [ -u | -g ] [ -F quotaformat ] name block-softlimit block-hardlimit inode-softlimit inode-hardlimit -a | filesystem...

На всякий случай: http://storage5.static.itmages.ru/i/15/1227/h_1451236969_8763955_73206d96a7.png

viewizard ★★
()
Ответ на: комментарий от viewizard

а можете пожалуйста составить пример команду? допустим для пользователя test мне нужно задать 50М soft и hard лимита?

MrSullex
() автор топика
Ответ на: комментарий от viewizard

все,я понял как. спасибо огромное за помощь!

MrSullex
() автор топика
Ответ на: комментарий от MrSullex

на точку монтирования:
setquota -u test 50M 50M 0 0 /mnt/point
на девайс:
setquota -u test 50M 50M 0 0 /dev/sdc1

Но смысла в одинаковой софт и хард квоте нет, софт должна быть больше (в этом ее смысл - давать на время больше чем жестко ограничено), в вашем примере ее можно не задавать (ставить 0 вместо 50M).
setquota -u test 0 50M 0 0 /mnt/point

Апд.: Пока писал, вы разобрались. Это хорошо. :-)

viewizard ★★
()
Последнее исправление: viewizard (всего исправлений: 1)
Ответ на: комментарий от viewizard

Еще, чтобы не создавать новую тему. Не подскажите, как сделать, чтобы если пользователь не ввел информацию в диалоговом окне, то его все равно просило ввести, а не отправлялась пустая переменная? Пытался сделать что-то на подобие if (! $pass) но не срабатывает.

Вот код

echo -n "Введите ваш root пароль и нажмите [ENTER]: "
read pass
MrSullex
() автор топика
Ответ на: комментарий от MrSullex

Очевидно, вам надо использовать цикл while и проверять есть ли в переменной какой-то текст. Например:

while [ -n "$pass" ]
do
  echo -n "Введите ваш root пароль и нажмите [ENTER]: "
  read pass
done
За работу кода естественно не ручаюсь, это чистый поток сознания... но идея, я думаю, понятна - задавать в цикле вопрос пока не дадут данные.

Дополнение: По квоте, я похоже опять напутал принцип работы хард-софт, давно уже не тыкал их. В общем, всегда сверяйтесь с первоисточниками - лору веры нет! =) И при использовании софт квоты, обязательно проверьте идет ли пользователям уведомление (обычно это надо настраивать, если создатели дистра не решили этот вопрос за вас), иначе софт квота по истечении времени просто станет хард, и пользователи очень удивятся.

viewizard ★★
()
Ответ на: комментарий от viewizard

спасибо,но вот что выдает код

test.sh: 4: test.sh: Syntax error: "done" unexpected (expecting "do")

MrSullex
() автор топика
Ответ на: комментарий от MrSullex

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

while [ "$pass" == "" ]

viewizard ★★
()
Ответ на: комментарий от viewizard

Теперь

while [ "$pass" == "" ]
do
  echo -n "Введите ваш root пароль и нажмите [ENTER]: "
  read pass
done

Выдает

test.sh: 2: [: unexpected operator
MrSullex
() автор топика
Ответ на: комментарий от viewizard

все, снова исправил. убрал одно = . все работает, спасибо)

MrSullex
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.