Существует три способа добиться этого:
1. Отключить пользовательский ssh без полномочий root, тогда пользователь без полномочий root не сможет использовать оболочку вообще.
Обратитесь к этому руководству за процедурой настроек.
2. Добавьте пользователя в файл /etc/cron.deny (типичный метод, который влияет только на пользователей из списка):
# cat /etc/cron.deny johny
Примечание. Убедитесь, что нет конфликта между файлом /etc/cron.allow и /etc/cron.deny.
Убедитесь, что пользователю запрещено создавать запись в crontab:
$ crontab -e You (johny) are not allowed to use this program (crontab) See crontab(1) for more information
3. Заблокируйте разрешение на выполнение команды crontab (Агрессивный подход, который влияет на всех пользователей без полномочий root):
Разрешения по умолчанию:
# ls -lrt /usr/bin/crontab -rwsr-xr-x 1 root root 57552 Apr 21 2015 /usr/bin/crontab
Измените права (удалите бит setuid):
# chmod 700 /usr/bin/crontab # ls -lrt /usr/bin/crontab -rwx------ 1 root root 57552 Apr 21 2015 /usr/bin/crontab
Примечание. Перед изменением прав на файл убедитесь, что у вас есть файл резервной копии.
После обновления пакета это изменение будет отменено по умолчанию.
Права по умолчанию:
# stat /usr/bin/crontab File: ‘/usr/bin/crontab’ Size: 57552 Blocks: 120 IO Block: 4096 regular file Device: fd00h/64768d Inode: 10751442 Links: 1 Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-08-12 17:03:10.112443944 +0530 Modify: 2015-04-21 19:38:05.000000000 +0530 Change: 2016-03-14 14:03:30.347276747 +0530 Birth: -
Убедитесь, что пользователю запрещено создавать запись в crontab:
$ crontab -e bash: /usr/bin/crontab: Permission denied