Где Samba 4 хранит пароли пользователя?

Я рекомендовал бы echoлуг копия строки, когда загрузка перестала работать, вместо того, чтобы рассмотреть имена файлов путем парсинга каждой строки в файле впоследствии:

[[ -f $1 ]] || { echo "$1 not found" >&2; exit 1; }
while read -r line; do
    $line || echo "$line" >> stillneed
done < "$1"

Это было бы более эффективным, и также означает, что Вы не должны волноваться ни о каких нечетных именах файлов в будущем (например, с пробелами в.)

Если Вы хотите улучшить свой существующий метод, Вы могли бы использовать стандартное расширение параметра:

for f; do
    while read -r line; do
        for item in $line; do
            [[ $item = out_fname=* ]] || continue
            [[ -f ${item#out_fname=} ]] || echo "$line"
            break # assuming one fname per line
        done
    done < "$f"
done > stillneed

.. но рассмотрите то, что происходит с: out_fname='foo bar.ext'. Кроме того, примите во внимание, что это проверяет каждую строку после события, когда мы, возможно, просто проверили, работала ли команда в то время, когда мы выполнили его.

Открытие stillneed однажды для целого цикла более эффективно; я не сделал этого в первом отрывке, поскольку мы, скорее всего, захотим видеть вывод от команд загрузки. Здесь существуют только тесты, никакие внешние команды, работающие, таким образом, имеет смысл открывать файл однажды. (Отметьте использование > усечет файл в запуске; я использовал for f позволить больше чем один входной файл как позиционные параметры: добавление того же выше должно быть легким при необходимости в нем.)

Одна вещь, которую я должен подчеркнуть, заключает в кавычки: echo "$line" очень отличается от echo $line. В целом заключите все расширения параметра в кавычки (это включает переменные), если Вы не знаете наверняка, что хотите, чтобы разделение поля произошло.

3
23.04.2013, 18:59
2 ответа

Когда я устанавливаю сервер Samba, пароли получают хранилище в/etc/shadow.

2
27.01.2020, 21:17

Где Samba 4 хранит пароли пользователей?

В собственном (интегрированном) LDAP-сервере в атрибуте unicodePwd. Этот атрибут недоступен через LDAP (например, ldapsearch его не показывает). Но вы можете использовать, например, ldbsearch для просмотра атрибута.

Как я могу импортировать хэши паролей из Samba 3 в Samba 4?

Вы должны использовать Samba Classic Upgrade, см. вики-сайт samba для более подробной информации.

Как я могу хранить пароли Samba 4 в атрибуте LDAP?

Вам не следует изменять атрибут LDAP напрямую. Вы можете использовать пароль пользователя samba-tool для установки нового пароля для пользователя. Для переноса вы действительно должны использовать классическое обновление, которое хорошо работает с LDAP-бэкэндом Samba 3.

3
27.01.2020, 21:17

Теги

Похожие вопросы