Linux中用户(User)和用户组(Group)的配置文件
上一篇 / 下一篇 2008-04-22 11:40:41 / 个人分类:Linux
:W]b3x b'a_0用户(User)和用户组(Group)的配置文件,是系统管理员最应该了解和掌握的系统基础文件之一,从另一方面来说,了解这些文件也是系统安全管理的重要组成部份;做为一个合格的系统管理员应该对用户和用户组配置文件透彻了解才行。51Testing软件测试网k#sQ"j{ t1m~Y
n!A.mVel
g0一、用户(User)相关;51Testing软件测试网m(KW8A(]9jQi
谈到用户,就不得不谈用户管理,用户配置文件,以及用户查询和管理的控制工具;用户管理主要通过修改用户配置文件完成;用户管理控制工具最终目的也是为了修改用户配置文件。什么是用户查询和管理控制工具呢?用户查询和控制工具是查询、添加、修改和删除用户等系统管理工具,比如查询用户的id和finger命令,添加用户的useradd 或adduser 、userdel 用户的删除 、设置密码的passwd命令 、修改用户usermod 等等;我们需要知道的是通过用户查询和控制工具所进行的动作的最终目的也是修改用户配置文件;所以我们进行用户管理的时候,直接修改用户配置文件一样可以达到用户管理的目的;通过上面的解说,我们能实实在在的感觉到用户(User)配置文件的重要性;其实用户和用户组在系统管理中是不可分割的,但为了说明问题,我们还是得把用户(User)的配置文件单列出来解说,其中包括/etc/passwd 和/etc/shadow 文件;在这之中,你还能了解UID的重要性;通过本标题,您可以了解或掌握的内容有:了解/etc/passwd和/etc/shadow;什么UID ;与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等;/etc/passwd 和/etc/shadow 文件是互补的;我们可以通过对比两个文件来差看他们的区别;
xIJ4WISWaO051Testing软件测试网fg5Uns(o
1、关于/etc/passwd 和 UID;51Testing软件测试网&p)E(Aq+I;{V
/etc/passwd 是系统识别用户的一个文件,做个不恰当的比喻,/etc/passwd 是一个花名册,系统所有的用户都在这里有登录记载;当我们以beinan 这个账号登录时,系统首先会查阅 /etc/passwd 文件,看是否有beinan 这个账号,然后确定beinan的UID,通过UID 来确认用户和身份,如果存在则读取/etc/shadow 影子文件中所对应的beinan的密码;如果密码核实无误则登录系统,读取用户的配置文件;
S.z3kNsjZm5E:V051Testing软件测试网$Qg$r5E
|]*U'Y5OVN
1)/etc/passwd 的内容理解:51Testing软件测试网v G-iT/H{M
B
在/etc/passwd 中,每一行都表示的是一个用户的信息;一行有7个段位;每个段位用:号分割,比如下面是我的系统中的/etc/passwd 的两行51Testing软件测试网UT&d9K,bBY
beinan:x:500:500:beinan sun:/home/beinan:/bin/bash51Testing软件测试网1he,tH;l yS2H#v
linuxsir:x:505:502:linuxsir open,linuxsir office,13898667715:/home/linuxsir:/bin/bash
JNhR S#C.^0第一字段:用户名(也被称为登录名);在上面的例子中,我们看到这两个用户的用户名分别是 beinan 和linuxsir;
Z5b
UT@:z4F0第二字段:口令;在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow 文件中;51Testing软件测试网({a[$TI
第三字段:UID ;请参看本文的UID的解说;51Testing软件测试网.Xzm,t:}x
第四字段:GID;请参看本文的GID的解说;51Testing软件测试网X4pc"h/p6s
第五字段:用户名全称,这是可选的,可以不设置,在beinan这个用户中,用户的全称是beinan sun ;而linuxsir 这个用户是没有设置全称;51Testing软件测试网-E
b.n h3P9v(q;l
第六字段:用户的家目录所在位置;beinan 这个用户是/home/beinan ,而linuxsir 这个用户是/home/linuxsir ;51Testing软件测试网2R-f.XOQ?&@5Rt
第七字段:用户所用SHELL 的类型,beinan和linuxsir 都用的是 bash ;所以设置为/bin/bash ;
l;D9O$C X-@%L2Efa02)关于UID 的理解:
6a*^6C9M!l'?B-f&g9Y0UID 是用户的ID 值,在系统中每个用户的UID的值是唯一的,更确切的说每个用户都要对应一个唯一的UID ,系统管理员应该确保这一规则。系统用户的UID的值从0开始,是一个正整数,至于最大值可以在/etc/login.defs 可以查到,一般Linux发行版约定为60000; 在Linux 中,root的UID是0,拥有系统最高权限; UID 在系统唯一特性,做为系统管理员应该确保这一标准,UID 的唯一性关系到系统的安全,应该值得我们关注!比如我在/etc/passwd 中把beinan的UID 改为0后,你设想会发生什么呢?beinan这个用户会被确认为root用户。beinan这个帐号可以进行所有root的操作;
r zO2ON'V]0UID 是确认用户权限的标识,用户登录系统所处的角色是通过UID 来实现的,而非用户名,切记;把几个用户共用一个UID 是危险的,比如我们上面所谈到的,把普通用户的UID 改为0,和root共用一个UID ,这事实上就造成了系统管理权限的混乱。如果我们想用root权限,可以通过su或sudo来实现;切不可随意让一个用户和root分享同一个UID ;