Действительное решение этой проблемы состоит в том, чтобы говорить с Вашим преподавателем, чтобы сделать Вам отдельные отчеты или изменить присвоения, чтобы быть присвоениями группы. Если бы он не может или не делать этого затем, я просто проигнорировал бы любые попытки плагиата от других студентов. Вы ничего не теряете, когда они копируют Вашу работу, они проигрывают.
Тем не менее вот способ сохранить Ваш исходный код фактически недоступным для кого-либо еще.
you@local$ ssh shared@cluster "gcc -x c -o yourdir/secret -" < source.c
Отметьте тире в конце команды gcc. Это означает, что gcc считает источник из stdin. Это скомпилирует source.c
от Вашей локальной машины до yourdir/secret
на кластере. Секретный исходный код никогда не будет существовать как "реальный" файл на кластере. Это будет только существовать как поток в некотором буфере (в процессе sshd, я принимаю).
Если Ваш код не написан в C затем Ваш, должен будет измениться c
в -x c
опция. Посмотрите здесь для получения дополнительной информации об этом.
Другие студенты могут все еще захватить Ваш скомпилированный файл и декомпиляцию это. Минимизировать даже, которые рискуют Вами, может удалить файл прямо после компиляции и выполнения.
you@local$ ssh shared@cluster "gcc -x c -o yourdir/secret - && yourdir/secret ; rm yourdir/secret" < source.c
Если Вы действительно параноики, необходимо удостовериться, что выполняете реальный gcc. Другие студенты могли бы записать обертку вокруг gcc, который сохраняет исходный код прежде, чем скомпилировать ее, и поместите ту обертку в свой путь. Необходимо также выполнить реальную комнату.
you@local$ ssh shared@cluster "/usr/bin/gcc -x c -o yourdir/secret - && yourdir/secret ; /bin/rm yourdir/secret" < source.c
Необходимо настроить целую почтовую инфраструктуру для этого для работы. Лично, я использую esmtp (программа, которая эмулирует sendmail) и procmail (агент доставки почты), таким образом я могу получить сообщения от заданий крона. Однако на вашем месте я думал бы дважды, стоит ли это стычки, потому что почтовые серверы могут быть и обычно, реальная головная боль для установки.
cron
автоматически посылает Вам по электронной почте вывод (если таковые имеются) заданий, которые он выполняет. Конечно, у Вас должен быть почтовый сервер (например, постфикс) установленный, чтобы это работало.
Можно послать себе электронное письмо с помощью этого решения: http://mabblog.com/blog/2011/09/lion-smtp-postfix-relay-and-dreamhost/comment-page-1/#comment-264118
Обратите внимание, что единственные части, которые НЕ являются литеральными, являются ссылками на "you@domain.com" и "username@domain.com:password". Предоставьте соответствующие значения им.
Оставьте скобки внутри, не измените адрес порта (587) и оставьте "mail.domain.com", как.