免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1430 | 回复: 0
打印 上一主题 下一主题

UNIX系统管理-第二章 创建和管理用户帐号 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-16 11:37 |只看该作者 |倒序浏览

创建和管理用户帐号
目标
完成这一章,你能做以下事情:
列出建立一个用户帐号步骤
理解/etc/passwd文件的每一个字段的含义
理解/etc/group文件的每一个字段的含义
创建、修改和删除用户的帐号
启用和禁用一个用户帐号
1.1 用户与用户组 — 使用系统资源和数据
为了使用系统的资源,用户首先要登录系统,系统管理员可以控制其它用户登录系统,可以阻未授权的用户运行程序,消耗系统资源,还可以控制其它人对存储在系统中的数据的存取。
系统中的用户被分成一个或多个用户组。一种典型的情况是:文件可以被一个组的用户存取,但是不能被用户组之外的用户存取。用户对文件和目录的存取都是基于他所属的组的定义。
你为每一个使用你的系统的用户分配一个用户名(或叫登录名),同样也能选择组和决定哪一个用户被分配到哪一个组。
用户可以使用命令/usr/bin/id来检查自己的用户ID和所属的组ID。
1.2 用户帐号的定义
用户想要登录一个系统,必须要有一个有效的用户名,用户ID 号,密码,和在/etc/passwd中定义的其它的帐号信息。通过修改文件/etc/group,用户可以属于其它的组。最后,多数的用在/home目录下都有一个目录,在这个目录下,他们可以存储属于自己的文件和目录。
你可以通过命令行 useradd,userdel,和usermod或者用vi 编辑器来管理用户的帐号。
1.3 /etc/passwd文件
/etc/passwd文件中包含用户登录所必须的信息。文件的每一行代表系统中的一个有效用户。所有的域以冒号(:)作为分割符。
用户名 ???用户名是用户在登录时候使用的命令。用户名的长度应在1到8个字符之间,第一个字符必须是字母。如果用户名超过8个字符,只有前8个字符有效。
密码??? ? 经过加密处理的口令。当用户使用passwd命令设置密码的时候,系统 会对用户输入的口令进行加密。密码应该是6到8个字符,其中应该有一个数字或其他特殊字符。如果密码这个域为空,登录的时候就不需要密码,但这会使系统很容易被入侵。密码域为星号的用户帐号无效,因为你键入的任何字符都不能被加密成为星号,所以没有人可以使用这个帐号登录系统。
用户ID ?? ?系统中每一个用户都被分配一个用户ID号。ID 号为0是为root保留的。UID号1-99是为系统其它预定义的帐号保留的。
组ID 号 ? ? 组ID号(GID)。这个号码对应/etc/group文件中一行信息。
ID 字符窜 ? ?这是一个注释字段,你可以在这里加上关于这个用户的其他的信息。例如用户的全名,电话号码,部门,和门牌号,行打印缓冲系统和finger命令会使用这个字段中的内容。
Home目录 ? ?当用户登录时所在的目录的绝对路径名。如这个目录不存在,或是无效,用户就不 能登录系统。
shell ????当用户登录系统时要执行的命令的绝对路径名,典型的情况下,这个命令是shell,通常使用的shell是/user/bin/sh,/usr/bin/ksh,和/usr/bin/csh。如果这个字段为空,系统会默认为/usr/bin/sh。命令字段不必都是一个shell,例如,你可以在/etc/passwd文件中创建一个条目:
date:rc70x.4.hgjdc:20:1::/:/usr/bin/date
在这里命令字段为/usr/bin/date。如果使用date作为登录名,然后键入正确的密码,系统会运/bin/date命令。然后退出系统登录。
注意;passwd文件的许可权限只能被设置为只读(r—r—r--)同时属主必须为root。
编辑/etc/paswd文件
当你正在用vi命令来编辑/etc/passwd文件时,一个用户正试图更改他的密码,这个用户的更改不会写到这个文件中,为了避免这种情况出现,在编辑/etc/passwd文件时请使用vipw命令
$ vipw
这个命令通过拷贝/etc/passwd文件为/etc/passwd.tmp文件,并对/etc/passwd文件进行锁定。如果这时有一个用户想要更改密码,他会被告之passwd文件正在使用。当你使用完vipw,系统会进行一些检查,如果你的修改正确,临时文件会被移动到/etc/passwd中。否则,/etc/passwd文件会继续保持不能被修改的状态。
检查/etc/passwd文件
使用/usr/sbin/pwck命令可以检查/etc/passwd文件的一致性。它会检查每一行的域的数目,登录的目录和登录执行的程序是否存在,验证登录名,用户ID和组ID。
1.4 /etc/group 文件
/etc/group文件中包含有组的定义,组的字段使用冒号(:)分割。
组名 ????一个关于这个组的助记符。如果你对一个文件使用ls -l 命令,你会看到在“组” 域中的名字会显示出来。
密码????通常都没有被使用,所以为空。如果你需要要设置组的权限,这个域可以是一个经过加密的组密码。
组ID ???组ID(GID)。这个号码就是在文件/etc/passwd中的组ID字段中的号码。这个号码为组的成员共享,推荐系统管理员在创建组ID号的时候大于100,这样可以避免同当前和将来的系统需求冲突。
组员列表:?组的成员的用户名的一个列表。在有的unix操作系统中,不是所有的组的成员都在/etc/group文件中列出。用户初始登录组是在/etc/passwd文件的第四个域中定义,而不是在/etc/group 中定义。
请注意,一个用户可以同时属于不同的组,使用newgrp命令可以切换到不同的组中去。
$newgrp group_name
命令执行后,这个新组会成为用户的有效组。切换到新的组不会不会更改/etc/passwd文件中的关于用户的主组的定义,而仅仅会更改在使用newgrp命令后,用户创建的任何文件的组的定义。不带任何参数执行newgrp名会返回这个用户在/etc/passwd文件中被分派的组。
使用/usr/sbin/grpck命令可以检查/etc/group文件的一致性。这个命令可以检查每一行的域的数目,和是否所有的登录名都在/etc/passwd中存在。
1.5 使用命令行管理用户帐号
useradd,usermod,userdel
groupadd,groupmod,groupdel
管理帐号和组的一种方式是使用命令。使用useradd命令会在/etc/passwd和/etc/group中增加一行,使用这个命令还可以选择同时创建用户的home目录、shell和自动拷贝一个目录下的文件到用户的home目录下。
语法;
useradd [ -u uid [-o]] [-g group] [-G group [group]] [-d dir] [-s shell]
[ -c command] –m [ -k skel dir]] login
其中-o选项允许多个UID,-m选项使建立home目录。其中的许多的选项都是默认的。
例子:
1) 为用户renay创建一个帐号,并且建立一个/home/renay的home目录。使用/etc/skel作为框架目录,/usr/bin/sh作为shell。并且使用下一个最高的UID。
useradd –m –s /usr/bin/sh renay
2)为名叫Tracy的用户创建一个帐号。Tracy的主组为staff,tracy同时也是pe和chemistry组的成员。创建一个home 目录,而剩下的项目都使用默认值。
useradd –m –g staff – G pe,chemistry tracy
显示useradd命令的默认值。
useradd –D
更改默认的组为其他的组
useradd –D –g others
使用userdel命令删除用户。语法为:
userdel –r login
-r选项:在删除用户帐号的同时会删除用户的home目录。
groupadd命令语法为:
groupadd [-g gid [-o]] group
例子:
增加一个叫economics的组。使用大于ID号100,并且最接近100的有效的组ID号。
groupadd economics
1.6 使用命令行方式更改用户的密码
任何用户(普通用户和超级用户)更改密码都需要使用passwd命令。通常用户都能更改自己的密码(但是不可以修改别人的密码)。当使用这个命令的时候,用户被提示输入当前的密码,然后再输入新的密码,然后系统会要求你再输入一次新密码,目的是为了验证和避免输入错误。如果第二个密码同第一个密码不一致,密码不会被修改,并会会退出到shell提示符下。
如果用户忘记了他的密码,他必须寻求系统管理员的帮助。系统管理员可以通过passwd命令修改任何用户的密码。
有一个选项在创建用户帐号的时候可以禁止用户修改他们的密码。在这种情况下,只有超级用户可以修改这个用户的密码。
当更改或是分配一个用户的密码的时候请注意以下事情:
密码至少6个字符。虽然可以超过6个字符,但只有前6个有有效。
密码中必须要有两个字母(大写或小写字母),至少有一个数字或特殊的字符,这主要为了密码的安全性考虑。
注意:当你使用passwd命令的时候,系统会创建/etc/passwd文件的一个拷贝名为/etc/opasswd的文件。
你也可以用passwd命令来更改一个密码的时限。
passwd –f –n min –x max name
min和max都是以天为单位。-f选项会强迫用户在下一次登录的时候修改他的密码。
例子:
限制帐号fontana的密码的有效期限
passwd -n 7 -x 35 fontana
 强迫用户buddy在下一次登录的时候修改他的密码:
passwd –f buddy


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/26132/showart_201358.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP