首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux相关>其他unix>正文

UNIX系统管理-第二章 创建和管理用户帐号

http://www.oklinux.cn  2007-04-22  oklinux收集整理 M-zone  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn
创建和管理用户帐号

目标

完成这一章,你能做以下事情:

列出建立一个用户帐号步骤

理解/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

上一篇:UNIX系统管理第一章 系统管理简介   下一篇:UNIX系统管理-第三章:定制用户帐号

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·UNIX系统管理第一章 系统管理简介
·UNIX系统管理-第三章:定制用户帐号
·FreeBSD命令
·HP-UX下网络服务的启动
·Solaris下究竟如何使用setuid/seteuid/setreuid
·HP-UX Glance的用法
·Solaris 10 最新版:使用ZFS的十条理由 - ZFS特性介绍
·Freebsd6下使用portsnap更新ports树
·AIX操作系统及HACMP群集系统安装步骤
·FreeBSD portsnap 简单使用
·FreeBSD下用rsync对网站进行同步镜像备份
·技术评论:什么才是Unix的“新生命”
·SOLARIS磁盘镜象(RAID1)亲身体验
·AIX经验汇总
·FreeBSD查过很多资料自己整理实践如下
·AIX 25个考题
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Unix Shell程序编写的方法详解
·高手进阶:UNIX系统环境下高级编程一例
·freebsd目录架构
·Unix/Linux中Cron的用法
·Unix主流操作系统
·Unix环境高级编程一例
·redbook 上的LVM
·Linux的NAPI和Solaris的GLDv3
·HP 下db2定时备份脚本
·SUID和SGID的详细解
·Solaris系统性能监控之一:处理器监控
·NT和UNIX下FTP非交互方式文件传输
  阅读排行
·HP-UX Glance的用法
·Sun Cluster 3.0 的规划、安装、配置及
·菜鸟从硬盘安装Redhat Linux 9.0中文版
·FREEBSD分区总结
·dos2unix, unix2dos 对应的命令
·各种 UNIX 下载地址
·solaris下,添加静态路由的方法
·介绍几个Unix版本
·Solaris 修改root 可以Telnet 与ftp
·OpenSolaris, Solaris Express, Solari
·freebsd里的kqueue 和linux 2.6下的epo
·Unix Shell程序编写的方法详解
·手把手教你Solaris 10安装(概述篇)
·更改CDE GUI的分辨率和刷新率
·SUID和SGID的详细解
网摘收藏: