sudo :/usr/bin/sudo должен принадлежать uid 0 и иметь установленный бит setuid (не удается найти Wi -Fi на Lubuntu 19.10)

echo, скорее всего, встроен в оболочку, поэтому он не появится в psкак отдельный процесс.

Но вам не нужно использовать подстановку команд, вы можете просто получить вывод из конвейера прямо вchpasswd:

{  printf "%s:" "$username";
   head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo ''
} | chpasswd 

Если вы хотите изменить несколько паролей одним запуском chpasswd, вам не составит труда повторить основные части. Или превратить это в функцию:

genpws() {
    for user in "$@"; do
        printf "%s:" "$user";
        head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13
        echo
    done
}
genpws username1 username2... | chpasswd 

В стороне :то, что head /dev/urandomкажется немного странным, поскольку urandomне ориентирован на строку -. Он может прочитать из него чрезмерное количество байтов, что повлияет на представление ядра о доступной энтропии, что, в свою очередь, может привести к блокировке /dev/random. Может быть, было бы чище просто прочитать фиксированный объем данных и использовать что-то вроде base64для преобразования случайных байтов в печатные символы (вместо того, чтобы просто отбрасывать около 3/4 байтов, которые вы получаете ).

Что-то вроде этого даст вам ок. 16 символов и цифр:

head -c 12 /dev/urandom | base64 | tr -dc A-Za-z0-9 

(, то есть на 16 меньше количества символов +и /в выводе base64. Вероятность того и другого составляет 1/32 на символ, поэтому, если я правильно понял свою комбинаторику, это дает вероятность 99 % оставить не менее 14 символов и вероятность 99,99 % оставить не менее 12.)

0
26.07.2020, 02:18
1 ответ

Во-первых, я хотел бы отметить, что Lubuntu 19.10 является EOL, то есть больше не поддерживается. Вам следует обновиться до версии 20.04, текущей версии LTS, или перейти на версию 18.04, которая также является версией LTS.

Но проблема в том, что кто-то изменил разрешения для /usr/bin.

Чтобы это исправить, вам нужно стать владельцем (и изменить права доступа )к каталогу и файлам.

Откройте терминал и введите следующее:

chown root:root /usr/bin
chmod u+s /usr/bin/sudo

И это должно решить вашу проблему. Это предполагает, что это единственный симптом. Если вы изменили разрешения для нескольких каталогов, потребуется больше работы.

1
18.03.2021, 23:16

Теги

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