How to add a new user to Webmin from shell via
(bash,sh)
You might search for a way to add a new user to your Webmin without
bothering using the Webmin user interface or you simply prefer
using shell for adding the new user to Webmin just like I do.
1.In order to manually add a new user to webmin you will have to
edit webmin's
/etc/webmin/miniserv.users which is the
default
miniserv.uesrs location in many Linux distributions,
however in FreeBSD or other BSDs the
miniserv.users file
location would probably be
/usr/share/etc/webmin/ or
/usr/share/webmin/etc , anyways if you are adding the new
user manually open the file and copy paste the line:
root:12ZWQKVLjpihs:0
to a new line, where you will have to modify the line substituting
root with
newusername , like so:
newusername:12ZWQKVLjpihs:0
Afterwards you will have to also edit the file
/etc/webmin/webmin.acl and likewise copy paste the
definitions allowing access to all recources to the root user which
in
webmin.acl by default are:
root: acl adsl-client apache at backup-config bacula-backup
bandwidth bind8 burner cfengine change-user cluster-copy
cluster-cron cluster-passwd cluster-shell cluster-software
cluster-useradmin cluster-usermin cluster-webmin cpan cron custom
dfsadmin dhcpd dnsadmin dovecot exim exports fdisk fetchmail file
filter firewall frox fsdump grub heartbeat htaccess-htpasswd idmapd
inetd init inittab ipfilter ipfw ipsec jabber krb5 ldap-client
ldap-server ldap-useradmin lilo logrotate lpadmin lvm mailboxes
mailcap majordomo man mon mount mysql net nis openslp
package-updates pam pap passwd phpini postfix postgresql ppp-client
pptp-client pptp-server procmail proc proftpd pserver qmailadmin
quota raid samba sarg sendmail sentry servers shell shorewall
smart-status smf software spam squid sshd status stunnel syslog
syslog-ng system-status tcpwrappers telnet time tunnel updown
useradmin usermin vgetty webalizer webminlog webmin wuftpd
xinetd
In my case I wanted to add to the newly created
newuser only
acl privileges for user crontab modification and htaccess-passwd
creation thus I have included in
the webmin.acl file
only:
newuser: cron webmin htaccess-passwd
You will also be required to change the new user webmin password to
some password of your choice, to attain that in Debian Linux
execute:
debian:~# /usr/share/webmin/changepass.pl /etc/webmin
newusername type_your_password
On Fedora and other RPM (Redhat based linux distros) the
webmin
changepass.pl user password change script is located in
/usr/libexec/webmin/changepass.pl therefore if you're about
to change the password for the new user on Fedora and alike,
type:
fedora:~# /usr/libexec/webmin/changepass.pl /etc/webmin/
newusername your_password
In the above change password exapmles you need to substitute
newusername with the user chosen to be the new username as
explained earlier in the post.
Finally in order for the newly added user with the respectively
configured permissions to start working in Webmin, you will have to
reload the webmdaemon. In most linux distributions (including
Debian), to restart webmin you will have to issue:
linux-shell:~# /etc/init.d/webmin restart
However if you're looking for a bit more automated way instead of
manually editting the
miniserv.users and
webmin.acl
files.
2.
Herein is a
tiny shell script I've written which facilitates the new webmin
user creation under a console / terminal / shell
I have written
webmin-new-user.sh
just for fun, and it could be greatly improved, so don't expect too
much from it it doesn't do any checks on the input given to the
script, so be sure to pass a correct input as required from the
dialogs in order to be able to use the script to add new users to
your webmin from bash or any other unix shell.
The script is written to work with Debian on Fedora and other rpm
based distributions as well as BSD a minor tunings within the
script might be necessary to make the script work.
Please leave feedback on the script if it is of any use to you
:)