dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Want Dijkie heeft uw hulp nodig met het volgende:

Ik probeer in Debian Linux de boel zo geregeld te krijgen, dat waneer leden van de groep "familie" inloggen, bash automagisch het programma MC (Midnight Commander) start.

Het liefst regel ik dat centraal in /etc/profile, zodat ik niet voor iedere gebruiker van de familiegroep zijn ~/.bashrc hoef aan te passen. Ik neem aan dat er een if-statement aan te pas moet komen, maar heb daar weinig ervaring mee.

Dus.... welke internetheld helpt me uit de brand?
23-01-2012 om 12:24 | 85 reacties | 1 | Zuigt! Heerst!
 
Zelf ook zeiken
Gezeik van anderen
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
DIJKIE WEET OOK NIET ALLES!!! /FPS
23-01-2012 12:25:14 | # | 0 | Zuigt! Heerst!
fishbowl Retecool Goldmember

Aantal posts: 292
Aantal reacties: 11944
MISSCHIEN MOET JE HEM ANDERS VASTHOUDEN
1 ster!2 sterren!
23-01-2012 12:37:44 | # | 13 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
HET IS TOCH GEEN iPHONE
23-01-2012 12:40:28 | # | 1 | Zuigt! Heerst!
Roel Zwaar Retecool Goldmember

Aantal posts: 46
Aantal reacties: 10627
MISSCHIEN MOET JE DE CAPSLOCK UITZETTEN
1 ster!
23-01-2012 13:13:40 | # | 7 | Zuigt! Heerst!
pedigree Retecool Goldmember

Aantal posts: 54
Aantal reacties: 5658
Midnight Commander? Is dat een titel van Vivid of Wicked?
23-01-2012 14:41:03 | # | 2 | Zuigt! Heerst!
LatinKing Retecool Reaguurder

Aantal posts: 1
Aantal reacties: 436
zet dit eens in de /etc/profile

familie=`/usr/bin/groups|grep familie|wc -l`
if
[ ${familie} -eq 1 ]
then
zet hier pad en commando naar keuze
fi
23-01-2012 14:44:27 | # | 0 | Zuigt! Heerst!
LatinKing Retecool Reaguurder

Aantal posts: 1
Aantal reacties: 436
dit werkt wel alleen maar als je 1 groep hebt met het woord familie erin, als je dus andere groepen hebt zoals kutfamilie, schoonfamilie


dus je moet een exacte grep doen op de group

dit door een -w te geven

familie=`/usr/bin/groups|grep -w familie|wc -l`
23-01-2012 14:54:10 | # | 0 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Ik ga het proberen, LatinKing! Bedankt alvast. Er is maar 1 groep met de naam familie, dus het zou moeten werken...
23-01-2012 14:57:06 | # | 0 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Latinking: het werkt niet:

