попросил пароль sudo, оставь логин в bash shell

С 11.10, когда любой из моих пользователей с bash shell входит в систему при успешном входе, их просят предоставить свой пароль sudo, например

.
Last login: Fri Jan 20 19:13:36 2012 from x.x.x.x
[sudo] password for *user*:

Однако, используя другую оболочку (а именно zsh), они не запрашивают свой пароль sudo.

Что случилось?

[редактировать: больше информации]

Так, конечно, это было очевидно, но все же странно.

/etc/bash.bashrc

#!/bin/sh -e
#execute firstlogin.sh only once
if [ ! -e /root/firstlogin_done ]; then
    if [ -e /root/firstlogin.sh ]; then
        /root/firstlogin.sh
    fi
    # This part should not be necessary any more
    # sudo dpkg-reconfigure -p critical console-setup &> /dev/null
    sudo touch /root/firstlogin_done
fi

Файл создан очень хорошо, например,

$sudo ls -al /root/firstlogin_done
-rw-r--r-- 1 root root 0 2012-02-29 16:04 /root/firstlogin_done

[править: это ошибка]

Итак, я понимаю, почему это происходит. Но я не понимаю , почему это происходит. Это ошибка, которую я не обновил?

1
задан 29 February 2012 в 20:26

2 ответа

Тест не пройден, поскольку разрешение на /root равно 700. Следовательно, он использует sudo, чтобы засорять файл при каждом входе в систему.

0
ответ дан 29 February 2012 в 20:26

Хорошо, превращаем комментарий в ответ.

Похоже, это связано с ошибкой https://bugs.launchpad.net/ubuntu/+bug/409335 . Я не могу понять, почему кто-то может подумать, что было бы неплохо использовать sudo в /etc/bash.bashrc. Не говоря уже о том, что hashbang совершенно не подходит для сценария bash.

Однако /etc/bash.bashrc на самом деле не нужен. Ванильный bash даже не читает /etc/bash.bashrc; в основном, в Debian / Ubuntu есть патч для bash, специально предназначенный для поиска, и источник /etc/bash.bashrc при интерактивном запуске bash.

В любом случае, если вы хотите /etc/bash.bashrc, который будет иметь новая установка, возьмите исходные коды и скопируйте файл etc.bash.bashrc в /etc/bash.bashrc

sudo apt-get install dpkg-dev
apt-get source bash
sudo cp bash-4.2/debian/etc.bash.bashrc /etc/bash.bashrc
0
ответ дан 29 February 2012 в 20:26

Другие вопросы по тегам:

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