/srv/irclogs.ubuntu.com/2009/04/06/#ubuntu-server.txt

tchoughi have two machines that do not have matching uid/gids... i wish to use nfs but have the uids match up properly... are there any options for this that work in ubuntu that do not involve setting up NIS?00:16
=== rdw200169 is now known as rdw200169`afk
PhotoJimthere are ways to renumber users... I had the same problem getting a MacBook to work with my Linux network00:50
PhotoJimI did it once... but I'm no expert at it.  but if you google it the solution is out there.00:50
PhotoJimthe thing to remember is that not only do you have to change the users' UIDs and the groups' GIDs, you have to change the owner of any files owned by them00:51
PhotoJimthere are commands that can do that00:52
mat1211Hi, how do I change the home directory of a user?00:59
matttmat1211: usermod00:59
twbmat1211: permanently, or temporarily?00:59
mat1211when you say permenently, do you mean there is no way to change it back? or just that it doesn't go back on reboot.00:59
twbmat1211: no, I mean as opposed to "I need $HOME to be /tmp/tmp.a72bce for the next program01:00
twb"01:00
mat1211nah, I just want to change the home dirs for certain user accounts, permenently unless I change them back that is.01:02
mat1211but was unable to find out how on google.01:02
matttmat1211: usermod will change the home directory in /etc/passwd, but you would need to manually move the directory itself01:04
mat1211I see, and how do I do these things, I am trying to set the users up on my external hd so I can properly give them quotas.01:05
mat1211so every new user I create has a home dir of lets say "/var/homes/users/username"01:09
mat1211is this possible?01:13
matttmat1211: that's possible, sure01:18
mat1211How could I do this?01:18
matttmat1211: take a look at /etc/default/useradd01:18
mat1211is useradd a file that I need to open with an editor?01:19
matttcorrect01:19
twb`Sure you don't want /etc/adduser.conf?01:20
mattttwb`: ah, i use useradd ... but i guess if adduser is your preference then yes :P01:21
twb`useradd is wrong, it's low-level01:21
twb`adduser is what sysadmins should use on Debian/Ubuntu01:21
twb`I mean, unless you *want* to remember to populate stuff from /etc/skel or whatever the differences actually are.01:21
mattttwb`: quite new to debian/ubuntu myself, will make a note of that ... tnx.01:22
twb`mattt: just to be clear: adduser is a wrapper on top of useradd that does extra stuff01:24
mattttwb`: i come from a red hat background, where useradd is typically used01:32
mattttwb`: but thanks for pointing this out01:32
mat1211_How can I change a single users home dir? my old admin user can't create users anymore.01:52
mat1211_?01:55
PhotoJimsorry, I've never done that.  I keep my home directories at /home because that's what standard *nix filesystems look like.01:56
mat1211_shame, this is getting annoying lol02:01
infinitymat1211_: I'm sure there's some standard CLI way to edit home directories, but I can never remember what it is.02:02
twbusermod -d /home/f/r/fred fred02:02
infinitymat1211_: On the other hand, I'd just do "sed -i -e 's,/home/username,/var/spool/username,' /etc/passwd", because I'm evil that way.02:02
twbYou probably also want -m.02:03
infinitytwb: Oh, right, usermod.  I always forget about that one.  BSDisms...02:03
twbinfinity: that's definitely not for newbies02:03
twbinfinity: also, sed -i won't work on BSD :-)02:03
infinitytwb: Sure, but this isn't bsd-server, it's ubuntu-server, and it totally works there. :)02:03
infinitytwb: (The less evil suggestion than sed would be "vipw" which, of course, still requires understanding the file...)02:04
mat1211I've changed my default home directory, and now I can now longer add users.  it says pam authorization failed, account expired or something like that.  What can I do?02:44
twbmat1211: log in as a different user.02:44
mat1211they are all set as old home dir, but I might be able to fix this.02:45
friartuckmat1211 you can switch to root with sudo su -02:45
twbfriartuck: please use sudo -i.02:45
friartucktwb thx, what's the difference?02:46
infinityAbsolutely none.02:46
twbfriartuck: one less fork, and it is easier to lock down.02:46
twb"sudo su - fred" requires you have sudo access as root; sudo -u fred -i requries only sudo access to fred.02:47
friartucktwb nice, thx02:47
infinitySure, from an /etc/sudoers perspective, one is easier to configure than the other.02:47
infinityIf you already have root, though, both are effectively the same. *shrug*02:47
infinity(One login shell is the same as the next)02:48
mat1211what would I do while in the root user?02:48
twbFrom an aesthetic perspective, using "sudo su -" is like saying "ssh rsh".02:48
infinitytwb: I'm not sure how much aesthetics matter here. :)02:48
mat1211that I couldn't do from the other admin one? lol02:49
twbinfinity: well this isn't CentOS...02:49
infinitytwb: (Most of it's finger/muscle memory from other similar commands, too)02:49
infinitytwb: For instance, "chroot /chroot/foo su -" maps nicely in my brain with "sudo su -"02:49
twbEw.02:49
mat1211cause when I create a user in root it still says account has expired. lol I think I broke it.02:50
twbI guess I don't use login shells within a chroot.02:50
infinitytwb: Best way to get a prisitine environment.  *shrug*02:50
infinitytwb: If you use tools like schroot/dchroot, you use login shells in the chroot, it's just cleverly hidden from you.02:50
twbinfinity: normally I use ssh :-)02:51
mat1211?02:51
twbAnd pbuilder over sbuild02:51
infinityMy turn to say "ew"? :)02:51
infinityAnyhow, back to lp-buildd hacking.02:51
friartuckmat1211 did you change root login? home dir?02:52
infinityOr maybe time to realise it's a weekend for a few more hours and watch a movie or something.02:52
mat1211? what's that02:52
matttmat1211: talk us through what you did exactly?02:54
=== smultron_ is now known as smultron
mat1211sorry, I was afk.  But to change the default home dir, I typed. sudo vi /etc/adduser.conf and then changed the dhome var03:18
mat1211but now I cannot create users.03:21
mat1211and I don't know what I can do to fix it.03:22
twbmat1211: what did you change DHOME to ?03:27
mat1211I changed it to /var/www/tb/users03:29
mat1211why? does that change anything?03:31
twbDoes that directory exist?03:35
mat1211yes it exists03:37
twbDoes it have the same owner, group and permissions as /home?03:38
twbIncidentally, *why* do you want users to be created with home directories there?  It violates the FHS.03:38
mat1211? I'm not sure.  I want to create users on my external harddrive, because it will make setting up quotas easier, I think.03:41
mat1211and what permitions are on home?03:41
twbmat1211: ask stat(1)03:42
twbmat1211: I think you would do better to simply mount the external hard drive as /home, or to make /home/foo/public_html a symlink into /var/www.03:43
Iceman_B^LtopPhotoJim: concerning the disabling a login: "chsh <username>" then appoint /sbin/nologin03:43
mat1211hmm maybe, but I am also storing other files on the harddrive, I'll try that though.03:44
PhotoJimIceman_B^Ltop: that sure looks right. :)03:45
Iceman_B^LtopI found the notes a friend typed up when he was here, thought I'd share it03:45
twbmat1211: then perhaps you should have used LVM on that external hard disk, and assigned separate volumes (and filesystems) to its various data storage roles.03:45
mat1211I probably should have, yes.03:46
mat1211I'll go over the harddrive and fix it up.03:46
=== lamont` is now known as lamont
=== dug_ is now known as dug_1
=== dug_1 is now known as dug_
=== twb` is now known as twb
_coredump_moinsen08:16
^law^guys,i  forgot where is th epath of sun jdk location,08:51
^law^hmm i installed it  a week ago08:52
Kamping_Kaiserinstalled via packages/08:53
Kamping_Kaiser?08:53
^law^ya08:54
^law^hmm can't find it08:54
Kamping_Kaiserdpkg -l |grep java to find the package name08:54
Kamping_Kaiserdpkg -L packagename to find where all the files went08:54
Kamping_Kaiserdpkg -l |grep jre may be better btw08:55
^law^oooh thx08:56
Kamping_Kaisernp08:56
^law^i found it  now08:56
^law^:)08:56
Kamping_Kaiser:)08:56
^law^r those line work 4 others?08:57
Kamping_Kaiseryeah08:57
^law^u knw i often 4got where the programs installed08:57
Kamping_Kaiserplease use actual words :|08:57
^law^sorry :)08:58
Kamping_Kaiserthanks ;)08:58
twbIt's better to use dpkg -l *java* than dpkg -l | grep java08:59
Kamping_Kaiserwhyso?09:00
twbBecause it's eagerly evaluated09:00
twbOh actually, I guess dpkg -l alone defaults to only installed packages.  Grr.09:00
twbPersonally I use aptitude search ~i~njava, possibly with an -F %p if I only want the package names09:01
^law^guys, if i wanna install maven , i only need to install maven2 package?09:06
^law^?09:07
DawnLighthello. i'm trying to understand the apache2 configuration for mailman in hardy. the example apache configuration file has AddHandler cgi-script .cgi in <Directory /usr/lib/cgi-bin/mailman/> but the files there don't have .cgi extensions so how does it work?09:12
rst-uanicI think that all files in /usr/lib/cgi-bin are handled as cgi scripts09:14
DawnLightis that in some config?09:15
DawnLightor build-time09:15
DawnLightyes09:16
DawnLightit is in the deafult config file09:16
rst-uanic:)09:18
DawnLightthanks09:23
DawnLightwhy is the "mailman" list shown in the listinfo page?09:26
uvirtbotNew bug: #347250 in likewise-open5 (universe) "Upgrade from Likewise-Open 4 should be mentioned in Debian.NEWS" [Wishlist,In progress] https://launchpad.net/bugs/34725010:42
cjwatsontwb: if you're going to use "dpkg -l *java*", then that should be "dpkg -l '*java*'", otherwise you'll get pretty surprising results when a file in your current directory happens to contain the substring 'java' ...11:05
uvirtbotNew bug: #356149 in mailman (main) "Debconf questions to set passwords" [Undecided,New] https://launchpad.net/bugs/35614911:06
jussi01Hrm, is there a reason you guys have a different bot?11:13
jussi01is it just for the bug reporting?11:13
twbcjwatson: yeah, sorry about that.11:14
twbBut really, what kind of silly person would have a java file ;-P11:14
twbJava is for embedded systems programming.  Embedded systems with 16GiB of RAM...11:14
uvirtbotNew bug: #356187 in samba (main) "SIGSEGV on printing" [Undecided,New] https://launchpad.net/bugs/35618712:21
=== UdontKnow is now known as udk
mat1211_how do I check the permissions and owners of a folder?13:05
jpdsmat1211_: ls -l path/to/folder13:06
mat1211_thx13:08
mat1211_How can I extract a .rar file and keep the directory structure?13:26
jpdsunrar e <rar file>13:28
Appiahunrar x i belive13:29
Appiahjust typ unrar or man unrar to see all the options13:29
Appiah  x     Extract files with full path.13:30
Appiahe     Extract files to current directory.13:30
Appiahhttp://www.edenwaith.com/support/guitar/help/man/unrar.html13:30
* jpds points to manpages.ubuntu.com13:35
=== zoopster1 is now known as zoopster
twbThe interface is different for unrar and unrar-nonfree14:23
* twb goes back to sleep14:24
bn43Hi I'm running an ubuntu server for a charity where there are serious bandwidth constraints - they are using a 3g card.  therefor I have setup ntop to see who's downloading the most but cannot produce reports as ntop resets on reconnection.  I have read that there is no way around this.  Is this true?15:46
bn43oh can someone recommend a monitoring tool - not to show were someone went but just a means of accounting on bandwidth - without stepping on privacy15:47
bn43anyone pls?15:50
bn43oh can someone recommend a monitoring tool - not to show were someone went but just a means of accounting on bandwidth - without stepping on privacy15:56
zulmrtg16:00
friartuckbn43 cacti16:01
bn43friartuck: interesting - google did not bring up cacti as bandwidth monitoring - is there a howto I can go to?16:02
bn43zul: howto?16:02
zulbn43: mrtg.org16:02
bn43I want to be able to compile a report at the end of each week on each ip - ntop does not keep history, do these?16:02
friartuckbn43 http://www.cacti.net . no, mrtg and cacti won't do that per se. but you can monitor each switch port and find out who is connected there and basically get that info.16:04
bn43ok I'll look in16:06
bn43thank you for the responses16:06
dthacker__why doesn't the bacula director package drop the default bacula-dir.conf in the /etc/bacula file?16:06
=== udk is now known as UdontKnow
=== rgreening_ is now known as rgreening
tieuvinhlonghello18:02
tieuvinhlongare you there?18:03
tieuvinhlongalo18:03
Iceman_B^Ltop how can I force Samba to disallow changes in filenames, AND writes to files that are open in a linux process? Eg. rTorrent?19:14
orudiewith disabled password logons, is there a way to login with Filezilla FTP client ?19:19
giovaniorudie: what do you mean? blank passwords?19:26
giovanithat would probably depend on the ftp server and how it interacts with system passwords19:27
ivoks_orudie: you've put /bin/false as a shell?19:27
ivoks_or /bin/true19:28
orudiei'm talking about connection with SFTP when PasswordAuthentication no in sshd_config ivoks_ , giovani19:29
ivoks_then you are using sftp, not ftp?19:29
orudieyes ivoks_ sftp19:30
orudiebut i figured it out already :)19:30
giovaniI don't get why people use sfto19:30
giovanisftp*19:30
ivoks_it depends on your client19:30
orudieyeah filizilla interracts with pageant.exe19:31
ivoks_giovani: they don't trust their isp?19:31
orudiei didnt know that19:31
giovaniivoks_: uh ... use scp instead19:31
ivoks_giovani: that's sftp19:32
ivoks_http://en.wikipedia.org/wiki/SSH_file_transfer_protocol19:32
ivoks_not ftp-ssl, sftp19:32
giovanino, scp is not sftp19:32
giovanithey're different protocols19:32
tieuvinhlonguse ssh19:32
giovanitieuvinhlong: they both use ssh19:32
tieuvinhlongssh protocol19:32
ivoks_giovani: it's implemented by the same library19:33
tieuvinhlongoh.19:33
tieuvinhlongyes19:33
tieuvinhlongyeah19:33
RoAkSoAxhello guys! where can i find detailed information about the integration of eucalyptus into ubuntu and amazon ec2 related stuff?19:33
ivoks_sftp has more features anyway19:33
uvirtbotNew bug: #320470 in mailman (main) "duplicate Mime-Version header " [Undecided,Fix released] https://launchpad.net/bugs/32047019:36
cjwatsongiovani: scp is an awful protocol19:41
cjwatsongiovani: it's not extensible and the bugs in it result in silly quoting requirements19:42
cjwatsongiovani: though it's a shame that the scp client is closer to what people often want despite the worse protocol. In principle it would be possible to reimplement the scp client on top of the sftp protocol, which would be the best of both worlds. I started work on that a while back but it's very much a back-burner project19:43
ivoks_cjwatson: doesn't openssh do that?19:43
cjwatsonivoks_: no19:44
ivoks_even though use type in scp, it does sftp?19:44
ivoks_no? ok...19:44
cjwatson"use type in scp"? EPARSE19:44
ivoks_:)19:44
ivoks_s/use/you/19:44
cjwatsonno, scp works by sshing to the remote host and running scp there in a special mode19:44
cjwatsoninspired by rcp19:44
RoAkSoAxsommer, how can i contribute with the server guide, specially with clustering related?19:59
Davedancan I have several subdomains each pointing to a different ip?20:00
jpdsYes.20:01
Davedanjpds: even if my domain is hosted on godaddy for example?20:02
RoAkSoAxo/ jpds how you doing today!20:02
jpdsDavedan: Depnds on your setup, I've never used GoDaddy.20:02
jpdsRoAkSoAx: Hey there, not too bad, thanks.20:02
Davedanjpds: thanks20:03
RoAkSoAxDavedan, you would just have to add more entries in godaddy. CNAME or IN A entries.20:03
DavedanRoAKSoAx: so I have 2 subdomains on godaddy each one pointing a diffrent IP. How does my apache on ubuntu knows to trust the traffic?20:09
sommerRoAkSoAx: here's a link with some quick instructions for getting the xml source: https://wiki.ubuntu.com/ServerTeam/KnowledgeBase#Documentor%20resources20:12
sommerRoAkSoAx: basically feel free to work on the sections you'd like and submit a patch :-)20:12
giovaniDavedan: I don't know what you mean by "trust the traffic" -- if there are two IPs, you need to tell Apache (and Ubuntu) to listen on those two IPs, and then you'll configure two IP-based virtual hosts, one for each site you want20:14
RoAkSoAxsommer, well i was actually thinking on adding sections such as installation and configuration of Heartbeat V1/V2, Keepalived for healthchecking, LVS based clusters, and DRBD integration with Heartbeat20:14
sommerRoAkSoAx: sure, sounds good to me20:14
RoAkSoAxsommer, ok great!20:15
sommerRoAkSoAx: if you have any questions about the xml files just let me know20:16
Davedangiovani: I'm trying to solve js cross domain limitations and wonder if it possible using subdomains. I want domainA have sub.domainA and point it to the ip on my server. What I'm asking if there is no bad logic with this20:16
Davedangiovani: let's say a client owns domainA and wants to make xmlhttprequest to a different IP20:17
=== ivoks_ is now known as ivoks
giovaniDavedan: that isn't an apache, or ubuntu question20:25
giovanithat's a browser cross domain security question20:25
macman_hi all21:01
macman_do i have to have ubuntu server installed to a network boot ?21:01
ivoksto do a network boot?21:02
macman_yes21:03
ivokson another machine21:03
ivoks?21:03
macman_i want to install ubuntu on another computer21:03
=== mogul218_ is now known as mogul218
macman_the computer has cdrom access and i don't have a floppy to boot it up .. what are my options ?21:03
macman_has no cdrom access*21:03
ivoksnetwork boot21:03
ivoksusb boot21:03
macman_it has no usb eaither21:03
ivoksmaybe it doesn't have usb boot?21:04
ivokserr... network21:04
macman_when i go into the bios i have cdrom , network    etc ..21:04
orudiemacman_, just stick a cd rom in temporarly21:22
ivoksoh, sorry21:24
ivoksforgot about you :)21:24
ivoksmacman_: setup dhcp-server with tftpd on that other machine (which has some form of unix/linux)21:25
ivoksthere should be something like that for windows too21:25
ivoksand then follow https://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install21:25
orudieivoks, is surprisingly polite on mondays !21:26
ivoksf... of.21:26
ivoks:)21:26
orudie:P21:26
ivoksso, how's your mail server?21:27
orudiesold !21:27
orudieincoming, outgoing, mail filter, antivirus21:27
orudieno complaints21:27
ivoksgreat21:27
orudiethanx bro21:27
ivoksstill getting some spam?21:27
orudie1 - 2 a day, before was like 1 - 2 every 10 minutes21:28
ivoksimplement graylisting21:28
orudieon some email accounts21:28
ivoksit's very easy with postgrey21:28
ivoksgreylisting, that is21:29
orudiei actually dont think i would touch it unless I think i have to21:29
ivoksit might kill those 1-2 spams21:29
ivoksand it's one line change21:30
orudieoh yeah :) ?21:30
orudiewhat can i do then ?21:30
ivoksyeah... but there are some side effects21:30
orudiewhat kind21:30
orudie?21:30
orudiesee i rather not touch it bro21:30
ivoksit's the nature of how greylisting works21:31
ivoksit returns temp reject to the other server21:31
ivoksand then the other server will try resending that mail in 5-10 minutes21:31
ivoksand if it tries that, from same ip, from same From, to same To, it will pass21:31
ivoksotherwise it will get temp reject again21:32
orudiemy box was hacked last week, did I tell you ?21:32
ivoks:)21:32
orudienot as bad as my other one a few months ago21:32
orudieat least this time i was able to see what the guy did21:32
ivokshacked your ubuntu server?21:33
orudiethats why i was asking about SFTP earlier21:33
orudieyeah man21:33
orudiemy company's server21:33
ivoksweak password?21:33
orudieyeah21:33
ivokshopefully, not for admin account21:34
orudieand I didnt even know about it , cause I had to teach another guy here how to create / add email accounts through terminal21:34
orudieso he created those 10 email accounts for all employees21:34
ivoksusername test, password test21:35
orudieand one of them was u/n jorge / jorge12321:35
ivoksright? :)21:35
ivoksorudie: install john21:35
orudieuser jorge password jorge12321:35
ivoksjohn the ripper will test your accounts and passwords21:35
ivoksit would've found jorge/jorge12321:36
orudiei disabled password logins for all acounts21:36
ivoksthat doesn't change a thing21:36
ivoksthose people still use username/password for accessing their mail21:36
ivoksand one could abuse your smtp server if you have smtp-auth21:36
orudieyeah, that account is gone though with all the files from the system21:36
ivoksinstall john21:37
orudieapt-get install john ?21:37
ivoksrun it and check passwords21:37
ivoksyes21:37
orudiejohn --test ?21:38
ivokssudo john /etc/shadow21:38
orudieits gonna run for a whil ?21:39
orudiewhile ?21:39
NobleAnyone got a link or some info on how I can intercept or reroute stuff that gets sent to my servers NIC on spesific ports?21:39
ivoksorudie: yes, let it run for a while21:40
=== RoAk is now known as RoAkSoAx
orudiek i only got 20 minutes though, gotta get out of here ivoks :)21:40
ivoksorudie: then kill it21:40
ivoksorudie: it will start every night and check21:40
ivoksorudie: if you uncomment lines in /etc/cron.d/john21:41
orudieLoaded 1 password hash (FreeBSD MD5 [32/32])21:42
orudie ivoks21:42
ivoks?21:42
orudiethats what it told me21:42
ivoksyou have only one user?21:42
orudieno man21:42
orudiei have 1021:42
ivoksyou copied them from another unix system?21:43
orudiebut only 1 user can login with SSH if that has anything to do with it21:43
orudieno21:43
orudiecreated manually here21:43
ivokscan they read mails?21:43
mrwesHey if I'm sending email via smtp with username and password in my /etc/denyhosts.conf should that file have 644 perms?21:43
mrwesI"m thinking 60021:43
orudieyeah21:44
orudiemail is working fine21:44
ivoksorudie: try john --format=DES /etc/shadow21:44
ivoksmrwes: i didn't quite understand your question21:44
orudiewhats that gonna do ?21:45
ivoksmrwes: what does smtp has with /etc/denyhosts.conf?21:45
ivoksorudie: it will take passwords in DES format, instead of MD521:45
orudieNo password hashes loaded21:46
mrwesivok: I'm sending the denyhosts report to my internet hotmail account and in the denyhosts.conf file I have my password and username to that email account and I just noticed the conf file is 644 perms21:46
ivokscould paste send me on pm one of those user accounts you've created?21:46
ivoksfrom /etc/shadow21:47
mrwestherefore readable by others correct?21:47
ivoksnotice that you shouldn't do that if you don't trust me21:47
mrwesheh21:47
orudiei can try john on my other ubuntu box21:47
orudieok?21:47
ivokssure21:47
orudiedont want to mess with this 1 too much21:48
ivoksmrwes: if you entered username and password, you should have it word readable21:48
orudieivoks, wanna connect to my terminal ?21:48
orudieivoks, i'll make you a user name21:49
mrwesivoks, I don't understand that....21:49
orudieivoks, we can connect with screen -x21:49
ivoksmrwes: typo :)21:49
ivoksmrwes: you shouldn't have it world readable21:49
mrwesahh...OK that's what I'm thinking!21:50
mrwesheh21:50
ivoksorudie: i'm not into sharing terminal thing :)21:50
ivoksorudie: that's like sharing your wife21:50
ivoks:D21:50
mrweshrmm...perk21:50
orudiei'm not THAT attached to it21:50
orudieand i'm not married yet, but I see where you are coming from21:50
ivoksorudie: well, you just stared :)21:50
orudieivoks, just started you mean ?21:51
ivoksright21:51
ivoksit's 22:5021:51
ivokstime to close the lid21:51
mrwesthank ivoks21:51
orudieyou going to bed ?21:51
ivoks'night21:52
orudiebye ivoks21:53
dthacker__is the bacula-console-qt packge the same thing as Bacula's "Bat" utility?21:54
ivoksyes21:54
dthacker__thank you21:55
orudiei have my bosse's laptop in front of me ivoks21:57
uvirtbotNew bug: #356599 in openssh (main) "ssh public key not working" [Undecided,New] https://launchpad.net/bugs/35659922:15
uvirtbotNew bug: #354850 in mysql-dfsg-5.0 (main) "amarock" [Undecided,Incomplete] https://launchpad.net/bugs/35485022:41
orudieivoks left ?23:12
renatokrauseGood evening, I am writing a page in init.d from / etc / init.d / skeleton. I have some doubts. Anyone know this part?23:49

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!