Автор Тема: bash-completion. не работает дополнение modprobe от юзера  (Прочитано 9031 раз)

Оффлайн cobold

  • Участник
  • *
  • Сообщений: 9
Здравствуйте.

Есть altlinux 4.1 desktop с установленным bash-completion. При попытке вызвать автодополнение для строки
sudo modprobe появляется сообщение "ls: невозможно получить доступ к /lib/modules/2.6.25-std-def-alt8.M41.1: Отказано в доступе". Пока полечил через chown a+rx /lib/modules, но вопрос остался - какой смысл в выставлении прав 0700 на директорию /lib/modules ?

Оффлайн Vitls

  • Глобальный модератор
  • *****
  • Сообщений: 372
  • Идиотизм вечен!
    • Linux. OpenSource. Life.
А смысл простой, чтобы вредоносный код руками не лез куда попало.

Я, возможно, скажу крамольную мысль. Может для modprobe удобнее пользоваться su - ?
Дело не в том как болезнь вылечить.
Дело в том как других заразить.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 373
  • Учиться .... Телепатами не рождаются, ими ....
Цитировать
Пока полечил через chown a+rx /lib/modules
вот так своими руками взламывают свою систему безопасности.

Оффлайн dk

  • alt linux team
  • ***
  • Сообщений: 989
Я, возможно, скажу крамольную мысль. Может для modprobe удобнее пользоваться su - ?

Нет, дело в том, что su еще не сработало. Пользователь хочет при помощи bash-completion получить список файлов в этом каталоге, чтобы потом сделать modprobe на выбранный модуль. А ему не дают... Так что хоть su, хоть su - - никакой разницы не будет.

Вопрос к cobold - а часто ли вам приходится вызывать modprobе, коли вы готовы ради этого даже поменять права доступа на системный каталог?

Drool

  • Гость
Нет, дело в том, что su еще не сработало. Пользователь хочет при помощи bash-completion получить список файлов в этом каталоге, чтобы потом сделать modprobe на выбранный модуль. А ему не дают... Так что хоть su, хоть su - - никакой разницы не будет.

Вы уверены?

su -l
Password:
[root@bersud ~]# ls -l /lib/modules/2.6.18-std-smp-alt12.M40.3/
total 1692
drwxr-xr-x  2 root root   4096 Sep 11 13:01 acx100
drwxr-xr-x 12 root root   4096 Sep 12 13:48 alsa
drwxr-xr-x  2 root root   4096 Sep 11 13:01 drbd
drwxr-xr-x  2 root root   4096 Sep 11 13:01 et131x
drwxr-xr-x  2 root root   4096 Sep 11 13:01 fglrx
drwxr-xr-x  2 root root   4096 Sep 11 13:01 gatos_km
drwxr-xr-x  2 root root   4096 Sep 11 13:01 gspca
drwxr-xr-x 11 root root   4096 Jul 14 20:17 kernel
drwxr-xr-x  2 root root   4096 Sep 11 13:02 lirc
drwxr-xr-x  2 root root   4096 Sep 11 13:02 matroxdriver
drwxr-xr-x  2 root root   4096 Oct  6 08:43 misc
-rw-r--r--  1 root root 346773 Oct  6 08:43 modules.alias
-rw-r--r--  1 root root     69 Oct  6 08:43 modules.ccwmap
-rw-r--r--  1 root root 416875 Oct  6 08:43 modules.dep
-rw-r--r--  1 root root    813 Oct  6 08:43 modules.ieee1394map
-rw-r--r--  1 root root    806 Oct  6 08:43 modules.inputmap
-rw-r--r--  1 root root  17791 Oct  6 08:43 modules.isapnpmap
-rw-r--r--  1 root root     74 Oct  6 08:43 modules.ofmap
-rw-r--r--  1 root root 295303 Oct  6 08:43 modules.pcimap
-rw-r--r--  1 root root   1135 Oct  6 08:43 modules.seriomap
-rw-r--r--  1 root root 145697 Oct  6 08:43 modules.symbols
-rw-r--r--  1 root root 387891 Oct  6 08:43 modules.usbmap
drwxr-xr-x  2 root root   4096 Sep 11 13:02 ndiswrapper
drwxr-xr-x  2 root root   4096 Sep 11 13:02 net
drwxr-xr-x  2 root root   4096 Sep 11 13:02 sk98lin
drwxr-xr-x  2 root root   4096 Sep 11 13:02 svgalib_helper
drwxr-xr-x  2 root root   4096 Sep 11 13:02 tp_smapi
drwxr-xr-x  2 root root   4096 Sep 11 13:02 truecrypt

Путь получен именно через tab-ирование.

kda

  • Гость
Путь получен именно через tab-ирование.

Так это из под root'a. Пользователь запускает bash-completion из под себя.

Оффлайн dk

  • alt linux team
  • ***
  • Сообщений: 989
Нет, дело в том, что su еще не сработало. Пользователь хочет при помощи bash-completion получить список файлов в этом каталоге, чтобы потом сделать modprobe на выбранный модуль. А ему не дают... Так что хоть su, хоть su - - никакой разницы не будет.

Вы уверены?

Путь получен именно через tab-ирование.

Нет, я немного ошибся. Не su, а sudo, а так все верно.

Пользователь хочет набрать команду sudo modprobe бла-бла-бла, и естественно обламывается на попытке просмотреть содержимое /lib/modules по ходу набора команды.

Оффлайн cobold

  • Участник
  • *
  • Сообщений: 9
А смысл простой, чтобы вредоносный код руками не лез куда попало.

Я, возможно, скажу крамольную мысль. Может для modprobe удобнее пользоваться su - ?

А чем небезопасно давать любому юзеру, пусть даже "злоумышленнику", читать директорию /lib/modules? Какая sensitive информация в ней хранится?

Может su - и правильнее, но не сильно-то и удобнее. sudo мне удобен тем, что и под рутом вроде всё время не работаешь и если понадобилось вдруг какую коммандочку ввести то пароль вводишь только один раз.

Вопрос к cobold - а часто ли вам приходится вызывать modprobе, коли вы готовы ради этого даже поменять права доступа на системный каталог?

Да как Вам сказать, вроде как 1-е после что делает юзер(я) на свежеустановленной системе, это смотрит всё ли оборудование завелось. И вот тут modprobe-ом приходится поработать :) А потом конечно уже да по большому счёту и не нужно.

А вообще раз позиция разработчиков в том, что читать юзеру /lib/modules небезопасно и список установленных модулей ядра больше взять не откуда, то может дописать  что-нибудь типа
if [ -r "$modpath" ]; then ...в скрипт bash_completion?

Alexei_VM

  • Гость
Может su - и правильнее, но не сильно-то и удобнее. sudo мне удобен тем, что и под рутом вроде всё время не работаешь и если понадобилось вдруг какую коммандочку ввести то пароль вводишь только один раз.

Отлично! А потом случайно не ту командочку вводишь, или там скрипт не тот под руку попался, и оп-па...

Я бы даже предложил, чтоб после su - менялся цвет текста в терминале, на красный. Чтоб рутовский терминал сразу выделялся среди юзерских, и пользователь более внимательно относился к тому, что он там набирает.

kda

  • Гость
Я бы даже предложил, чтоб после su - менялся цвет текста в терминале, на красный. Чтоб рутовский терминал сразу выделялся среди юзерских, и пользователь более внимательно относился к тому, что он там набирает.

sudo перед командой никто не отменял. Этого достаточно чтоб внимательно относиться к тому, что набираешь.

Оффлайн lodin

  • alt linux team
  • ***
  • Сообщений: 28
Я бы даже предложил, чтоб после su - менялся цвет текста в терминале, на красный. Чтоб рутовский терминал сразу выделялся среди юзерских, и пользователь более внимательно относился к тому, что он там набирает.

Отличная идея. И, главное, легко воплощается в жизнь.

# cat >>~/.bashrc
PS1='\e[1;31;40m[\u@\h \w]#\e[0m '
"Пароходом выехать не могу, думаю баржей"
"Думайте головой, выезжайте чем хотите"

Drool

  • Гость
Путь получен именно через tab-ирование.

Так это из под root'a. Пользователь запускает bash-completion из под себя.

А что пользователю делать в ядре?  8)

Alexei_VM

  • Гость
А что пользователю делать в ядре?  8)

Могу предположить только такое:
modinfo bla-bla-TAB-TAB

Вроде как интересно почитать modinfo, а переходить для этого в рута особо смысла нет.

Оффлайн cobold

  • Участник
  • *
  • Сообщений: 9
А что пользователю делать в ядре?  8)

Действительно! Сферическому пользователю в вакууме, у которого всё железо поднимается "само" либо с помощью специально обученного человека, делать в ядре совершенно нечего!

Alexei_VM

  • Гость
А что пользователю делать в ядре?  8)

Действительно! Сферическому пользователю в вакууме, у которого всё железо поднимается "само" либо с помощью специально обученного человека, делать в ядре совершенно нечего!

Вы абсолютно правы. Сферическим и прочим пользователям настраивать железо нужно ОДИН РАЗ (в момент установки системы или железа). На один раз можно и залогинитсья рутом. А всяким несферическим тестировщикам железа, которые по шесть раз в день меняют материнские платы в своем компе, квалификация должна позволять изменить $PATH или поведение команды su. Если не позволяет -- пусть идут в сад.