Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Пользовательский crontab не редактируется без sudo  (Прочитано 1990 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн gugglegum

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Помогите справиться с проблемой. Раньше пользовательский crontab редактировался безо всяких sudo командой "crontab -e", а сейчас при вызове такой команды открывается vim с пустым текстом, в котором в нижней строке:

"/tmp/crontab.CHzeq7/crontab" [Доступ запрещён]
Случилось это после того, как я по ошибке сбросил все дополнительные группы у основного пользователя. Я хотел добавить пользователю группу "dropbox", но не указал параметр "-a" и в итоге группу добавил, а все остальные снёс. Конкретно была выполнена такая команда:

usermod -G dropbox someuser
После этого пользователю стала недоступна команда sudo, а также редактирование crontab (хотя "crontab -l" выводит текущий файл crontab пользователя). При запуске через sudo crontab -e -u someuser файл открывается нормально.

Зайдя на сервер под root я вернул пользователю группу sudo -- сразу заработала команда sudo. Но crontab по-прежнему не хочет редактироваться. Я попробовал добавлять другие группы, перебрал кучу вариантов, но всё бестолку. Я не понимаю как удаление у пользователя какой-то группы могло привести к каким-то необратимым последствиям. Причём аналогичное поведение сейчас наблюдается и у других пользователей (правда, неизвестно работало ли у них раньше). Может быть к этому привели какие-то другие действия и просто по времени совпало с моими действиями? К серверу имеет доступ несколько человек.

Возможно, эта информация о моей системе будет полезна:

root@vvest:/# uname -a
Linux vvest 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux
root@vvest:/# ls -la /usr/bin | grep crontab
-rwsr-xr-x  1 root crontab   34776 апр.   2  2012 crontab
root@vvest:/# ls -la /var/spool | grep cron
drwxr-xr-x  5 root      root    4096 мая   22  2012 cron
root@vvest:/# ls -la /var/spool/cron | grep crontab
drwx-wx--T 2 root   crontab 4096 марта 13 23:54 crontabs
root@vvest:/# ls -la /var/spool/cron/crontabs/
total 12
drwx-wx--T 2 root      crontab 4096 марта 13 23:54 .
drwxr-xr-x 5 root      root    4096 мая   22  2012 ..
-rw------- 1 videovest crontab 1740 окт.  17 22:27 videovest
(спойлер убрал, т.к. он глючил -- отображался узкой полоской)
« Последнее редактирование: 14 Марта 2014, 15:44:24 от gugglegum »

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Лучше бы Вы показали вывод команды groups, а также права доступа на /tmp
Цитировать
drwxrwxrwt 11 root root 4096 Мар 14 13:17 /tmp
Обычно пользователь включен в следующие группы: adm disk cdrom sudo dip plugdev fuse bluetooth lpadmin netdev saned sambashare
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн gugglegum

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Извините, не знал что именно пригодится. Вот, пожалуйста:

videovest@vvest:/$ groups
videovest sudo dropbox
videovest@vvest:/$ ls -la / | grep tmp
drwxrwxrwt   5 root     root     20480 марта 14 15:39 tmp

Как думаете, есть смысл добавить все эти группы данному пользователю? Из перечисленных я пробовал добавлять adm, dip, lpadmin. Эффекта не дало.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
релогин после добавления группы делали?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Wars ~.o

Оффлайн gugglegum

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
релогин после добавления группы делали?
Да, конечно. Полностью закрывал SSH сессию и подключался заново.

Пользователь решил продолжить мысль 14 Марта 2014, 16:51:40:
id?
Простите, не понял. ID чего вам нужен?

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Ваш. id — это команда.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн gugglegum

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Простите, не понял сразу. Вот:
videovest@vvest:~$ id
uid=1001(videovest) gid=1001(videovest) groups=1001(videovest),27(sudo),1016(dropbox)

Оффлайн gugglegum

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Ну так что есть какие-нибудь идеи что не так с моей системой?

Оффлайн gugglegum

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Как я понимаю, основная проблема в том, что при открытии на редактирование файла по команде "crontab -e" (под обычным пользователем), временный файл почему-то создаётся с владельцем root. При запуске "crontab -e" во временной директории появляется каталог с такими правами:

videovest@vvest:~$ ls -la /tmp | grep crontab
drwx------  2 root      videovest  4096 марта 20 13:09 crontab.viKo5u

Тогда как на другом компьютере с Ubuntu, где этой проблемы нет, этот каталог создаётся с владельцем - текущий пользователь, группа crontab. Почему на проблемном компьютере временный файл создаётся от рута -- загадка. Удаление файла /var/spool/cron/crontabs/videovest, перезапуск службы cron и попытка создать заново файл crontab не привёли к успеху -- нет доступа. Также создал файл /etc/cron.d/cron.allow, добавил туда имя пользователя "videovest", /etc/cron.d/cron.allow файл отсутствует -- без результата.
« Последнее редактирование: 20 Марта 2014, 13:59:52 от gugglegum »

 

Страница сгенерирована за 0.051 секунд. Запросов: 25.