Я нашел решение, я должен был пройти 25 веб-сайтов, прежде чем я нашел тот, который помог мне, этот наконец сделал:
http://techbase.kde.org/Development/Tutorials/Creating_Konqueror_Service_Menus
Fedora 17 сделал, чтобы Вы поместили Ваш something.desktop
файл в другом месте:
Вход в систему как корень и место Ваш something.desktop файл здесь:
/usr/share/kde4/services/
Я обойду Вас через точно, что я сделал так, можно получить его работа:
Вход в систему как корень и делает следующий файл названным engauge.desktop здесь:
/usr/share/kde4/services/engauge.desktop
Отредактируйте тот файл и поместите точно эти строки там:
[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=image/*;
Actions=setAsWallpaper
[Desktop Action setAsWallpaper]
Name=Use As Wallpaper
Icon=background
Exec=dcop kdesktop KBackgroundIface setWallpaper %U 6
Заметьте две новых строки, которые важны, Type=Service
и ServiceTypes
строка. Это не является дополнительным.
Сохраните файл и удостоверьтесь, что он имеет 755 полномочий. Откройте завоевателя в режиме файла и щелчке правой кнопкой по .jpg или другому изображению, перейдите к Меню действий, и Вы будете видеть "Использование, Поскольку Обои" объект появятся.
Требования к которому я предложу решения, поскольку пули Points:
Следующие примеры основаны на Debian, поскольку это то, что я получил сюда для тестирования. Тем не менее, я не вижу причин, почему принципы не могут быть применены к любому распределению (или действительно любые производные PAM * IX).
Логин корневой консоли Passementless
Я думаю, что, как я бы поддержал это, будет использовать PAM и файл конфигурации / etc / Securetty
.
В качестве предварительной необходимости необходимо установить «достаточно безопасный» пароль корневого пароля. Это не требуется для входа в консоль, но существует, чтобы сделать попытки растрескивания грубой силы нереально. Учетная запись в противном случае совершенно нормальный корневой счет.
в /etc/pam.d/login
У меня есть следующий стандартный набор строк для аутентификации (начиная с ключевого слова auth
):
auth optional pam_faildelay.so delay=3000000
auth [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die] pam_securetty.so
auth requisite pam_nologin.so
@include common-auth
auth optional pam_group.so
ссылки Common-auth
включают в себя файл содержит следующие соответствующие строки:
auth [success=1 default=ignore] pam_unix.so nullok_secure
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_cap.so
Файл Common-auth
Указывает PAM пропустить одно правило (отрицание), если «вход в систему Unix» добивается успеха. Обычно это означает матч в / и т. Д. / Тень
.
AUTH ... PAM_SECURETTYTY.SO
строка сконфигурирована для предотвращения корневых логинов, кроме на устройствах TTY, указанных в / etc / securetty
. (Этот файл уже включает в себя все консольные устройства.)
Изменение этого AUTH
Линия слегка, можно определить правило, что позволяет логин корня без пароля от TTY Устройство, указанное в / etc / securetty
. Параметр = OK
параметр должен быть изменен таким образом, чтобы ok
заменяется количеством строк Auth
, которые будут пропущены в случае успешного совпадения. В ситуации, показанной здесь, этот номер 3
, который прыгает на AUTH ... PAM_PERMIT.SO
строка:
auth [success=3 new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die] pam_securetty.so
Root Rood Remote Вход от предварительно авторитетных пользователей
Это простое включение ключей SSH для этих авторизованных пользователей, добавленных в корню файл authorized_keys
.
Удаленный логин Passhieldleble для указанных учетных записей от предварительно авторизованных пользователей
Это также простое включение ключей SSH для авторизованных пользователей, добавленных к соответствующему и соответствующему пользователю .ssh / authorized_keys
. (Типичный Удаленный пользователь Chris хочет, чтобы войти в систему для локального пользователя Chris Сценарий.)
Обратите внимание, что учетные записи могут оставаться в заблокированном состоянии по умолчанию после создания (т. Е. Сразу !
в Поле пароля для / etc / Shadow
), но разрешить логин на основе ключей SSH. Это требует root для размещения ключа в файле нового пользователя .ssh / authorized_keys
. Что такое не так очевидно , заключается в том, что этот подход доступен только в том случае, если useppam да
устанавливается в / etc / ssh / sshd_config
. PAM дифференцирует !
Как «учетная запись заблокирована для пароля, но другие методы доступа могут быть разрешены» и ! ...
«Счета заблокирована. Период». (Если установлен USEPAM NO
, то OpenSSH учитывает любое наличие !
, запускаемое поле пароля, чтобы представлять заблокированную учетную запись.)
Удаленный логин для любой учетной записи от предварительно авторизован Пользователи
Мне не совсем понятно, хотите ли вы этого объекта или нет. А именно, некоторые уполномоченные пользователи смогут SSH логин без пароля на любой любой любой локальный счет.
Я не могу проверить этот сценарий, но я считаю, что это может быть достигнуто с помощью OpenSSH 5.9 или новее, что позволяет нескольким файлам authorized_keys
, которые будут определены в / etc / ssh / sshd_config
. Отредактируйте файл конфигурации, чтобы включить второй файл под названием / etc / ssh / authorized_keys
. Добавьте свои выбранные авторизованные пользователи «Общественные клавиши к этому файлу, обеспечение того, чтобы разрешения были таковы, что он принадлежит корнеплоду и имеет доступ к записи только рутом (0644).
Это звучит так, как вы хотите, чтобы реальные (нерудовые) учетные записи пользователей с ключами SSH и Full NOPASSWD
Доступ через Sudo
(который доступен по умолчанию в большинстве дистрибутивов в большинстве дистрибутивов в наши дни и также имеет тривиальность для установки вручную). Вы можете иметь пустые пароли для каждой учетной записи пользователя (которая не будет работать удаленно), то пользователь либо работает Sudo -S
или пользователя ~ / .bash_profile
, просто содержит эту команду.
Sudo
Добавить каждого пользователя к группе Sudo
Unix (например, username usermod -a -g sudo
, хотя старые системы будут иметь менее интуитивные способы сделать это; худший Корпус, вы редактируете / etc / группы
напрямую).
В / etc / sudoers
или /etc/sudoers.d/local
, вы хотите, чтобы строка была таковой:
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
, если вы хотите, чтобы вы нужны автоматический доступ, добавьте это в профиль пользователя. Для Bash
, это было бы ~ / .bash_profile
:
sudo -s
Это позволит вам увидеть, кто вошел в систему (попробуй , который
или последний
) и оставит журналы в /var/log/auth.log
.
Войти PatureBless
на гораздо более старых системах, вы можете просто редактировать / etc / passwd
(или на слегка старых системах, / etc / thadow
) и удалить хеш, Так, например, BOB: $ 1 $ SOLS $ HASHH: 12345: 0: 99999: 7 :::
становится просто BOB :: 12345: 0: 99999: 7 :::
. Это было все, что вам нужно. Современные системы не нравятся это. Существуют, вероятно, другие способы сделать это, но так, как я только что проверил, заключается в следующем (Источник: Случайные вещи Лео ) :
Открыть / etc / etc / Тень
и соблюдайте учетную запись с реальной информацией. Это будет включать три элемента, разграниченные знаками доллара ( $
). Они представляют механизм хеширования, затем соль , затем хеш. Обратите внимание на соль, затем запустите это:
openssl passwd -1 -salt SALT
(это использует MD5 в качестве механизма хеширования. Это пустой пароль, поэтому вы не должны возражать.) При появлении запроса для пароля нажмите Enter. Сохраните эту строку, включая любые задние точки, и вставьте его после первой кишки на эту линию пользователя в / etc / thadow
(это должно заменить любое ранее существование между первыми и вторыми дюймами). (Пожалуйста, не используйте буквально соль
как ваша соль!)
SSH
Ваш SSH
Конфигурация демона жизни в / etc / sshd_config
или / etc / ssh / sshd_config
. Для правильной безопасности я рекомендую он включать в себя эти строки:
PermitRootLogin no
PermitEmptyPasswords no
см. В Безопасная защищенная оболочка ) Написать для дополнительных мер безопасности, вы можете добавить в вашу конфигурацию SSH, чтобы лучше укрепить его от сложных злоумышленников.
Теперь ваши пользователи не могут войти через через SSH
из-за пустых паролей (это необходимая мера безопасности). Это означает, что они могут войти только с ключами SSH.
Каждый пользователь, для каждого из их клиентских систем, должен создать пару клавиши SSH, например,
ssh-keygen -t rsa -b 4096 -f $HOME/.ssh/id_rsa -o -a 100 -C "Bob Roberts on his laptop"
Это производит закрытый ключ в $ HOME / .SSH / ID_RSA
и открытый ключ в $ HOME / .SSH / ID_RSA.PUB
. Есть ли этот пользователь отправлять вам свои открытые ключи и добавить их к этому серверу $ HOME / .ssh / autorized_keys
(Обратите внимание, что каждый пользователь $ HOME / .SH
должен быть режимом 700, например MKDIR -P ~ User / .ssh && chmod 700 ~ user / .ssh
).
Пользователи, которые не хотят ключей SSH, можно подойти к физической системе. Там их пустые пароль введут их, в какой момент они могут ввести passwd
из оболочки и установите пароль, что позволяет им удаленным доступом.
(Я фактически использовал эту технику, чтобы дать людям доступ к коллекции систем назад, когда я запустил ИТ-отдел. Он принудил пользователей использовать SSH-ключей, и мне не нужно было давать им пароли. Их начальный /.bash_profile
имел две линии внизу: Passwd
, а затем MV ~ / .bash_profile.real ~ / .bash_profile
Так что они устанавливают новый пароль при первом входе в систему. )
Риски
Вы поместите полное доверие к своим пользователям. Там ничего не останавливает пользователю состоит в файле другого пользователя ~ / .ssh / averalized_keys
и, следовательно, изменяя вашу возможность отозвать и аудит доступ, но это неизбежно, если вы выделяете полный корню.
Заключение
Каждый пользователь теперь является членом группы Sudo и имеет полный доступ к паролюисту в корневой оболочке. У этих пользователей нет паролей для их учетных записей и могут войти в систему, удаленно используя SSH-ключей.
Если вы потеряете одного из своих сотрудников, вы можете удалить его / ее аккаунт. Если один из ноутбуков ваших сотрудников будет украден, вы можете удалить клавишу SSH ноутбука из этого пользователя файла authorized_keys
. Если у вас есть нарушение безопасности, у вас есть журналы, показывающие, кто вошел в систему.