Получение архива с ошибкой обработки при попытке установить NodeJS LTS на Kali Linux

Я еще не проверял это, но похоже, что вам нужно передать пароль, который уже был зашифрован из man useraddна ubuntu (, возможно, поэтому он не работал раньше):

       -p, --password PASSWORD
           The encrypted password, as returned by crypt(3). The default is to disable the password.

           Note: This option is not recommended because the password (or encrypted password) will be visible by users listing the processes.

           You should make sure the password respects the system's password policy.

Модуль crypt существует в Python 2 и 3. Для Python 3 вы можете использовать crypt.crypt (пароль )Это сработало для меня:

python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import crypt
>>> crypt.crypt("hello")
'$6$AFKk6qImS5R6bf//$Voc7MRbOX5R2R8GvmmEHxVgx/wVorKO4y2Vuufgkph798mo/SJ6ON8vKJWj1JTsRdwNyb9oiTmHiNYGiOL4Q20'
>>> 

Для Python 2 вам также необходимо передать соль в качестве второго аргумента. Будьте осторожны при выборе разных солей для разных пользователей.

Итак, попробуйте tl;dr в python3:

import crypt

...

for i in range(1, max_row + 1):
    name = sheet.cell(row = i, column = 5)  
    password = sheet.cell(row = i, column = 6)
    encrypted_password = crypt.crypt(password)
    addUser = "sudo useradd -m  " + name.value + " -p " + encrypted_password
    os.system(addUser)

РЕДАКТИРОВАТЬ :Из оригинального плаката это не работает в python2, пароль по-прежнему неверен. Я также не тестировал фактический вход в python3. Для python2 это не работает:

for i in range(1, max_row + 1):
    name = sheet.cell(row = i, column = 5)  
    password = sheet.cell(row = i, column = 6)
    encrypted_password = crypt.crypt(password, name.value)
    # This doesnt work!
    addUser = "sudo useradd -m  " + name.value + " -p " + encrypted_password
    os.system(addUser)
0
25.03.2021, 23:59
1 ответ

Я уже решил перейти к архивам /var/cache/apt/archives apt и принудительно перезаписать пакет nodejs.

cd /var/cache/apt/archives

, а затем:

dpkg -i --force-overwrite 'nodejspackage.db'
0
28.04.2021, 22:56

Теги

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