Использовать join
объединить согласующие отрезки длинной линии из этих двух файлов. Принятие имен файлов происходит после контрольных сумм (как в md5sum
вывод), и не содержат пробел, это распечатает все имена файлов, которые присутствуют в обоих списках, вместе со старой контрольной суммой и новой контрольной суммой:
join -1 2 -2 2 <(sort -k 2 oldlist) <(sort -k 2 newlist)
Чтобы также видеть новые файлы передайте -a
опция к join
. Немного выходной постобработки удалит имена файлов, для которых не изменилась контрольная сумма.
join -a 2 -1 2 -2 2 <(sort -k 2 oldlist) <(sort -k 2 newlist) |
awk '$2 != $3'
Я не уверен, что понимаю вопрос. Однако, если Вы даете некоторые пользовательские корневые разрешения (через sudo или безотносительно) выполнять программу и что эта программа, оказывается, обеспечивает доступ к оболочке с этими теми же полномочиями, Вы ничего не можете сделать против него.
При предоставлении некоторых полномочий выполнить определенную программу, необходимо доверять программе для того, чтобы не испортить (кроме, конечно, при реальном доверии пользователю).
sudo позволяет Вам давать пользователям и полномочиям суперпользователя групп. конфигурационный файл sudo может быть найден в/etc/sudoers. Как правило, каждый редактирует sudoers файл с помощью команды visudo. По умолчанию на большинстве дистрибутивов, или никакому пользователю не дают sudo полномочия, или первому созданному пользователю дают такие полномочия. После этого пользователи обычно создаются без sudo полномочий.
sudo позволяет Вам давать каждому пользователю различные настройки или даже применять настройки к группам пользователей. Например, Вы могли дать пользовательскому администратору или администраторскому доступу группы для получения полномочий суперпользователя.
Можно также предоставить этим пользователям доступ к определенным программам. Например, можно дать Bob sudo, доступ к Кв. - добираются, если Вы доверяете Bob для установки пакетов и пакетов обновления в системе.
Ваша система, скорее всего, имеет sudoers файл, в этом случае можно открыть файл и видеть обеспеченные примеры. Я покажу Вам пример здесь, который мог бы разрешить вещи:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Это дает любому пользователю в группе sudo полномочий выполнить любую команду куда угодно, не запрашивая пароль. Пользователь должен сначала пройти проверку подлинности (т.е.: вход в систему), но после того как это происходит, эти пользователи, будет иметь корневой доступ к машине.
Большинство дистрибутивов предоставляет исходному пользователю sudo доступ, но пользователи создали, после этого не предоставлены такой доступ. Можно проверить это путем просмотра/etc/sudoers. Просто удостоверьтесь, что у пользователей нет доступа к sudo через sudoers файл, чтобы гарантировать, что никакой пользователь не может получить корневую оболочку через sudo.
Вы ищущий что-то вроде этого:
# Allow members of group sudo to execute any command
username ALL = ALL, !/bin/sh, !/bin/bash, !/bin/tcsh, !/bin/csh, !/bin/ksh, !/bin/zsh, !/bin/su
cp /bin/sh ~/not_a_shell ; sudo ~/not_a_shell
или sudo ex +':!/bin/sh'
. Вместо того, чтобы пытаться лишить возможности, обеспечьте, поддерживал/утверждал путь, который будет контролировать и заставлять людей выровнять по ширине любое повышение к полному корню.
– bahamat
03.10.2012, 21:04