一、用户管理基础
在linux环境下对用户的管理有多种方式,包括用编辑工具vi、emacs等对/etc/passwd进行操作或直接使用addusr、deleusr等用户管理命令以及使用pwconv命令使/etc/passwd与shadow文件保持一致。我们先来看看linux下用户管理的常用操作都做了些什么吧。
1、增加用户
增加用户有三个过程:
(1) 在/etc/passwd文件中写入新用户的入口项。
(2) 为新登录用户建立一个home目录。
(3) 在/etc/group中为新用户增加一个入口项。
在/etc/passwd文件中写入新的入口项时,口令部分可先设置为nologin, 以免有人做为此新用户登录。新用户一般独立为一个新组,gid号与uid号相同(除非他要加入目前已存在的一个新组),uid号必须和其他人不同,home目录一般设置在/usr 或/home目录下,建立一个以用户登录名为名称的目录做为其主目录。
2、删除用户
删除用户与加用户的工作正好相反,首先在/etc/passwd和/etc/group文件中删除用户的入口项,然后删除用户的home目录和所有文件。
rm -r /usr/loginname 删除用户的整个目录。
/usr/spool/cron/crontabs中有crontab文件,也应当删除。
3、将用户移到另一个系统
这是一个复杂的问题,不只是拷贝用户的文件和用户在/etc/passwd文件中的入口项。首先一个问题是用户的uid和gid可能已经用于另一个系统,若是出现这种情况,必须给要移动的用户分配另外的uid和gid,但如果改变了用户的uid 和gid,就必须搜索该用户的全部文件,将文件的原uid和gid改成新的uid和gid。 用find命令可以完成这一修改:
find . -user olduid -exec chown newuid {} ;
find . -group oldgid -exec chgrp newgid {} ;
也许还要为用户移走下面的一些文件:
/usr/mail/user和/usr/spool/cron/crontabs/user。
如果用户不是从本系统管理员的系统移来,则应对该用户的目录结构运行程序检查。一个不安全系统的用户,可能有与该用户其它文件存在一起的suid/sgid程序,而这个suid/sgid程序在别的系统中可能属于另一个用户。在这种情况下,如果 用cpio或tar命令将用户的目录结构拷贝到本系统,suid/sgid程序也将会拷贝到本系统而没有任何警告信息。应在允许用户使用新系统以前先删除这种文件的suid/sgid许可。总之,始终坚持检查所移用户的文件是一种更安全的方法。也可以用su命令进入用户的户头,再拷贝用户文件,这样文件的所有者就是该用户,而不是root 。这些操作过程有些过于复杂,当然用adduser和deleuser也不是很简单。下面我给大家介绍一个linux的远程管理软件webmin,它为用户提供了基于web管理界面,不仅简化了用户管理,更重要的是它将整个linux系统的管理都集成到了一个统一的管理界面中。
二、安装webmin
首先将软件包解压强:tar –xzvf 55248webmin-0.85.tar.gz ,在当前目录下产生一个webmin-0.85的子目录,注意:webmin-0.85是用perl脚本语言编写的,因此在系统中要先安装perl。
webmin全部是用perl编写的,因此在初次运行前需要进行一些设置。执行setup.sh程序对webmin进行配置:
1、config file directory [/etc/webmin]: 将配置文件放在哪个目录下,直接回车就选择了默认的目录是/etc/webmin。
2、log file directory [/var/webmin]: 将日志文件放在哪个目录下,默认的目录是/var/webmin。
3、full path to perl (default /usr/bin/perl):这里询问你perl的安装位置,输入正确的路径名即可。如果不知道,可以先查看perl是否在默认的目录下,否则用find / -name perl在硬盘中查找。
4、选择当前的操作系统:笔者用的是红帽子,所以就选4啦。
1) sun solaris 2) caldera openlinux eserver
3) caldera openlinux 4) redhat linux
5) slackware linux 6) debian linux
7) suse linux 8) corel linux
9) turbolinux 10) cobalt linux
11) mandrake linux 12) delix dld linux
13) conectiva linux 14) mklinux
15) linuxppc 16) xlinux
17) linuxpl 18) linux from scratch
19) trustix 20) cendio lbs linux
21) ute linux 22) freebsd
23) openbsd 24) bsdi
25) hp/ux 26) sgi irix
27) dec/compaq osf/1 28) ibm aix
29) sco unixware 30) sco openserver
31) macos server x
5、是不是有些烦人,它还要知道红帽子的版本号。一定要告诉它哟,它可没有那么智能,选错了它有可能会罢工的:
1) redhat linux 4.0 2) redhat linux 4.1
3) redhat linux 4.2 4) redhat linux 5.0
5) redhat linux 5.1 6) redhat linux 5.2
7) redhat linux 6.0 8) redhat linux 6.1
9) redhat linux 6.2 10) redhat linux 7.0
11) redhat linux 7.1
6、下面是服务端口的设置和管理用户的设置:
web server port (default 10000):
login name (default admin):
login password:
password again:
默认的端口号是10000,一般不用去改它。
用户名的默认值是admin,用户也可以改为自己常用的用户名,接下来就是用户口令了,重复输入一次确认口令正确无误。管理员一定要记住用户名和密码,在客户端通过web启动管理界面时程序会要求输入用户名和密码的,如果忘了就只有重新安装webmin了。
7、web server hostname (default webmin): 服务器的名字,就用默认值吧。
8、start webmin at boot time (y/n): 是否在每次启动时都运行wbmin,这就随你了。
至此,webmin的服务端就设置完成了。
三、启动/关闭服务端程序
在webmin的安装目录下有一个名为webmin-init的可执行程序,启动和关闭服务程序就靠它了。
启动服务程序命令:webmin-init start;
关闭服务程序命令:webmin-init stop。
四、启动管理界面
在客户端打开ie,输入安装了webmin的linux主机ip地址:http://192.168.3.2 :10000,出现了登录介面,要求输入用户名及口令:
输入正确的用户名及口令后进入管理介面:
初次进去请选择左边的”webmin configuration”,对管理界面的基本情况进行设置。
首选点击”language”选择自己熟悉的一门语言做为界面语言吧。然后再回到首页看看。现在我们又看到了熟悉的中文介面了:
要添加用户吗?点击“系统”吧。
你可能已经从上图中看到webmin的强大功能了,管理用户的功能在“用户与群组”中。
五、用webmin管理用户
好的,点击”用户与群组”图标吧。接着出现的页面可以分为两部分:用户管理和组管理。
在用户管理下面有两个选项,分别为”建立新用户”和”creat,modify and delete users from batch file”。下面我们以创建新用户为例说明如何使用webmin。点击”建立新用户” ,web界面如下:
首先添写用户的详细信息,包括用户名、用户id(这里系统自动生成了一个id,用户也可以修改)、真实姓名、用户根目录(如果用户不确定也可以点击旁边的小图标,通过浏览linux的目录来选择用户的根目录)、shell(为每个用户指定不同的shell,在旁边已经列出在bin目录中的已有shell,如果还有shell在其它目录,可以点击”其它”旁边的小图标选择)、密码。
接着填写用户的口令选项、将用户放在哪个组中及在建立时是否建立用户根目录等。这些信息全部填写完毕,点击”确定”就创建了一个新用户。
创建用户的过程是这样的,但”creat,modify and delete users from batch file”是做什么用的呢?原来,这个功能向用户提供了一次性大批量的创建、删除、修改用户的功能,这是通过一个batch文件来实现的,用户事先编辑好这个batch文件,然后通过这个页面交给程序在linux上执行。
创建用户组的页面如下:
这里需要对”成员”这一项进行说明,要向该组中添加成员点击旁边的小图标,于是会弹出一个新窗口:
在这里添加用户到该组中。
同样,改变用户和删除用户也只需点击鼠标这么简单了。怎么样,现在用户的管理是不是变得很方便呢?