linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux入门与提高 > 安装与配置 >
栏目导栏
资料搜索
热门文章
·什么是ISO文件
·VMware下Linux的安装及简单设置
·为Canon PIXMA iP1000喷墨打印
·Linux必学60个命令文件处理
·实例解说Linux中fdisk分区使用
·Linux下软件安装详解(图)
·Windows下硬盘安装FC6
·用DVD镜像文件硬盘安装FC5详细
·linux下软件的基本安装和卸载
·Linux下硬盘分区的最佳方案
·Suse Linux最新版本 10.1的 IS
·Ubuntu Linux操作系统安装Luma
·Linux下的软件安装
·FC5,LINUX下ADSL上网设置与安装
·把你的Linux配置成Windows
最新文章
·Fedora 9下使用VirtualBox安装
·Ubuntu Linux 8.04 Vsftp 虚拟
·Weblogic 8.1 for Linux ES3.0
·Ubuntu Linux 8.04下本地安装L
·VMware安装Redhat不能输入密码
·双系统攻略:修复Windows XP引
·Windows Vista硬盘安装Fedora
·在一个硬盘上安装两个Linux操作
·从硬盘安装Fedora-9-i386-DVD
·Ubuntu 8.04下安装配置Tomcat5
·Linux系统下显示多核模式方法
·Ubuntu Linux 8.04下关于字体的
·Linux系统下Autodock 4.0安装与
·SUSE Linux系统BASH下配置JAVA
·Linux kernel2.6.25 CS8900网卡
Google
 
Linux操作系统下关于用户和组的配置管理
[ 作者:  加入时间:2008-01-08 11:10:48  来自:Linux联盟收集整理 ]
 

Linux 用户和组管理

用户管理,主要的工作就是建立一个合法的用户帐户、设置和管理用户的密码、修改用户帐户的属性以及在必要时删除已经废弃的用户帐号。

1. 增加一个新用户

在Linux系统中,只有root用户才能够创建一个新用户,如下的命令将新建一个登录名user1的用户。

# useradd user1

但是,这个用户还不能够登录,因为还没给它设置初始密码,而没有密码的用户是不能够登录系统的。在默认情况下,将会在/home目录下新建一个与用户名相同的用户主目录。如果需要另外指定用户主目录的话,那么可以使用如下命令:

# useradd -d /home/xf user1

同时,该用户登录时将获得一个Shell程序:/bin/bash,而假如你不想让这个用户登录,也就可以指定该用户的Shell程序为:/bin/false,这样该用户即使登录,也不能够执行Linux下的命令:

# useradd -s /bin/false user1

在Linux中,新增一个用户的同时会创建一个新组,这个组与该用户同名,而这个用户就是该组的成员。如果你想让新的用户归属于一个已经存在的组,则可以使用如下命令:

# useradd -g user user1

这样该用户就属于user组的一员了。而如果只是想让其再属于一个组,那么应该使用:

# useradd -G user user1

完成了这一操作后,你还应该使用passwd命令为其设置一个初始密码。

2. 删除一个用户

删除用户,只需使用一个简单的命令“userdel 用户名”即可。不过最好将它留在系统上的文件也删除掉,你可以使用“userdel -r 用户名”来实现这一目的。

3. 修改用户属性

在前面我们看到了在新建一个用户的时候如何指定它的用户主目录,如何指定它的Shell,如何设置它所属的组…等等。在Linux中提供了一个命令来实现:

usermod -g组名 -G 组名 -d 用户主目录 -s 用户Shell

还有一种直接的方法,那就是修改/etc/passwd文件,在这个文件中每个用户占用一行,它的内容为:

用户名:密码:用户ID:组ID:用户全名:用户主目录:用户Shell

不过值得注意的是,密码这一项通常是用一个*号代替的,你是看不到的。

4. 增加一个组

还记得Linux的文件可以为同组的人、非同组的人设置不同的访问权限吗?我们可以根据自己的需要创建用户组:

groupadd 组名

5. 删除一个组

同样的,我们有时会需要删除一个组,它的命令就是groupdel 组名。

6. 修改组成员

如果我们需要将一个用户加入一个组,只需编辑/etc/group文件,将用户名写到组名的后面。例如将newuser用户加入到softdevelop组,只需找到softdevelop这一行:

softdevelop:x:506:user1,user2

然后在后面加上newuser,形成:

softdevelop:x:506:user1,user2,newuser

另外,在Red Hat Linux中还提供一个图形化的用户管理工具:userconf,通过它可以更直接地进行用户管理。

两个重要文件:passwd与group

在linux的安全机制里,/etc/passwd与/etc/group这两个文件占着非常重要的地位。它们控制着linux的用户和组一些重要设置。

◆/etc/passwd文件说明 (用于设置用户的属性)

可用 vi /etc/passwd 查看

在passwd的文件里,每一行被冒号(":")分成7个部分,分别是:

[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]

其中:

[UID]虽然是系统用来标志文件归属,确定各种权限的标志,但这个区域的内容并不要求唯一的。比较常见而又与安全问题相关的一个例子是有多个UID和GID均为0的用户帐号。注意到在该文件最后一行还有一个UID和GID为0的用户imnotroot,虽然它声称自己不是root,但是它却有和root完全相同的权限,因为系统并非根据[用户名],而是根据UID和GID来分用户的权力的。所以,这种情况无疑为系统埋下了安全的炸弹。但是,当imnorroot做锁定屏幕等操作的时候,如果它的密码和root的不一样,它将无法解锁,因为系统只是查到第一个UID为0的用户(自然是root)后,就不在往下查找了——它当UID也是唯一的。

[GID]用户默认的组ID,这个ID可以在文件 /etc/group里查到对应的组名。

<注意>:[UID]和[GID]小于500的一般都是系统自己保留,不做普通用户和组的标识的,所以新增加的用户和组一般都是UID和GID大于500的。

◆/etc/group文件说明

vi /etc/group 查看其内容

它总共分四个部分:

[组名]:[密码域]:[GID]:[组员列表]

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·在Linux环境下Lapack软件包的编译和使用  (2008-01-08 11:10:16)
 ·结合Linux系统内核源码理解SYN_RECV状态  (2008-01-08 11:08:28)
 ·Linux系统下的Shell循环语句  (2008-01-08 11:07:47)
 ·Linux操作系统下安装配置jython编程环境  (2008-01-08 11:06:53)
 ·Linux操作系统下如何配置Qt(4.3.2)环境  (2008-01-08 11:06:24)
 ·在Linux操作系统下单网卡实现双IP的设置  (2008-01-08 11:05:41)
 ·解决Linux系统中关于Weblogic的设置问题  (2008-01-08 11:04:58)
 ·关于Linux操作系统的网卡编译  (2008-01-08 11:04:16)
 ·Ubuntu Linux系统下的两个网络扫描工具  (2008-01-07 10:13:30)
 ·Ubuntu 7.10扩展Linux系统的多媒体应用  (2008-01-07 10:12:35)