Help - Search - Members - Calendar
Full Version: Minicom for non root user
MandrivaUsers.org > Advanced Topics > Command Line, Kernel and Programming
c-clone
Ive done migrating 60 desktop pc to Mandriva 2007.1 in my uni lab. Now i hope to get minicom runs with non-root users. Possibly I dont want to give my students root privilege, it might cause havoc. Furthermore can someone share what potential problem may rise when they(student) get minicom access.
ianw1974
Possibly add the user to the uucp group:

CODE
gpasswd -a username group


for example:

CODE
gpasswd -a ian uucp


I've also got the same problem and was wondering about this. The problem is, they can run the application, they just can't open/gain access to the port. When I did an ls -l of the /dev/ttyS* files, this is what I got:

CODE
[root@esprit ~]# ls -l /dev/ttyS*
crw-rw---- 1 root uucp 4, 64 2008-01-11 09:36 /dev/ttyS0
crw-rw---- 1 root uucp 4, 65 2008-01-11 09:36 /dev/ttyS1
crw-rw---- 1 root uucp 4, 66 2008-01-11 09:36 /dev/ttyS2
crw-rw---- 1 root uucp 4, 67 2008-01-11 09:36 /dev/ttyS3


now, this is on Fedora 8, but do the ls first, to see what group is assigned, and then go from there.
c-clone
Thanks Ian. i've tried that with uucp group. No success. Here's the shell response

[guess@localhost ~]$ su -c "gpasswd -a guess uucp"
Password:
Adding user guess to group uucp
[guess@localhost ~]$ minicom
LANG/ja
LANG/ko
LANG/ru
Cannot create lockfile. Sorry.
[guess@localhost ~]$ ls -l /dev/ttyS*
crw-rw---- 1 guess uucp 4, 64 Jan 14 11:59 /dev/ttyS0
crw-rw---- 1 guess uucp 4, 65 Jan 14 11:59 /dev/ttyS1
crw-rw---- 1 guess uucp 4, 66 Jan 14 11:59 /dev/ttyS2
crw-rw---- 1 guess uucp 4, 67 Jan 14 11:59 /dev/ttyS3

I did try again adding guess to group root. User "Guess" can then start minicom. But if this is the case then I will have to restrict "guess" as not to change root password or edit sudoer file as in your other thread http://mandrivausers.org/index.php?showtopic=33038.
c-clone
I tried editing sudoer file thru visudo as root and added the line below:

guess ALL=/usr/bin/minicom

Restarted my CPU, when I tried minicom still I'm getting the response below:

[guess@localhost ~]$ /usr/bin/minicom
LANG/ja
LANG/ko
LANG/ru
Cannot create lockfile. Sorry.

Can anybody comment something.
ianw1974
Strange, doing that for me allows me to use minicom as a normal user just by adding them to the uucp group. I think what you need to do is find out where the lang files are and then add the user to the group that owns them.

For example:

CODE
rpm -qa | grep minicom


to find the package name, and then:

CODE
rpm -ql minicom


for example if it's definitely called minicom without supplying any additional versioning info as well. You can then see where that LANG directory is and set the permissions.

Alternatively, check the /etc/minicom.users file and see if you can add a user in here - it might make it easier than working through groups/permissions. You will still need to be a member of uucp though because that's what controls the device port access.
c-clone
Here goes!

[guess@localhost Desktop]$ rpm -qa | grep minicom
minicom-2.1-7mdv2007.1
[guess@localhost Desktop]$ rpm -ql minicom
/etc/bash_completion.d/minicom
/etc/minicom.users
/usr/bin/ascii-xfr
/usr/bin/minicom
/usr/bin/runscript
/usr/bin/xminicom
/usr/share/doc/minicom-2.1
/usr/share/doc/minicom-2.1/doc
/usr/share/doc/minicom-2.1/doc/Announce-1.78
/usr/share/doc/minicom-2.1/doc/Announce-1.82
/usr/share/doc/minicom-2.1/doc/Announce-1.82.1
/usr/share/doc/minicom-2.1/doc/Announce-1.83
/usr/share/doc/minicom-2.1/doc/COMPATABILITY.lrzsz
/usr/share/doc/minicom-2.1/doc/ChangeLog.old
/usr/share/doc/minicom-2.1/doc/HistSearch
/usr/share/doc/minicom-2.1/doc/Locales
/usr/share/doc/minicom-2.1/doc/Macros
/usr/share/doc/minicom-2.1/doc/Makefile
/usr/share/doc/minicom-2.1/doc/Makefile.am
/usr/share/doc/minicom-2.1/doc/Makefile.in
/usr/share/doc/minicom-2.1/doc/QuickStart.modemu
/usr/share/doc/minicom-2.1/doc/README.lrzsz
/usr/share/doc/minicom-2.1/doc/RedHat
/usr/share/doc/minicom-2.1/doc/TODO.lrzsz
/usr/share/doc/minicom-2.1/doc/Todo
/usr/share/doc/minicom-2.1/doc/Todo.175
/usr/share/doc/minicom-2.1/doc/Todo.Irix.dif
/usr/share/doc/minicom-2.1/doc/Todo.emacskey.dif
/usr/share/doc/minicom-2.1/doc/Todo.fsel
/usr/share/doc/minicom-2.1/doc/copyright.modemu
/usr/share/doc/minicom-2.1/doc/fselector.txt
/usr/share/doc/minicom-2.1/doc/japanese
/usr/share/doc/minicom-2.1/doc/minicom.FAQ
/usr/share/doc/minicom-2.1/doc/minicom.users
/usr/share/doc/minicom-2.1/doc/minirc.dfl
/usr/share/doc/minicom-2.1/doc/modemu.README
/usr/share/doc/minicom-2.1/doc/pl-translation.txt
/usr/share/doc/minicom-2.1/doc/portugues-brasil
/usr/share/doc/minicom-2.1/doc/suomeksi
/usr/share/locale/cs/LC_MESSAGES/minicom.mo
/usr/share/locale/es/LC_MESSAGES/minicom.mo
/usr/share/locale/fi/LC_MESSAGES/minicom.mo
/usr/share/locale/fr/LC_MESSAGES/minicom.mo
/usr/share/locale/hu/LC_MESSAGES/minicom.mo
/usr/share/locale/ja/LC_MESSAGES/minicom.mo
/usr/share/locale/pl/LC_MESSAGES/minicom.mo
/usr/share/locale/pt_BR/LC_MESSAGES/minicom.mo
/usr/share/locale/ru/LC_MESSAGES/minicom.mo
/usr/share/man/man1/ascii-xfr.1.bz2
/usr/share/man/man1/minicom.1.bz2
/usr/share/man/man1/runscript.1.bz2
/usr/share/man/man1/xminicom.1.bz2
[guess@localhost Desktop]$

These are what I got from running the above commands. Seems like the Lang file doesn't surfaced. Anyway I tried looking into minicom.users file. Still trying. I'm a bit tied up now as another 60pc lab is migrating to linux and my boss okay'd me to use mandriva.
ianw1974
Here is my /etc/minicom.users file from Fedora 8:

CODE
[ian@esprit ~]$ cat /etc/minicom.users
# $Id: minicom.users,v 1.1.1.1 2003/03/30 18:55:39 al-guest Exp $
# Minicom.users   Access file for the minicom program.
#
# Format:         Either just one username per line, or
#                 a username followed by one or more
#                 configuration-names. The name of the
#                 default configuration is "dfl". The maximum
#                 significant line length is 70 characters.
#
# Location:       The minicom library directory, probably
#                 /etc or /var/lib/minicom or whatever.
#
# Notes:          If you don't install this file in the
#                 specified location, everybody will have
#                 access to minicom.
#
#                 This doesn't matter if minicom isn't installed
#                 setuid root since access will then be based
#                 on the permissions set on the serial port.
#

#
# Who may use minicom?
#
# User          [line]  [..line]
#

# Everyone has access to all configurations.
ALL

## The rest are examples.
## # Erik only has access to the default configuration
## erik         dfl
##
## # minicom has access to the default configuration, and configuration 'tty5'.
## minicom              dfl     tty5


I have the "ALL" line by default, meaning that all users have access to the config, so at least it should work for gaining access to the port. Your failure seems to be only because of the LANG files. I've also checked my rpm but it doesn't give a location for LANG/ja, LANG/ko and LANG/ru. In fact it doesn't give a location for any. I even did a:

CODE
find / -name LANG


to try and find a LANG directory, but one didn't exist. We need to try to find out where LANG is trying to be written to, and then assign the permissions for the users to create these in the event they are trying to be written to a protected area.
c-clone
etc/minicom.users on this machine looks as similiar.


[guess@localhost ~]$ cat /etc/minicom.users
# $Id: minicom.users,v 1.1.1.1 2003/03/30 18:55:39 al-guest Exp $
# Minicom.users Access file for the minicom program.
#
# Format: Either just one username per line, or
# a username followed by one or more
# configuration-names. The name of the
# default configuration is "dfl". The maximum
# significant line length is 70 characters.
#
# Location: The minicom library directory, probably
# /etc or /var/lib/minicom or whatever.
#
# Notes: If you don't install this file in the
# specified location, everybody will have
# access to minicom.
#
# This doesn't matter if minicom isn't installed
# setuid root since access will then be based
# on the permissions set on the serial port.
#

#
# Who may use minicom?
#
# User [line] [..line]
#

# Everyone has access to all configurations.
ALL

## The rest are examples.
## # Erik only has access to the default configuration
## erik dfl
##
## # minicom has access to the default configuration, and configuration 'tty5'.
## minicom dfl tty5
[guess@localhost ~]$
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.