-bash: [/usr/bin/groups: No such file or directory
23-01-2012 15:34:35 | # | 0 | Zuigt! Heerst!
Geenszins Joling Retecool Goldmember

Aantal posts: 18
Aantal reacties: 25934
Probeer 'kutfamilie' eens...
23-01-2012 15:54:50 | # | -2 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Ik heb 'm denk ik:

grep -w familie /etc/group | grep $USER | wc -l
23-01-2012 15:55:37 | # | 0 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Hmmm, dat werkt ook niet... zegt 'ie dat 'ie grep niet kan vinden?!!
23-01-2012 16:14:51 | # | 0 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
-sh: [bin/grep: not found
23-01-2012 16:15:30 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
In wezen zou het met `getent passwd $USER` of `getent group groep` moeten kunnen.
Maar de vraag is of de hele familie samen in een groep (=lusers) zit, en op die manier te filteren is?

Redelijk basismateriaal is soms te vinden in /etc/profile.d/*
23-01-2012 16:17:40 | # | 0 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Het probleem is nu dat 'ie grep niet kan vinden vanuit het /etc/profile script, vanaf de commandline werkt mijn oplossing gewoon...
23-01-2012 16:20:00 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546

#!/bin/sh
# Fourth field := (numerical) groupid
DIJKZUSSEN=`getent passwd $USER | cut -f 4 -d :`
# echo $DIJKZUSSEN
[ $DIJKZUSSEN -ne 6969 ] && exit

/path/to/mc &

# Eof
23-01-2012 16:31:34 | # | 3 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Wil je dat eens toelichten, Wildplasser? Het is voor een schoolopdracht, het is wel de bedoeling dat ik kan uitleggen hoe/waarom het werkt.

Ik heb nu zelf het volgende bedacht:

CHECK_GROUP='grep -w familie /etc/group | grep $USER | wc -l'
if [${CHECK_GROUP} -eq 1]
then
mc
fi

Als ik "grep -w familie /etc/group | grep $USER | wc -l" vanaf de commandline uitvoer, komt er netjes "1" uit, maar vanuit het script werkt het niet, dus ik doe vast iets fout, maar wat?
23-01-2012 16:50:56 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
The manual is your friend, dijkmans.
man getent
man 5 passwd
man 1p sh

In het kort :

  1. ik zoek de user ($USER) op in /etc/passwd (mbv getent, dat is hip, en zou ook moeten werken als je meer dan een plaintext passwd file hebt)
  2. uit de regel haal ik het group-id
  3. ik test of dat aan de dijkie-sisters toebehoort
  4. zo niet: exit; niets te doen voor de plasser
  5. start mc in de achtergrond
  6. Profit!
23-01-2012 17:06:24 | # | 2 | Zuigt! Heerst!
fishbowl Retecool Goldmember

Aantal posts: 292
Aantal reacties: 11944
10 PRINT "Dijkie is een prutser! ";
20 GOTO 10
1 ster!
23-01-2012 17:06:47 | # | 8 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Oh, en dat groupid==6969 was een gokje.
23-01-2012 17:07:49 | # | 1 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Zenks voor de uitleg! Ik ken het man commando, maar ik ben lui ;-)
23-01-2012 17:33:37 | # | 0 | Zuigt! Heerst!
Robbie! Retecool Reaguurder

Aantal posts: 103
Aantal reacties: 4639
Een man is ook niet zo dijkie z'n ding.
23-01-2012 18:09:45 | # | 4 | Zuigt! Heerst!
gronk Retecool Goldmember

Aantal posts: 394
Aantal reacties: 14943
Dijkie doet dat niet.
23-01-2012 18:12:37 | # | 0 | Zuigt! Heerst!
Blasfemist, Stapt legaal Retecool Reaguurder

Aantal posts: 2
Aantal reacties: 4734
Dijkie heeft Linux?
Of is het iLinux?
23-01-2012 19:18:53 | # | 0 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Beiden
23-01-2012 19:38:56 | # | 0 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Het enige dat ik NIET heb is Windows. God zij dank.
23-01-2012 19:39:16 | # | -2 | Zuigt! Heerst!
Draken. Retecool Goldmember

Aantal posts: 86
Aantal reacties: 6850
Ik dacht dat God Windows juist gemaakt had. Ik mocht die man al niet.
23-01-2012 19:52:33 | # | 0 | Zuigt! Heerst!
Parallaxhhh Retecool Goldmember

Aantal posts: 29
Aantal reacties: 6316
School?
23-01-2012 21:55:35 | # | 0 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Ja, je weet wel. Da's zo'n gebouw met lokalen waar je dingen kunt leren.
23-01-2012 22:00:43 | # | 0 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304
Het is voor een schoolopdracht, het is wel de bedoeling dat ik kan uitleggen hoe/waarom het werkt.

OMFG. Krijg je ook ooit les waarom je nooit meerdere keren grep enzo voor dit zulk ongein aanroept, of wordt er vanuit gegaan dat dit op de werkvloer er vakkundig uit wordt geslagen?

Hint 1: Bij het opstarten van een nieuw proces, zoals een shell, wordt de proceseigenaar een gegeven moment de user, zeg DijkiesZus, en is lid van een groep, zeg DijkiesZussen (groep 6969).

Hint 2: Je kunt dan de user-id en de group-id opvragen met een standaard Posix commando:

[ $(id -g) == 6969 ] && /VOLLEDIGPADNAAR/mc
of
[ $(id -gn) == "DijkiesZussen" ] && /VOLLEDIGPADNAAR/mc
23-01-2012 22:04:46 | # | 2 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304
...de laatste moet niet == maar -eq zijn.

/UNDO
23-01-2012 22:06:52 | # | 0 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Het was al opgelost Monade, zonder meerdere greps zelfs!

Ik heb het inderdaad met het id -Gn commando gedaan, alleen heb ik er nog een if-statement omheen gezet.

Bleek dat het steeds niet werkte omdat ik hier en daar een spatie was vergeten. D'oh!
23-01-2012 22:17:00 | # | 0 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304
Ok, weet je nu ook waarom die spaties belangrijk zijn?

/Jaren 70 software is fan-taaastisch!
23-01-2012 22:19:08 | # | 1 | Zuigt! Heerst!
gronk Retecool Goldmember

Aantal posts: 394
Aantal reacties: 14943
Spaties, pffrt!

Tabs FTW!
23-01-2012 22:22:53 | # | 0 | Zuigt! Heerst!
fishbowl Retecool Goldmember

Aantal posts: 292
Aantal reacties: 11944
23-01-2012 22:53:49 | # | 0 | Zuigt! Heerst!
fishbowl Retecool Goldmember

Aantal posts: 292
Aantal reacties: 11944
1 ster!
23-01-2012 22:54:32 | # | 5 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304


/Aan het sparen voor een Android tablet én een iPad2
23-01-2012 23:05:48 | # | 3 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
School zegt'ie?
Als je hier al van in de war raakt moet je misschien je schoolgeld terugvragen.
Wat ik bedoel te vragen: wat heb je vooraf allemaal voor truuks van school geleerd en wat heb je zelf in elkaar geknutseld en dus: wat heb je nu feitelijk geleerd?

/VAN MIJN BELASTINGCENTEN!
23-01-2012 23:37:29 | # | 1 | Zuigt! Heerst!
Witjoekel Vilmer Retecool Goldmember

Aantal posts: 41
Aantal reacties: 4975
lol@ spaties! Is die school je misschien aangeraden door Blues?
23-01-2012 23:56:06 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Ah, die id (whoami) daar had ik even niet aan gedacht. Maar ja: het staat al in de environment als die puntfiles worden aangeroepen, dus is $USER ook goed. In beide gevallen vergt het een extra subshell, dus complexitywijs maakt het niet uit.

zo dijkmans, ga dat maar aan je onderwijzer uitleggen!
snotneus.
24-01-2012 00:03:42 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Oh, en @Monade $(id) voor een subproces is een bash-isme. De echte bourneshell heeft backticks nodig.
24-01-2012 00:07:35 | # | 0 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304
Maar ja: het staat al in de environment als die puntfiles worden aangeroepen, dus is $USER ook goed.

Precies, maar die syntax is shell-afhankelijk en ik doe dit semi-quasi uit mijn hoofd. Environment variables zijn beterder en snellerder, maar Posix 's id en BSD's whoami zouden bijna overal moeten werken na het jaar 2000.

Oh, en @Monade $(id) voor een subproces is een bash-isme. De echte bourneshell heeft backticks nodig.

Nou, volgens mij heeft de post-1985(?) Bourne shell al $(), maar ik kan het nu niet controleren, want alles is nog steeds in opslag. Ik heb hier alleen een ouwe laptop met Windows XP. (Free|Net|Open)BSD's sh snapten $() al in 1994, en zelfs SunOS 4.x sh en ksh snappen $(), dacht ik.

/Een Sun, een Sun! Mijn koninkrijk voor een Sun!
24-01-2012 00:28:15 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Misschien was ik ook wel in de war met gnu make, die $(command arg1 arg2) toestaat.

Ik had het moeten opzoeken. (dit was een hint voor Dijkie)
24-01-2012 00:32:27 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Bij bourneshells worden de $USER $HOME en $MAIL meegegeven. Minstens. Wordt door getty+login verzorgd. (en door crond, godzijdank)
De meeste shells in X-windows enzo zijn dochtershellen, maar hebben wel de environment geerfd.
24-01-2012 00:39:22 | # | 0 | Zuigt! Heerst!
Witjoekel Vilmer Retecool Goldmember

Aantal posts: 41
Aantal reacties: 4975
Was Ketsman maar hier..
24-01-2012 01:14:03 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Gaan we stoken?
24-01-2012 01:18:09 | # | 1 | Zuigt! Heerst!
Witjoekel Vilmer Retecool Goldmember

Aantal posts: 41
Aantal reacties: 4975
Ik zou niet durven. Volgens mij is ons Kets behoorlijk thuis op dit gebied, vandaar.
24-01-2012 04:01:39 | # | 0 | Zuigt! Heerst!
Blasfemist, Stapt legaal Retecool Reaguurder

Aantal posts: 2
Aantal reacties: 4734
Hahaha Monade gebruikt XP

(hebben we die ook weer gehad)
24-01-2012 10:18:02 | # | 0 | Zuigt! Heerst!
LatinKing Retecool Reaguurder

Aantal posts: 1
Aantal reacties: 436
Dijkie je hebt de syntax neem ik aan wel in de /etc/profile gezet.

Het is altijd aanbevolen het volledige pad op te geven in je script.

dus niet alleen maar mc

maar bijvoorbeeld /usr/local/bin/mc

je hebt kans dat het niet werkt omdat het commando niet gevonden word;
24-01-2012 14:59:43 | # | 0 | Zuigt! Heerst!
LatinKing Retecool Reaguurder

Aantal posts: 1
Aantal reacties: 436
probeer eens een echo in het script te zetten van je variable

CHECK_GROUP='grep -w familie /etc/group | grep $USER | wc -l'
echo ${CHECK_GROUP}
if [${CHECK_GROUP} -eq 1]
then
mc
fi
24-01-2012 15:02:02 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
n00bs.

Lees eerst deze pagina eens even goed door: Award-winning "Useless use of <shellcommand>" verzameling met links naar nog meer useless-use-of-shellcommand pages.

http://partmaps.org/era/unix/award.html
24-01-2012 20:22:53 | # | 1 | Zuigt! Heerst!
Wokboy, Bruin Links is ook een coalitie Retecool Reaguurder

Aantal posts: 0
Aantal reacties: 512
Ha, de useless use of cat award, klassieker.

In de afdeling klassiekers wil ik er dan ook nog wel eentje posten:

The case of the 500 mile e-mail

Want Dijkie doet Linus, en dat is wel een linkje waard.
25-01-2012 09:38:38 | # | 1 | Zuigt! Heerst!
Wokboy, Bruin Links is ook een coalitie Retecool Reaguurder

Aantal posts: 0
Aantal reacties: 512
En Marjolein, je doet me denken aan Miranda

25-01-2012 09:41:26 | # | 3 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304
Ach, als je de bootstrap niet hebt ingeklopt met een frontpanel, uit je hoofd, op een computer die je zelf hebt ontworpen, net zoals het OS trouwens, ik denk hier bijvoorbeeld aan Seymour Cray en Edsger Dijkstra, dan kun je beter zwijgen.

/Zwijgt.
25-01-2012 09:57:29 | # | 1 | Zuigt! Heerst!
Wokboy, Bruin Links is ook een coalitie Retecool Reaguurder

Aantal posts: 0
Aantal reacties: 512
Haha Monade zegt bootstrap.

IPL'en Monade, IPL'en. Dat moet je doen. Broekie!
25-01-2012 10:01:14 | # | 0 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304
Bootstrap is de algemene term, IPL is een IBM'isme. En CDC's, Crays, en Elektrologika's zijn geen IBM's.

/IBM: you can find better, but you can't pay more.
25-01-2012 10:06:17 | # | 0 | Zuigt! Heerst!
Wokboy, Bruin Links is ook een coalitie Retecool Reaguurder

Aantal posts: 0
Aantal reacties: 512
/IBM: Insidious Black Machines

En Elektrologika.... *neemt hoed af uit repsect voor een echte kenner*
25-01-2012 10:08:03 | # | 0 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304
Kennen is niet kunnen, @Wokboy.

/En dmr is ook al dood. Gave gast. Postte jarenlang in alt.folklore.computers.
25-01-2012 10:27:12 | # | 1 | Zuigt! Heerst!
gronk Retecool Goldmember

Aantal posts: 394
Aantal reacties: 14943
25-01-2012 10:33:05 | # | 3 | Zuigt! Heerst!
Valentijn, namens de gehele Nederlandse bevolking Retecool Reaguurder

Aantal posts: 0
Aantal reacties: 1042
Ik weet niet precies wat iedereen aan het eikelen is, maar met "getent passwd", "id -g" en soortgelijken krijg je alleen de primary group te zien. Wat je wilt is weten of iemand lid is van de group "familie".

Het simpelst is volgens mij:
groups|egrep -q ' familie( |$)'

Let wel: ik gebruik "egrep" omdat ' familie\( \|$\)' er zo lelijk uitziet.

Maar eh, niet om het een of ander: als je "mc" in /etc/profile zet, dan wordt mc onderdeel van de startup-sequence van Bash. Dus stop je dan mc, dan krijg je alsnog de shell voor je neus. Waarom verander je de login-shell niet, voor iedereen die lid is van "familie"?
for user in `getent group familie|cut -f4 -d:|tr , " "`; do chsh -s `which mc` $user; done
25-01-2012 15:35:09 | # | 1 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
newgrp zussen 2>/dev/null && exec /luser/bint/mc

# nou jij weer.
25-01-2012 17:11:27 | # | 2 | Zuigt! Heerst!
Wokboy, Bruin Links is ook een coalitie Retecool Reaguurder

Aantal posts: 0
Aantal reacties: 512
Hee, wat zou er gebeuren als ik mc als shell in de passwd file zet?

/proberen gaat
25-01-2012 18:48:20 | # | 0 | Zuigt! Heerst!
Wokboy, Bruin Links is ook een coalitie Retecool Reaguurder

Aantal posts: 0
Aantal reacties: 512
Jammer, werkt niet. Kan niet authenticeren :)
25-01-2012 18:56:54 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
@Wokboy: hij moet dan ook in /etc/shells staan
25-01-2012 19:35:52 | # | 0 | Zuigt! Heerst!
Witjoekel Vilmer Retecool Goldmember

Aantal posts: 41
Aantal reacties: 4975
Ik vind het wel wat ver gaan om ons Dijkie een luser te noemen eigenlijk.
25-01-2012 20:15:37 | # | 1 | Zuigt! Heerst!
Valentijn, namens de gehele Nederlandse bevolking Retecool Reaguurder

Aantal posts: 0
Aantal reacties: 1042
@wildplasser ik vind 'm mooi, met newgrp. Om je zogenaamde shell in /etc/profile te zetten verdient nog geen schoonheidsprijs, daar niet van trouwens.
@wokboy knap, dat je ("Hee, wat zou er gebeuren als ik mc als shell in de passwd file zet?") het toch nog als een eigen uitvinding weet te presenteren!
25-01-2012 20:29:17 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Dankje. Ik vond hem bij nader inzien zelf ook geniaal. Mag ik dat zeggen? Ja dat mag ik zeggen.

Heb ooit een programmeer-column gelezen over “there is no such thing as try” ofzo. Daar valt dit ook onder: niet eerst testen of het kan, maar gewoon meteen doen, en naar de return/exit code kijken. Het is handig om als adagium in het hoofd te houden.

Grappig bij dit soort topics is trouwens dat er vele wegen naar Rome leiden, en dat we er nu pas na twee dagen achter komen wat het elegantst of meest geschikt is. Kan je op je werk ook je voordeel mee doen: regelmatig af en toe een uurtje met iemand meedenken (en wederzijds), kom je vanzelf op nieuwe ideeen. (en begin niet over agile of team progamming of scrum of meer van dat soort PHB onzin, het is gewoon common sense. /rant)

En MC is een lutser-magneet, laat dat duidelijk zijn.
25-01-2012 20:43:39 | # | 0 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304
newgrp zussen 2>/dev/null && exec /luser/bint/mc

Oooh, Nifty! Behalve dat je de exit code moet checken op fail en dat het mogelijk is dat newgrp vraagt om het invoeren van een passwd, zie ik in man newgrp op een remote Lienoeksbak bij DDS.

Midnight Commander is trouwens een GNU-security GNU-hole Gnu-waiting GNU happn, dus iedereen die dat in /etc/shells zet verdient het om geroot te worden.

Gewone users die lid kunnen zijn van meerdere groups is trouwens een scherpe opmerking @Valentijn. Persoonlijk zou ik kiezen voor een for-lus over de resulterende array, maar ja, ik ben een Bourne-shell-weenie.

/Mijn Unix-neuronen beginnen weer op te spelen EN DAT IS JULLIE SCHULD !!1!
25-01-2012 22:06:53 | # | 1 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Ah, dat prompten had ik niet aan gedacht. redirect stdin werkt waarschijnlijk niet omdat passwd-dingetjes meestal de tty (re-)aquiren.
Damn... lastig. back to the ol' drawing board ...
25-01-2012 22:20:39 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Ehh, die exit-code checken is gewoon short-circuit evaluation natuurlijk, net als bij jouw UNIX-neuronen.
25-01-2012 22:22:24 | # | 1 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304
Laat dat "evaluation" bij "short-circuit" maar weg.

/En gelukkig maar!
25-01-2012 22:25:54 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Heb even TFM gelezen, zodat ik Dijkie straks uit mijn hoofd kan voorlezen:
“The user will be denied access if the group password is empty and the user is not listed as a member.”

Ik begrijp hieruit dat er dan niet geprompt wordt. Dat levert dus de oplossing: maak een groep midnightdijkiesisters aan metzonder password, en stop alle dijkiesisters en andere distributiecentraeigenaressen er in.

Dan zou
newgrp zussen 2>/dev/null && exec /luser/bint/mc
dus de trick motte doen.
25-01-2012 22:47:31 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
Hier heb je de ZAK versie/oneliner ("Zero Administration Kit") behalve dan dat de beheerder de gebruiker lid moet maken van de betreffende groep. Geen gezeur met passwordvragende ogen, rogue tty-overnames of falende failure checks.

De gebruiker/ster hoeft de gewenste groep niet als primaire groep te hebben. De test checkt of de huidige $LUSER in de target groep zit. Zo ja, exec dan into "mc" (en wat WP daar zegt over lutsermagneet!)

if [ -n "`id | sed -n '/(zussen)/p'`" ]; then exec /luser/bint/mc; fi
26-01-2012 00:07:30 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
@Marjo: jouw linkje gaat dus over billy-boy-play-station-4, aka Sissy-OS.

We hadden het hier dus over unix-achtigen.

FWIW: mijn newgrp-hack werkt dus niet als zussen de default (en/of huidige) groep is, hij gaat toch prompten. raarrrr.
26-01-2012 00:26:21 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
Ikweettoch WP!
Maar ik vond de toevoeging "ZAK" in het Nederlands altijd zo leuk associëren met voornoemd sissy-os.

Mijn ZAK-versie werkt gewoon op alle posixen. ("ksh" op OpenBSD, op Mac OSX (niet zo surprising), bash op Lienoeks ...)
26-01-2012 02:36:13 | # | 0 | Zuigt! Heerst!
Valentijn, namens de gehele Nederlandse bevolking Retecool Reaguurder

Aantal posts: 0
Aantal reacties: 1042
@marjolein waarom dat gedoe met de output van sed en test? is
id|grep -q '(zussen)' && exec /..../... niet goed?
@wokboy, @@wokboy & @wildplasser: mc als shell zou gewoon moeten werken. Je kunt als luser je shell overigens niet wijzigen als de nieuwe shell niet in /etc/shells staat. Waarom Wokboy niet meer kan inloggen als 'ie z'n shell wijzigt, weet ik niet, het lijkt op een typo. Ik kan zelf althans niets vinden dat erop wijst dat "login" de /etc/shells zou nalopen. Het commando chsh doet dat wel.

Ik heb overigens medelijden met de familie van Dijkie zeg. Wat een partij brakke rommel is dat mc. Voorwaarts, op naar 1985. Misschien kun je ze dosemu als shell geven, met Norton Commander erop? Dat werkt ongeveer even goed maar het oogt misschien nog net wat vertrouwder. Voor opa en oma dan.
26-01-2012 10:23:11 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
@Valentijn: een beetje compassie met Marjolein, graag. Ze is enige tijd blootgesteld geweest aan Python, en heeft zich een vrij barok idioom aangemeten. Haar idee van elegantie is ook ietwat aangetast: ze loopt zelfs op Uggs-schoenen, heb ik gehoord.
26-01-2012 10:38:29 | # | 0 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304
En ze heeft Apple.
26-01-2012 10:43:45 | # | 0 | Zuigt! Heerst!
pedigree Retecool Goldmember

Aantal posts: 54
Aantal reacties: 5658
Dus.
26-01-2012 10:54:34 | # | 0 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304
Nou, zus en zo, @pedigree.
26-01-2012 11:01:49 | # | 0 | Zuigt! Heerst!
Valentijn, namens de gehele Nederlandse bevolking Retecool Reaguurder

Aantal posts: 0
Aantal reacties: 1042
Wie vanuit /etc/profile de voor de familie gewenste shell start - diens gevoel voor elegantie is dus niet aangetast?
26-01-2012 11:11:10 | # | 0 | Zuigt! Heerst!
dijkie Retecool Goldmember

Aantal posts: 520
Aantal reacties: 6840
Allemaal bedankt voor jullie input, maar de opdracht is al lang en breed verzonden. ik weet ook niet waarom je MC zou willen gebruiken, maar dat was nou eenmaal onderdeel van de opdracht...
26-01-2012 13:34:09 | # | 0 | Zuigt! Heerst!
fishbowl Retecool Goldmember

Aantal posts: 292
Aantal reacties: 11944
Graag gedaan Dijkie.
26-01-2012 15:32:38 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
UGGS! NOOOOOOOOOOOOOOOO!

@Valentijn: hmmmm, de "grep -q" kende ik nog niet, kijk zo leer je nog eens wat. Dat gestuntel met sed was om eigenlijk juist dat te doen: testen op succesvolle match. Dnak!

Voor sommige gebruikers gebruik ik gewoon "/bin/false" als shell, werkt prima - dus "mc" moet ook kunnen. Handig voor alleen authorisatiechecks. Je kunt namelijk als hacker 100x het juiste wachtwoord weten maar niet inloggen op de machine.
26-01-2012 16:28:25 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
@Dijkie: you're welcome. Maar we doen het niet voor jou hoor. Wij vinden het echt leuk, namelijk.

@Marjolein: dat kan ook met /bin/date heeft die hekkert ook iets om naar te kijken.
(schrijft ie trouwens ook utmp/wtmp records ?)
26-01-2012 16:52:38 | # | 0 | Zuigt! Heerst!

Om te kunnen reageren moet je ingelogd zijn.

Gebruikersnaam:

Wachtwoord:

U zei:
Dus, aldus: Ik mis de BBQ...
cspr, drukt van zich af: Dit is gebaseerd op een lied van Hank Williams: In...
Witjoekel Vilmer: Heh, nee Palermo is een beetje te ver weg voor een ...
biermeester: Waar is de "Wat is dit voor klotenmaaltijd?" /seth?
fishbowl: Haha, NSFA en dan de foto's in de pots potsen. *ac...
Ster
In het forum
Geenszins Joling: Ook dit is weer blof (met streepje door de o)!
Jack Random: JAAA, bij Deaf op de boerderij in Zeeland kamperen,...
Geenszins Joling: En dat was @ gronk natuurlijk
Geenszins Joling: Dat heb ik twee jaar geleden al gedaan maar hij is ...
Jack Random: Echt, ik vind dat zo ironisch. Je moet verplicht sp...
Ster
Sterren
Retecool 8.0 is powered by Howlin' Wolf
Retecool.com is powered by Howlin' Wolf