专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Unix/FreeBsd » freebsd用户组:FreeBSD用户管理的增加用户 »正文

freebsd用户组:FreeBSD用户管理的增加用户

来源: 发布时间:星期一, 2009年1月12日 浏览:43次 评论:0
  为了使用多用户FreeBSD操作系统必须是系统登记用户用户信息保存在/etc目录下passwd 文件中在这个文件中定义个FreeBSD用户应具有以下属性:

  用户名(Username):在系统中使用这个用户名来标识用户每个用户名不超过8个且是大小写敏感习惯上用户名只使用小写字母通常根据用户真实名字缩写来选择合适用户名

  用户标识号(User ID):由于计算机中处理数字比处理串更容易因而使用数字方式用户标识号来区分区别用户更为适合事实上Unix系统就是使用唯用户标识号来区分用户在某些特定目可以存在多个有区别用户名、但用户标识号相同用户这表示这些区别用户名用户实际上是同个用户

  口令(password):系统用它来验证用户是否合法超级用户root可以使用系统 passwd来更改每个用户口令用户也可以使用passwd来更改自己口令较老Unix系统中直接在 passwd文件中保存口令密文由于passwd文件是系统中每个用户都可以读取只通过加密来保证口令安全性然而现代计算机发展使得情形发生了变化高速计算能力使得通过猜测方式来破译口令成为可能因此现在Unix中口令均不再直接保存在passwd文件中了而passwd文件中口令域使用个 “*” 来代替FreeBSD使用 /etc/master.passwd作为真正口令文件保存包括个人口令在内数据但这个文件不能被普通用户读取

  命令解释(shell):用户登录后启动这个来接收用户输入并执行输入相应命令标准shell有sh和csh更复杂易用shell有bash和tcsh等但它们不是基本系统部分必须额外安装shell个标准Unix但系统在/etc/shells文件中定义了些标准shell名字很多应用检查这个文件中内容和用户shell来判断这个用户是普通用户还是用于特定目而创建用户

  个人目录(home directory):由于FreeBSD是多用户系统每个用户都要有自己独立使用环境区别用户文件不能相互交叉存放因此Unix中为每个用户配置了自己个人目录用户文件都放置在各自目录下从而互不干扰习惯上FreeBSD下用户个人目录位于/home目录下使用用户名作为子目录名多数shell中使用波浪符号~来代表该用户个人目录

  组标识号(Group ID):具有相似属性多个用户可以被分配到个组内每个组都有自己组名且以自己组标识号相区分(组标识号和组对应关系在/etc/group文件中给出)用户组标识号保存在passwd文件中早期Unix中每个用户只能属于个组而现代Unix中每个用户可以同时属于多个组除了在passwd文件中指定了其归属基本组的外还可以在文件/etc/group中明确指定个组包括某个用户使得该用户能属于多个组

  除此的外用户还有其他属性例如登录类别这些信息记录在另个口令文件:/etc/master.passwd中

  • 增加用户

  虽然可以使用系统安装/stand/sysAdd User选项来增加用户和组但熟练管理员并不喜欢这种全屏幕操作方式Unix下习惯做法是使用命令行方式如使用adduser命令来或pw命令添加用户

  adduser命令使用配置文件/etc/adduser.conf来保存添加用户使用缺省数据如果没有这个配置文件次执行adduser时会询问缺省设置以自动生成这个设置文件这样对于很多基本用户数据就设置了正确缺省值以减少输入工作量

  # adduser

  Use option ``-silent'' you don't want see all warnings & questions.

  Check /etc/shells

  Check /etc/master.passwd

  Check /etc/group

  Enter your default shell: bash csh date no sh [sh]:

  Your default shell is: sh -> /bin/sh

  Enter your default HOME partition: [/home]:

  Copy dotfiles from: /usr/share/skel no [/usr/share/skel]:

  Send message from file: /etc/adduser.message no

  [/etc/adduser.message]:

  Use passwords (y/n) [y]:

  Ok, let's go.

  在前面过程中生成了配置文件的后还可以使用编辑器来修改它内容以更改adduser配置虽然生成了配置文件但每次启动adduser还会询问这些缺省参数是否需要更改使得操作不太简便为了让adduser直接进入用户数据输入状态可以使用 “adduser -quiet” 减少提示信息-quiet缩写方式为-q -silent和-s参数也有同样效果劳永逸方式是直接修改adduser.conf文件将其中 verbose参数改为0表示尽量减少提示这个参数缺省值为1将进行设置缺省值提示而设置为2能提供更多配置参数

  # adduser -s

  Use option ``-verbose'' you want see more warnings & questions

  or try to repair bugs.

  Enter username [a-z0-9_-]: user22

  Enter full name :

  Enter shell bash csh date no sh [sh]:

  Enter home directory (full path) [/home/user22]:

  Uid [1007]:

  Enter login : default :

  Login group user22 [user22]:

  Login group is ``user22''. Invite user22 o othergroups: guest no

  [no]:

  Enter password :

  Use an empty password? (y/n) [y]:

  Name: user22

  Password: ****

  Fullname: user22

  Uid: 1007

  Gid: 1007 (user22)

  Class:

  Groups: user22

  HOME: /home/user22

  Shell: /bin/sh

  OK? (y/n) [y]:

  Added user ``user22''

  Send message to ``user22'' and: no root second_mail_address

  [no]:

  your account ``user22'' was created.

  Have fun!

  See also chpass(1), finger(1), passwd(1)

  Add anything to default message (y/n) [n]:

  Send message (y/n) [y]:

  Add another user? (y/n) [y]:n

  因此可以使用-s参数使adduser直接进入增加用户操作步骤这将询问增加用户必要数据包括用户名、口令等数据adduser将使用adduser.conf中些内容作为缺省提示通常有提示步骤可以直接利用缺省提示进行操作

  比adduser命令功能更复杂命令为pw管理员能使用它来完成各种复杂用户管理任务包括增加、删除用户以及修改用户各项参数设置

  另种更直接管理用户方式是直接编辑口令文件内容这是Unix早期常见做法但随着Unix发展当前Unix使用shadow思路方法保存加密口令数据用户数据不仅保存在passwd文件中而真实口令等内容被系统保存在另个口令文件中必须同时修改这两个口令文件使其保持致才可以因此不能直接使用vi等编辑器来编辑个/etc/passwd文件而应该使用系统提供vipw命令修改这口令文件并同时写入两个文件出于安全考虑vipw将使用个内部编辑器(和vi相同)编辑master.passwd文件保存时同步这两个口令文件事实上master.passwd文件才是真正口令文件单独改变/etc/passwd文件对用户数据没有影响

  由于系统中会反复读取用户口令而在普通文本形式passwd文件中查找用户速度和用户数量是种线性关系当用户数量查找效率就急剧下降而数据库形式更适合这些经常发生查找任务数据库将自动维护数据索引这些索引可以用来提高查找效率FreeBSD中提供了种简单标准数据库文件格式口令文件可以使用这种 db数据格式来提高性能因此口令文件有对应数据库形式:/etc/pwd.db和/etc/spwd.db用来获得用户信息系统事实上首先查询这两个数据库文件而由系统来自动维护这两个数据库文件和前两个passwd文件同步系统管理者可以使用pwd_mkdb来从文本形式口令文件来生成数据库文件通常普通文本形式passwd 文件只适合于有几百帐号系统而db数据库形式适合万以上帐号系统

  在其他Unix系统中第 2个口令文件名字和bsd系统使用文件名区别大部分Unix V 系统使用/etc/shadow文件使用区别名字只是习惯问题文件格式都是passwd文件格式因此如果要求兼容可以为/etc/master.passwd建立个叫shadow符号连接

  组能帮助权限分配和管理用户类似管理组也可以通过sys来完成或直接改动/etc/group 文件用户除了属于passwd文件中定义组的外还可以被邀请进入其他组中adduser添加用户时会询问是否将用户加入其他组如果在用户生成的后在将用户加入其他组就需要直接改动/etc/group文件例如 group文件中有这样行:

  wheel:*:0:root,admin

  admin:*:100:admin

  这表示用户admin不但属于自己在passwd中规定还属于wheel和admin组可以使用groups 命令来获得用户属组列表



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: