-   Slackware (
-   -   How to add a functional sudo group? (

lkraemer 10-05-2012 11:06 AM

How to add a functional sudo group?
I'm running Slackware 14, and I'd like to be able to use the sudo command,
versus changing to root all the time.

I've created a system group (999) named sudo. I've tried to use usermod
to add myself to group sudo while I'm root. But, it doesn't appear to work
since my groups do not change.

What do I need to do to get my userid added to the sudo group, or another
system group so the sudo command works?

I've referenced the man pages for useradd, usermod, groupadd.



13_ 10-05-2012 11:19 AM

You need to log out and log back in for it to take effect.

I use gpasswd.

gpasswd -a <username> <group>

lkraemer 10-05-2012 01:49 PM

Thanks, that was the first part of the problem.

The second was that gparted was at /usr/sbin/gparted, and that wasn't in my path.

I needed to find the "SHELL" and "env" I was using.

1. env -- Display the current environment, find what Shell is being used with the following command.....

    env | grep SHELL=
You can also type:

    env > envorig.txt
to create a file of the results. Later you can do a comparison for future reference.

2. locate .*rc -- Find the current logged in user's home shell Configuration file (*rc)... use:

locate .*rc
Bourne shell (sh)
Almquist shell (ash)
Bourne-Again shell (bash)
Debian Almquist shell (dash)
Korn shell (ksh)
Z shell (zsh)
C shell (csh)
TENEX C shell (tcsh)
other shells..............

There may be a .bash_profile file in /home/loginuser along with .bashrc. You can put configurations in either file,
and you can create either if it doesn’t exist. But, why two different files? What is the difference?

According to the bash man page, .bash_profile is executed for login
shells, while .bashrc is executed for interactive non-login shells.

If .bash_profile exists in /home/user with the following information already inserted:

        export PATH

Just append your path modifications here instead of the .bashrc file.

You need to list the *rc file to verify the contents and set the PATHS. I'm ASSUMING a Bash shell......

3. cat .bashrc -- List the configuration file, then append the proper search paths for the users shell with edit.
(This did not not exist in Slackware 14)

export LD_LIBRARY_PATH=????????????????????????????????
export LIBRARY_PATH=???????????????????????????????????
export C_INCLUDE_PATH=?????????????????????????????????
export CPATH=??????????????????????????????????????????
Mine in Debian 6.0 happens to be:

export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
export LIBRARY_PATH=/usr/lib:/usr/local/lib
export C_INCLUDE_PATH=.:/usr/include:/usr/local/include
export CPATH=.:/usr/include:/usr/local/include
But your may vary accordingly. You won't be able to cut & paste mine,
unless your system is built exactly like mine. It's up to you to locate
exactly where all the libs and includes are located. That is what all the
previous commands should have helped you do. Just because you have
/usr/lib & /usr/local/lib included....doesn't mean your needed lib is in that path.

That is where your detective work comes to play. SEARCH and use grep to locate the libs.

Once you have the env set either reboot or reset the env. Once again, your system command for this can/may be different.

4. source .bashrc -- Reset the environment to what we need for Compiles, assuming the SHELL is bash. This may not be
available on your system.....


All times are GMT -5. The time now is 02:02 PM.