/usr/src/libexec/talkd notification broken on pty's when user
is using misc/screen ports in -CURRENT
Vincent Poy
vince at oahu.WURLDLINK.NET
Tue Jul 1 17:22:26 PDT 2003
On Tue, 1 Jul 2003, Cy Schubert wrote:
> Mine configures as follows:
>
> /*
> * define PTYMODE if you do not like the default of 0622, which allows
> * public write to your pty.
> * define PTYGROUP to some numerical group-id if you do not want the
> * tty to be in "your" group.
> * Note, screen is unable to change mode or group of the pty if it
> * is not installed with sufficient privilege. (e.g. set-uid-root)
> * define PTYROFS if the /dev/pty devices are mounted on a read-only
> * filesystem so screen should not even attempt to set mode or group
> * even if running as root (e.g. on TiVo).
> */
> #define PTYMODE 0620
> #define PTYGROUP 4
> /* #undef PTYROFS */
>
> What does your /etc/group look like?
# $FreeBSD: src/etc/group,v 1.28 2003/04/27 05:49:53 imp Exp $
#
wheel:*:0:root,vince
daemon:*:1:
kmem:*:2:
sys:*:3:
tty:*:4:
operator:*:5:root
mail:*:6:
bin:*:7:
news:*:8:
man:*:9:
games:*:13:
staff:*:20:
sshd:*:22:
smmsp:*:25:
mailnull:*:26:
guest:*:31:
users:*:32:root
bind:*:53:
majordom:*:54:
uucp:*:66:
dialer:*:68:
network:*:69:
pgsql:*:70:
www:*:80:
mysql:*:88:
nogroup:*:65533:
nobody:*:65534:
cyrus:*:60:
> Could send me a copy of /etc/devfs.conf.
# Copyright (c) 2003 The FreeBSD Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# $FreeBSD: src/etc/devfs.conf,v 1.1 2003/05/06 01:10:33 dougb Exp $
# These are examples of how to configure devices using /etc/rc.d/devfs.
# The first parameter is always the action to take, the second is always
the
# existing device created by devfs, and the last is what you want to
change.
# The name of the action is only significant to the first unique
character.
#
# Examples:
# Historically X depended on this, but version 4.3.0 doesn't seem to
anymore
#link ttyv0 vga
# Commonly used by many ports
#link acd0 cdrom
# Allow a user in the wheel group to query the smb0 device
#perm smb0 0660
# Allow members of group operator to cat things to the speaker
#own speaker root:operator
#perm speaker 0660
> I'd like to see an ls -l of /dev too.
root at bigbang [5:19pm][/usr/ports/misc/screen] >> /bin/ls -l /dev
total 1
crw-r--r-- 1 root operator 117, 0 Jun 29 00:10 acd0
crw-r--r-- 1 root wheel 152, 0 Jun 29 00:10 acpi
crw-r----- 1 root operator 4, 10 Jun 29 00:10 ad0
crw-r----- 1 root operator 4, 11 Jun 29 00:10 ad0s1
crw-r----- 1 root operator 4, 12 Jun 28 17:10 ad0s1a
crw-r----- 1 root operator 4, 13 Jun 29 00:10 ad0s1b
crw-r----- 1 root operator 4, 14 Jun 29 00:10 ad0s1c
crw-r----- 1 root operator 4, 15 Jun 28 17:10 ad0s1d
crw------- 1 root wheel 148, 0 Jun 29 00:10 agpgart
crw-rw-r-- 1 root operator 39, 0 Jun 29 00:10 apm
crw------- 1 root operator 159, 0 Jun 29 00:10 ata
crw-rw-rw- 1 root wheel 30, 4 Jun 29 00:10 audio0.0
crw-rw-rw- 1 root wheel 30, 0x00010004 Jun 29 00:10 audio0.1
crw-rw-rw- 1 root wheel 30, 0x00020004 Jun 29 00:10 audio0.2
crw-rw-rw- 1 root wheel 21, 0 Jun 29 00:10 bpsm0
crw------- 1 root wheel 0, 0 Jul 1 17:09 console
crw------- 1 root wheel 12, 255 Jun 28 17:10 consolectl
crw-rw-rw- 1 root wheel 1, 0 Jun 29 00:10 ctty
crw-rw---- 1 uucp dialer 28, 128 Jun 29 00:10 cuaa0
crw-rw---- 1 uucp dialer 28, 160 Jun 29 00:10 cuaia0
crw-rw---- 1 uucp dialer 28, 192 Jun 29 00:10 cuala0
crw------- 1 root wheel 173, 0 Jun 29 00:10 devctl
cr-------- 1 root wheel 250, 0 Jun 29 00:10 devstat
crw-rw-rw- 1 root wheel 30, 3 Jun 29 00:12 dsp0.0
crw-rw-rw- 1 root wheel 30, 0x00010003 Jun 29 00:10 dsp0.1
crw-rw-rw- 1 root wheel 30, 0x00020003 Jun 29 00:10 dsp0.2
crw-rw-rw- 1 root wheel 30, 5 Jun 29 00:10 dspW0.0
crw-rw-rw- 1 root wheel 30, 0x00010005 Jun 29 00:10 dspW0.1
crw-rw-rw- 1 root wheel 30, 0x00020005 Jun 29 00:10 dspW0.2
crw-rw-rw- 1 root wheel 30, 11 Jun 29 00:10 dspr0.0
crw-rw-rw- 1 root wheel 30, 0x0001000b Jun 29 00:10 dspr0.1
dr-xr-xr-x 2 root wheel 512 Jun 28 17:10 fd
crw-r----- 1 root operator 9, 0 Jun 29 00:10 fd0
crw-rw---- 1 root operator 127, 0 Jun 29 00:10 fw0
crw-rw---- 1 root operator 127, 1 Jun 29 00:10 fw1
crw-rw---- 1 root operator 127, 2 Jun 29 00:10 fw2
crw-rw---- 1 root operator 127, 3 Jun 29 00:10 fw3
crw-rw---- 1 root operator 127, 0x01000000 Jun 29 00:10 fwmem0
crw-r----- 1 root operator 252, 0 Jun 29 00:10 geom.ctl
crw------- 1 root wheel 2, 14 Jun 29 00:10 io
crw------- 1 root wheel 112, 0 Jun 29 00:10 kbd0
crw------- 1 root wheel 7, 0 Jun 29 00:10 klog
crw-r----- 1 root kmem 2, 1 Jun 29 00:10 kmem
lrwxr-xr-x 1 root wheel 3 Jun 29 00:10 log -> /var/run/log
crw------- 1 root wheel 16, 0 Jun 29 00:10 lpt0
crw------- 1 root wheel 16, 128 Jun 29 00:10 lpt0.ctl
crw------- 1 root wheel 95, 0xffff00ff Jun 29 00:10 mdctl
crw-r----- 1 root kmem 2, 0 Jun 29 00:10 mem
crw-rw-rw- 1 root wheel 30, 0 Jun 29 00:10 mixer0
dr-xr-xr-x 2 root wheel 512 Jun 28 17:10 net
lrwxr-xr-x 1 root wheel 4 Jun 28 17:10 net1 -> net/xl0
lrwxr-xr-x 1 root wheel 4 Jun 28 17:10 net2 -> net/fwe0
lrwxr-xr-x 1 root wheel 4 Jun 28 17:10 net3 -> net/lp0
lrwxr-xr-x 1 root wheel 4 Jun 28 17:10 net4 -> net/lo0
crw------- 1 root wheel 253, 0 Jun 29 00:10 network
crw-rw-rw- 1 root wheel 2, 2 Jul 1 17:11 null
crw-rw-rw- 1 root wheel 180, 0 Jun 29 00:10 nvidia0
crw-rw-rw- 1 root wheel 180, 255 Jun 29 00:10 nvidiactl
crw-r--r-- 1 root wheel 251, 0 Jun 29 00:10 pci
crw-r----- 1 root kmem 2, 32 Jun 29 00:10 perfmon
crw------- 1 root wheel 82, 0 Jun 29 00:10 ppi0
crw-rw-rw- 1 root wheel 21, 1 Jun 29 00:10 psm0
crw-rw-rw- 1 root wheel 6, 128 Jul 1 05:39 ptyP0
crw-rw-rw- 1 root wheel 6, 129 Jul 1 04:26 ptyP1
crw-rw-rw- 1 root wheel 6, 130 Jul 1 04:26 ptyP2
crw-rw-rw- 1 root wheel 6, 0 Jul 1 17:19 ptyp0
crw-rw-rw- 1 root wheel 6, 1 Jul 1 08:28 ptyp1
crw-rw-rw- 1 root wheel 6, 2 Jul 1 12:06 ptyp2
crw-rw-rw- 1 root wheel 6, 3 Jun 30 16:18 ptyp3
crw-rw-rw- 1 root wheel 6, 4 Jun 29 00:35 ptyp4
crw-rw-rw- 1 root wheel 6, 5 Jun 29 00:35 ptyp5
crw-rw-rw- 1 root wheel 6, 6 Jun 29 00:35 ptyp6
crw-rw-rw- 1 root wheel 6, 7 Jun 29 00:35 ptyp7
crw-rw-rw- 1 root wheel 6, 8 Jun 29 00:35 ptyp8
crw-rw-rw- 1 root wheel 6, 9 Jul 1 08:43 ptyp9
crw-rw-rw- 1 root wheel 6, 10 Jul 1 17:19 ptypa
crw-rw-rw- 1 root wheel 6, 11 Jul 1 12:05 ptypb
crw-rw-rw- 1 root wheel 6, 12 Jul 1 05:04 ptypc
crw-rw-rw- 1 root wheel 6, 13 Jul 1 05:02 ptypd
crw-rw-rw- 1 root wheel 6, 14 Jul 1 05:02 ptype
crw-rw-rw- 1 root wheel 6, 15 Jul 1 05:02 ptypf
crw-rw-rw- 1 root wheel 6, 16 Jul 1 05:02 ptypg
crw-rw-rw- 1 root wheel 2, 3 Jun 28 17:10 random
cr--r--r-- 1 root wheel 30, 6 Jun 29 00:10 sndstat
crw------- 1 root wheel 26, 0 Jun 29 00:10 speaker
lrwxr-xr-x 1 root wheel 6 Jun 28 17:10 stderr -> fd/2
lrwxr-xr-x 1 root wheel 5 Jun 28 17:10 stdin -> fd/0
lrwxr-xr-x 1 root wheel 6 Jun 28 17:10 stdout -> fd/1
crw------- 1 root wheel 12, 128 Jun 29 00:10 sysmouse
crw-rw-rw- 1 root wheel 5, 128 Jul 1 05:39 ttyP0
crw-rw-rw- 1 root wheel 5, 129 Jul 1 04:26 ttyP1
crw-rw-rw- 1 root wheel 5, 130 Jul 1 04:26 ttyP2
crw------- 1 root wheel 28, 0 Jun 29 00:10 ttyd0
crw------- 1 root wheel 28, 32 Jun 29 00:10 ttyid0
crw------- 1 root wheel 28, 64 Jun 29 00:10 ttyld0
crw--w---- 1 vince tty 5, 0 Jul 1 17:19 ttyp0
crw--w---- 1 vince tty 5, 1 Jul 1 08:41 ttyp1
crw------- 1 vince users 5, 2 Jul 1 17:18 ttyp2
crw--w---- 1 vincrw--w---- 1 vince users 5, 8 Jun 29 00:35
ttyp8
crw--w---- 1 vince users 5, 9 Jul 1 08:43 ttyp9
crw--w---- 1 vince users 5typa
crw-rw-c-- 1 root wheel 12, 12 Jun 29 00:10 ttyvc
crw------- 1 root wheel 12, ---- 1 root wheel 12, 15 Jun
29 00:10 ttyvf
lrwxr-xr-x 1 root wheel 7 Jun 28 rator 108, 255 Jun 29
00:10 usb
crw-rw---- 1 root operator 108, 0 Jun 29 00:10 usb0
crw-rw---29 00:10 xpt0
crw-rw-rw- 1 root wheel 2, 12 Jun 29 00:10 zero
ttyp1 was chown by me to group tty from users. ttyp0 is the original ssh
login session and ttyp1-pa are the ones created by screen.
> I'm preparing to host a Canada Day barbecue at my house, so I may not
> have a chance to check for email later on today. Please bear with me.
> Thanks. I'm cc'ing this to current@ just in the chance that someone
Have fun!
> Cheers,
> --
> Cy Schubert <Cy.Schubert at komquats.com> http://www.komquats.com/
> BC Government . FreeBSD UNIX
> Cy.Schubert at osg.gov.bc.ca . cy at FreeBSD.org
> http://www.gov.bc.ca/ . http://www.FreeBSD.org/
Cheers,
Vince - vince at WURLDLINK.NET - Vice President ________ __ ____
Unix Networking Operations - FreeBSD-Real Unix for Free / / / / | / |[__ ]
WurldLink Corporation / / / / | / | __] ]
San Francisco - Honolulu - Hong Kong / / / / / |/ / | __] ]
HongKong Stars/Gravis UltraSound Mailing Lists Admin /_/_/_/_/|___/|_|[____]
Almighty1 at IRC - oahu.DAL.NET Hawaii's DALnet IRC Network Server Admin
> In message <20030701082011.Y3146-100000 at oahu.WURLDLINK.NET>, Vincent
> Poy writes
> :
> > On Tue, 1 Jul 2003, Cy Schubert wrote:
> >
> > > In message <20030701052615.G3146-100000 at oahu.WURLDLINK.NET>, Vincent
> > > Poy writes
> > > :
> > > [a bunch of lines edited out for brevity, see archives]
> > > > Hi Cy:
> > > >
> > > > I found the problem. In 5.1-CURRENT and I think 5.1-RELEASE, /dev
> > > > uses the devfs for the devices so it no longer has to be manually
> > > > generated. I login to the system using /dev/ttyp0 which shows up as:
> > > >
> > > > crw--w---- 1 vince tty - 5, 0 Jul 1 08:28 /dev/ttyp0
> > > >
> > > > However, the 10 tty's that screen uses is ttyp1-pa which has the
> > > > group as users or the same as my login:
> > > >
> > > > crw--w---- 1 vince users - 5, 1 Jul 1 08:28 /dev/ttyp1
> > > > crw------- 1 vince users - 5, 2 Jul 1 08:26 /dev/ttyp2
> > > > crw--w---- 1 vince users - 5, 3 Jun 30 16:18 /dev/ttyp3
> > > > crw--w---- 1 vince users - 5, 4 Jun 29 00:35 /dev/ttyp4
> > > > crw--w---- 1 vince users - 5, 5 Jun 29 00:35 /dev/ttyp5
> > > > crw--w---- 1 vince users - 5, 6 Jun 29 00:35 /dev/ttyp6
> > > > crw--w---- 1 vince users - 5, 7 Jun 29 00:35 /dev/ttyp7
> > > > crw--w---- 1 vince users - 5, 8 Jun 29 00:35 /dev/ttyp8
> > > > crw--w---- 1 vince users - 5, 9 Jul 1 08:18 /dev/ttyp9
> > > > crw--w---- 1 vince users - 5, 10 Jul 1 08:28 /dev/ttypa
> > > >
> > > > As soon as I changed the ttyp1 to the group tty, everything started
> > > > working correctly. So it seems that the /dev has the incorrect group whe
> > n
> > > > the tty is from screen.
> > >
> > > No problems here.
> > >
> > > cwsys$ ll ttyp?
> > > crw-rw-rw- 1 root wheel 5, 0 Jun 26 13:19 ttyp0
> > > crw--w---- 1 cy tty 5, 1 Jul 1 10:05 ttyp1
> > > crw--w---- 1 cy tty 5, 2 Jul 1 10:05 ttyp2
> > > crw--w---- 1 cy tty 5, 3 Jul 1 10:05 ttyp3
> > > crw--w---- 1 cy tty 5, 4 Jul 1 10:05 ttyp4
> > > crw--w---- 1 cy tty 5, 5 Jul 1 10:05 ttyp5
> > > crw--w---- 1 cy tty 5, 6 Jul 1 10:05 ttyp6
> > > crw--w---- 1 cy tty 5, 7 Jul 1 10:05 ttyp7
> > > crw--w---- 1 cy tty 5, 8 Jul 1 10:05 ttyp8
> > > crw--w---- 1 cy tty 5, 9 Jul 1 10:05 ttyp9
> > > crw--w---- 1 cy tty 5, 10 Jul 1 10:05 ttypa
> > > crw--w---- 1 cy tty 5, 11 Jul 1 10:05 ttypb
> > > crw--w---- 1 cy tty 5, 12 Jul 1 10:05 ttypc
> > > crw--w---- 1 cy tty 5, 13 Jul 1 10:05 ttypd
> > > crw--w---- 1 cy tty 5, 14 Jul 1 10:05 ttype
> > > crw--w---- 1 cy tty 5, 15 Jul 1 10:05 ttypf
> > > cwsys$
> > >
> > > I have a locally built package here at http://komquats.com/pkg/screen-3.
> > > 9.15_1.tbz/. It's built from the stock 3.9.15_1. See if it makes a
> > > difference. Other than that it could be a myriad of configuration
> > > things on your system. Anyhow give it a try and let us know your
> > > results.
> >
> > I tried your package with the extracted bin/screen binary and
> > yours work correctly.
> >
> > vince at bigbang [11:20am][~] >> tty
> > /dev/ttypb
> > vince at bigbang [11:20am][~] >> dir /dev/ttypb
> > crw--w---- 1 vince tty - 5, 11 Jul 1 11:20 /dev/ttypb
> > vince at bigbang [11:20am][~] >>
> >
> > Message from Talk_Daemon at bigbang.DNALOGIC.NET at 11:20 on 2003/07/01 ...
> > talk: connection requested by vince at oahu.wurldlink.net
> > talk: respond with: talk vince at oahu.wurldlink.net
> >
> > vince at bigbang [11:20am][~] >>
> >
> > So this means that the configure script might have something
> > configured incorrectly. I just tried to rebuild the port and it's the
> > configure script which generates the config.h with the wrong PTYGROUP.
> >
> > /*
> > * define PTYMODE if you do not like the default of 0622, which allows
> > * public write to your pty.
> > * define PTYGROUP to some numerical group-id if you do not want the
> > * tty to be in "your" group.
> > * Note, screen is unable to change mode or group of the pty if it
> > * is not installed with sufficient privilege. (e.g. set-uid-root)
> > * define PTYROFS if the /dev/pty devices are mounted on a read-only
> > * filesystem so screen should not even attempt to set mode or group
> > * even if running as root (e.g. on TiVo).
> > */
> > #define PTYMODE 0620
> > #define PTYGROUP 32
> > /* #undef PTYROFS */
> >
> > Somehow the autodetection is definining a PTYGROUP instead of
> > leaving it at the default of tty.
> >
> >
> > Cheers,
> > Vince - vince at WURLDLINK.NET - Vice President ________ __ ____
> > Unix Networking Operations - FreeBSD-Real Unix for Free / / / / | / |[__ ]
> > WurldLink Corporation / / / / | / | __] ]
> > San Francisco - Honolulu - Hong Kong / / / / / |/ / | __] ]
> > HongKong Stars/Gravis UltraSound Mailing Lists Admin /_/_/_/_/|___/|_|[____]
> > Almighty1 at IRC - oahu.DAL.NET Hawaii's DALnet IRC Network Server Admin
> >
>
>
>
More information about the freebsd-current
mailing list