1

Я недавно изменил свое имя пользователя, и я не могу сейчас получить доступ к своему crontab:

% crontab -e
crontab: no crontab for blackl - using an empty one

Я подумал, что просто отредактирую то, что у меня было под моим старым именем пользователя, скопирую задания в новое, а затем использую crontab -r чтобы удалить старое.

% sudo crontab -eu olduser
crontab: user `olduser' unknown

К сожалению.

Я немного покопался и нашел, где хранятся crontabs (/usr/lib/cron/tabs), и скопировал туда мой старый. Первая строка, однако, это:

# DO NOT EDIT THIS FILE - edit the master and reinstall.

Мне кажется, что по какой-то причине удаление старого crontab вручную с помощью команды sudo rm /usr/lib/cron/tabs/olduser было бы плохой идеей. Как правильно это сделать?

1 ответ1

2
[root@localhost cron]# pwd
/var/spool/cron
[root@localhost cron]# ll
total 4
-rw------- 1 root     root   0 Jul 13 12:06 root
-rw------- 1 max      max    20 Oct 22 12:22 max

Здесь хранятся конкретные пользовательские crontabs.

Это содержание man usermod

-l, --login NEW_LOGIN
           The name of the user will be changed from LOGIN to NEW_LOGIN. Nothing else is changed. In particular, the user´s home directory name should probably be changed manually to
           reflect the new login name.

Здесь четко указано, что Nothing else is changed поэтому файл в /var/spool/cron не будет обновляться, поскольку этот файл будет создан при создании учетной записи пользователя (путь может отличаться в вашей системе)

просто переименуйте этот файл в новое имя пользователя.

После этого введите crontab -l он также перечислит ваш старый crontab.

Вы говорите, что это не правильный метод, верно?

Если я получу любой другой метод, я обновлю свой пост.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .