Linux sh can access tty job control turned off

Linux sh can access tty job control turned off

Recently I had the displeasure of trying to install the latest version of Ubuntu – Feisty Fawn.

Displeasure, you say – isn’t Ubuntu the easiest Linux distro to use? Well, yep – it is easy to use but there seems to be a common problem heaps of people are experiencing with version 7.04.

The “/bin/sh can’t access tty; job control mode off” error

This error pops up when you first boot Ubuntu. I’ve been grovelling around the net trying to find one single solution to the problem, but it seems there are several solutions. Basically, what’s happening is Ubuntu is looking in the wrong place for your installation. There are some complex and time consuming solutions to the problem to do with editing grub and the/etc/fstab file, which I’d recommend you avoid.

Some Solutions to the ‘job control mode off’ error

So, here I present my summary of the ‘non-technical’ things you can do to correct the “/bin/sh can’t access tty; job control mode off” error and get your distro working. I’d suggest you follow these various alternatives step by step.

  1. Pop a blank floppy disc in your drive at bootup.
  2. and/or enter your BIOS (often achieved by pressing escape at system startup) and change the boot order of your system such that your hard-drive boots first, then CD-ROM and then Floppy (if you have them).
  3. Ditch the LIVE CD/DVD – and make sure you have the right distro for your system.. are you running an AMD x64 system like me? Try this version of Ubuntu Feisty Fawn. If you are running an INTEL based system, try this version
  4. Little known fact – there are ‘alternative’ iso’s available that (I believe) has different drivers that often correct the problem, and handle installs on older systems better. You can get the Feisty Fawn Alternative Version for AMD64 systems here, or the Feisty Fawn Alternative ISO for Intel systems here.

A More Technical Solution..

The actual error presented is usually as follows –

Loading Ubuntu, please wait…

check root = bootarg cat /proc/cmdline
or missing modules, devices: cat/proc/modules ls /dev
ALERT! /dev/hda3 does not exist Dropping to shell!

BusyBox v1.1.3 Built-in shell (ash)

/bin/sh can’t access tty; job control mode off.

If you found this page useful, consider linking to it.
Simply copy and paste the code below into your web site (Ctrl+C to copy)
It will look like this: SOLUTION – ‘/bin/sh can’t access tty; job control mode off’ error

25 Comments Add your own

  • 1.Bruce Dillahunty | June 9th, 2007 at 12:38 pm Thanks! The blank floppy in the drive is an easy one, and it worked!
  • 2.DuckMan | June 9th, 2007 at 12:55 pm Ha! You’re kidding me right? That’s just made my day 🙂 It wouldn’t work for me, but I saw it mentioned elsewhere, so added it. It’s cool that it works – I wonder why? How strange. Cheers, Matt
  • 3.Bruce Dillahunty | June 9th, 2007 at 12:59 pm Well, I changed the boot order first, and that didn’t work, so then (without changing it back) I stuck a floppy in and away it went… its installing files now. Don’t know if it would have worked with just the floppy, but it wouldn’t work without it. Thanks again!
  • 4.DuckMan | June 9th, 2007 at 1:05 pm No worries! Thanks for the feedback – always appreciated. Cheers, M
  • 5. The SToBBSTeR! | June 24th, 2007 at 9:47 am I have seen some pretty goofy stuff but this one takes the Cake! Thanks for saving me tons of time! It is a shame that this posting is not the #1 listing on Google. I would have had it resolved sooner…
  • 6.theDuck | June 24th, 2007 at 11:02 am Hi Stobbster! Yep – it is totally insane, isn’t it 🙂 I spent literally a day trying to trawl through all the sites before I got the right answer. If this blog entry has helped you find your solution, please link back to it from a forum / website that you frequent – I think it will only take a few such links to get the page to the top of the rankings and save other people from the same fate. Cheers, M
  • 7. Taylor | June 27th, 2007 at 11:41 am Any suggestions if i am on a laptop (and as such, no floppy)…
  • 8.Bruce Dillahunty | June 27th, 2007 at 12:17 pm Try putting a USB thumbdrive in? Just a thought.
  • 9.theDuck | June 27th, 2007 at 12:19 pm Thanks Bruce. Or, if that doesn’t work, even a usb floppy may do the trick – otherwise, you can try the other solutions suggested. Cheers, M
  • 10. Taylor | June 28th, 2007 at 1:16 am Located a USB DVDRW drive, installed from that. It looks like Ubuntu just cannot see my internal DVDRW drive in a sony FZ140E
  • 11.theDuck | June 28th, 2007 at 1:48 am Wow! Taylor, thanks for getting back to us – so you get the Busybox error just because of a prob with your internal dvd drive – that’s interesting. Cool you dropped back by to let us know – I’m sure someone else will find your tip useful too congrats on working it out! M
  • 12.shewdiz | July 4th, 2007 at 1:57 am hey I have written a so much easier solution in my blog
    http://blog.shevin.info/2007/04/how-did-i-fix-cant-acess-tty-in-feisty.html
  • 13. brombadeg | September 16th, 2007 at 7:50 am I lost, sorry! If I set HDD first, CD-Rom second and FDD third, what can it do? I have a brand new laptop and no fdd, I tried the usb boot first, cd second, but not use. 🙁 I might get a chance for the alter install.
    Thanks for any help!
  • 14. manz | October 3rd, 2007 at 11:01 pm I dont have floppy drive in my pc..what other method can i follow?
  • 15.after a recent xoops upda&hellip | October 4th, 2007 at 9:39 pm […] ubuntuforums.org. id consider the alt cd or maybe even debian or the gutsy installer. some links: http://www.utheguru.com/solution-ubuntu-linux-binsh-cant-access-tty-job-control-mode-off-error […]
  • 16. abid | November 16th, 2007 at 4:20 pm /bin/sh; can’t access tty. job controled turned off.
    is giving message when i turn on my system.
  • 17. CE | January 2nd, 2008 at 8:31 am Regarding /bin/sh: Can’t access tty; job control turned off Apparently, there are a bizillion reasons that this error occurs, but in my case, it was because the Ubuntu Live CD couldn’t recognize some of the hardware on the machine I was installing to. (I was able to install it successfully on other machines–it was just one troublesome machine). Here is what worked for me: 1. When the bootup screen appears, press F6
    2. Type the following: acpi=off irqpoll
    3. Press the Enter key.
    4. View the Live CD and install Ubuntu. You have to make sure that this problem is resolved when Ubuntu boots, too. To do that: 1. Boot your computer so that GRUB is displayed.
    2. Press the “e” key to go into edit mode.
    3. Press “o” to add a new line to the script.
    4. Type the following: acpi=off irqpoll
    5. Press the Escape key. In the event that acpi=off doesn’t work try replacing the entry above with one of the following: * acpi=force irqpoll
    * nacpitimer irqpoll You may have to revisit the second set of steps when you upgrade ubuntu. I hope this helps.
  • 18.theDuck | January 2nd, 2008 at 9:10 am Hey Thanks CE for your really helpful comments – yep, failure to recognise hardware seems to be a common thread – especially removavble media like CD and DVD drives Cheers! M
  • 19. luizrosalba | February 13th, 2008 at 11:21 pm inredible . worked for me!! i wonder why that error occurs
  • 20. caterpillar | February 26th, 2008 at 7:45 pm hi all.. im a new ubuntu user.. im in malaysia.. i just bought a new acer aspire 4920.. i wonder if anyone can help me with installing the ubuntu in my laptop without any problems?
  • 21. caterpillar | February 26th, 2008 at 7:47 pm by the way.. im using Fiesty since that the new version havent shipped here yet.. XP
  • 22. Dragonk76 | March 1st, 2008 at 5:34 am Hey had the busybox error too. Freespire installed perfect on laptop dual boot with xp but error happened when I installed to my desktop which is dual boot and has a SATA drive. After fussing about I used the advanced menu in when the grub popped up and chose the “no hardware detected” option it booted up so I thought I better restart it and works perfect up this might help someone.
  • 23. doez | April 3rd, 2008 at 12:08 am thank’s
  • 24. Ed Bolanos | May 1st, 2008 at 6:42 am I received the same error but was able to install using a USB CDROM instead of the internal CDROM. Go Figure. Ed
  • 25. colin | November 7th, 2009 at 9:22 am hi thanks yes worked for me to ,had to let the cd rom bite first then quickly slamed in the floppy and away it went no more going on about job controll off on or bleedin tty
    thanks again duck
    colin
Читайте также:  Linux executable file version

Источник

can’t access tty; job control turned off

Получаю шелл и в прибавку к нему: «/bin/sh: 0: can’t access tty; job control turned off».

Если запустить что-то и сделать ^C, то все поломается нафиг:

/bin/sh: 0: can't access tty; job control turned off $ ping ya.ru PING ya.ru (87.250.250.242) 56(84) bytes of data. 64 bytes from ya.ru (87.250.250.242): icmp_seq=1 ttl=54 time=27.1 ms 64 bytes from ya.ru (87.250.250.242): icmp_seq=2 ttl=54 time=28.6 ms ^C Сеанс завершён, выполняется завершение оболочки… --- ya.ru ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 27.149/27.897/28.646/0.766 ms $ exit … ожидает завершения потомка. 

В инете такую штуку нашел только если ОСь не грузится или когда делают sh /dev/console. Тут просто sh. Как лечить?

Скрипт запущен от рута. Надо дать пользователю его шелл
su $user -c /bin/sh

/bin/sh оболочкой пользователя, скорее всего, не является.

user@maria:~ $ cat /tmp/ppp328 #!/bin/bash -x su $SUDO_USER user@maria:~ $ sudo /tmp/ppp328 + su user user@maria:~ $ exit user@maria:~ $ 

Zmicier ★★★★★ ( 01.12.17 20:13:18 MSK )
Последнее исправление: Zmicier 01.12.17 20:19:43 MSK (всего исправлений: 1)

Гугли как через setsid шелл запускать.

На su $user -c «/bin/bash -x» он выплевывает содержимое какого-то конфига, а перед этим это:

bash: невозможно установить группу терминального процесса (-1): Неприменимый к данному устройству ioctl bash: в этой оболочке нет управления задачей 

И? Зачем вы вообще попытались сделать эту глупость?

Гугли как через setsid шелл запускать.

Но зачем? su(1) разве сам не вызывает setsid(2)?

Но повторю — делать это просто излишне.

А вы прочитайте man. при -с не вызывает, и прямо так в man-е и написано.

А вы прочитайте man. При -с не вызывает, и прямо так в man-е и написано.

Ну, во-первых, давайте прочитаем.

-c, --command COMMAND Specify a command that will be invoked by the shell using its -c. The executed command will have no controlling terminal. This option cannot be used to execute interactive programs which need a controlling TTY.

А во-вторых, какая еще «-c», когда нужно ровно обратное?

Читайте также:  Writing linux file system

Может вам и надо обратное, но в топике ясно написано: проблема с su user -c /bin/sh

vodz ★★★★★ ( 02.12.17 00:03:09 MSK )
Последнее исправление: vodz 02.12.17 00:03:25 MSK (всего исправлений: 1)

но в топике ясно написано: проблема с su user -c /bin/sh

Вот сколько себе говорил, что с вами спорить — только расстраиваться. В попытке показать, что вы непогрешимы вы идёте на полный подлог и такое кривляение, что руки опускаются. Какое нафиг бинго? Вы оба с ТСом не могли полсуток прочитать man su, а теперь лицедействуете «там написано наооборот, а нам надо наоборот». Тьфу.

НУ ок, я дурак. И чо как решать?

Да не, это нормально. Ведь job control — весьма специфическая часть каждой ОС и не такая простая вещь сама по себе. Просто надо понимать, что захват терминала для управления задачами на нём — это одно из привелегий, даётся для пользователя опцией. Потому, если «su -l» не проходит по причине, что пользователю не разрешён интерактивный вход, значить вы хакаете опции системы, специально придуманные. Можно ли обойти? Ну можно, только нестандартыми средствами, програмкой враппером над шелом, который умыкнёт управляющий терминал. А вот стандартными нельзя не по причине, что дураки не догадались, а по причине желания вами замкнутого круга: я хочу чтобы вот эта опция работала, но обходилась, но не обходилось если вот так на шкаф залезть и так до бесконечности.

Да не хакаю я опции системы. Мне нужен примитивный скрипт, который меняет время на заданное, дает пользователю шелл для действий, по выходу из шелла вертает время взад. Скрипт надо запускать от sudo\root, ибо время в линуксе меняет только рут. Пользовательский шелл должен быть с обычными пользовательскими привилегиями, ибо действия, которые надо в нем совершать надо проводить от мени пользователя.

Читайте также:  Как поднять домен linux

И что? В Линуксе нет средств понизить привилегии?

Судя по описанию, вы чёрт-е что там хакаете 🙂

Пользователь до этого скрипта как добирается? Логинится на консоль, по сети или вообще в своей сессии вдруг вздумается и вызовет ваш скрипт? Если логинится, то без программирования проще всего на PAM, если он у вас в системе сеть. Там есть pam_exec, можно сделать вызов скрипта на вход и на выход.

Просто делает sudo xxxx.sh. Залогинившись. Что, это такая сложная задача, понизить юзера временно обратно до user-level? Без PAM, костылей и неизвестно щее чего?

Источник

Оцените статью
Adblock
detector