IT学习者 | 文章大全 | 技术文档 | 桌面壁纸 | 实用查询 | 网络电台 | 成语 | 歇后语 | 网址 | 下载 | 周公解梦 | 生日密码 | 电视剧365 | Flash
 您现在的位置: IT学习者 >> 文章大全 >> 网页制作 >> 服务器

Useradd和Adduser添加用户工具使用方法

【 来源:网络  更新时间:2008-1-18 | 字体:

添加用户工具有useradd和adduser ,这两个工具所达到的目的都是一样的,在Fedora 发行版中,useradd 和adduser 用法是一样的;但在slackware发行版本中,adduser和useradd 还是有所不同,表现为adduser 是以人机交互的提问的方式来添加用户;

 

除了useradd和adduser工具以外,我们还能通过修改用户配置文件/etc/passwd和/etc/groups的办法来实现;

 

当然我们也不要忽略一些发行版独有用户管理工具,比如Fedora 中有 system-config-users 工具;这个工具比较简单,点几下鼠标就能完成;

 

1、useradd 工具

 

useradd 不加参数选项时,后面直接跟所添加的用户名时,系统时读取添加用户配置文件/etc/login.defs和/etc/default/useradd文 件,然后读取/etc/login.defs和/etc/default/useradd中所定义的规则添加用户;并向/etc/passwd和 /etc/groups文件添加用户和用户组记录;当然/etc/passwd和/etc/groups的加密资讯文件也同步生成记录;同时发生的还有系 统会自动在/etc/add/default中所约定的目录中建用户的家目录,并复制/etc/skel中的文件(包括隐藏文件)到新用户的家目录中;

 

useradd 的语法:

 

usage: useradd [-u uid [-o]] [-g group] [-G group,...]

[-d home] [-s shell] [-c comment] [-m [-k template]]

[-f inactive] [-e expire ] [-p passwd] name

useradd -D [-g group] [-b base] [-s shell]

[-f inactive] [-e expire ]

当我们执行useradd 用户名 来添加用户时,我们会发现一个比较有意思的现象,新添中的用户的家目录总是被自动添加到 /home目录下,我们先举个例子;

 

实例一:不加任何参数,直接添加用户;

 

[root@localhost beinan]# useradd beinanlinux

[root@localhost beinan]# ls -ld /home/beinanlinux/

drwxr-xr-x 3 beinanlinux beinanlinux 4096 11月 2 15:20 /home/beinanlinux/

在这个例子中,我们添加了beinanlinux用户,我们在查看/home/目录时,会发现系统自建了一个beinanlinux的目录;

 

我们再来查看 /etc/passwd 文件有关beinanlinux的记录,也会有新发现;我们通过more 来读取 /etc/passwd 文件,并且通过grep 来抽取 beinanlinux字段,得出如下一行;

 

[root@localhost beinan]# more /etc/passwd | grep beinanlinux

beinanlinux:x:509:509::/home/beinanlinux:/bin/bash

从得出的beinanlinux的记录来看,以adduser 工具添加beinanlinux用户时,设置用户的UID和GID分别为509 ,并且把beinanlinux的家目录设置在 /home/beinanlinux ,所有的SHELL是 bash ; 我们再来看看 /etc/shadow、/etc/groups和/etc/gshadow 文件,是不是也有与beinanlinux有关的行;我们还要查看/etc/default/useradd 和/etc/login.defs文件的规则,看一下beinanlinux用户的增加是不是和这两个配置文件有关;我们还要查看 /home/beinanlinux目录下的文件,是不是和/etc/skel目录中的一样;

 

由此我们引出我们下面所要谈的内容:

 

useradd -D [-g group] [-b base] [-s shell] [-f inactive] [-e expire ]

 

1)/etc/default/useradd 配置文件的定义;

 

useradd -D [-g group] [-b base] [-s shell] [-f inactive] [-e expire ]

 

useradd 加-D参数后,就是用来改变配置文件 /etc/default/useradd的;

 

useradd -D [-g group] [-b base] [-s shell] [-f inactive] [-e expire ]

 

当-D选项出现时,useradd秀出现在的预设值,或是藉由命令列的方式更新预设值。可用选项为∶

-b default_home 注:定义用户所属目录的前一个目录。用户名称会附加在default_home后面用来建立新用户的目录。当然使用-d后则此选项无效。

-e default_expire_date 注:用户帐号停止日期。

-f default_inactive 注:帐号过期几日后停权。

-g default_group 注:新帐号起始用户组名或ID。用户组名须为现有存在的名称。用户组ID也须为现有存在的用户组。

-s default_shell 注:用户登入后使用的shell名称。往后新加入的帐号都将使用此shell.

如不指定任何参数,useradd显示目前预设的值。

 

实例二:

useradd -D 如不指定任何参数,useradd显示目前预设的值;

 

[root@localhost beinan]# useradd -D

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=no

我们看一下/etc/default/useradd 文件就明白了,应该和上面的输出是一样的;所以如果我们想改变useradd配置文件/etc/default/adduser 的内容,也可以用编辑器直接操作,如果你会用vi编辑器或者其它编辑器的话,这个应该不成问题吧;

 

实例三:

 

我想把添加用户时的默认SHELL /bin/bash 改为 /bin/tcsh ,则应该用下面的命令;

 

[root@localhost beinan]# useradd -D -s /bin/tcsh 注:把添加用户时的SHELL 改为tcsh ;

[root@localhost beinan]# more /etc/default/useradd 注:查看是否成功;

# useradd defaults file

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/tcsh 注:成功;

SKEL=/etc/skel

CREATE_MAIL_SPOOL=no

这个-D参数的解说就这样了,也是比较简单,如果不会用命令,直接改参数配置文件总会吧;Linux解决问题是极为灵活的,就看我们怎么解决了,对不对?

 

2)useradd 添加用户;

 

useradd [-u uid [-o]] [-g group] [-G group,...]

[-d home] [-s shell] [-c comment] [-m [-k template]]

[-f inactive] [-e expire ] [-p passwd] name

新帐号建立,当不加-D参数,useradd指令使用命令列来指定新帐号的设定值 and使用系统上的预设值.新用户帐号将产生一些系统档案,用户目录建立,拷备起始档案等,这些均可以利用命令列选项指定。此版本为RedHat Linux提供,可帮每个新加入的用户建立个别的group,毋须添加-n选项。

 

useradd 可使用的选项为

-c comment 注:新帐号 password 档的说明栏 。

-d home_dir 注:新帐号每次登入时所使用的home_dir。预设值为default_home内login名称,并当成登入时目录名称。

-e expire_date 注:帐号终止日期。日期的指定格式为MM/DD/YY。

-f inactive_days 注:帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能,预设值为-1

-g initial_group 注:group名称或以数字来做为用户登入起始用户组(group)。用户组名须为现有存在的名称。用户组数字也须为现有存在的用户组。预设的用户组数字为1。

-G group,[...]

注:定义此用户为此一堆groups的成员。每个用户组使用","区格开来,不可以夹杂空白字元。用户组名同-g选项的限制。定义值为用户的起始用户组。。

-m 注:用户目录如不存在则自动建立。如使用-k选项skeleton_dir内的档案将复制至用户目录下。然而在/etc/skel目录下的档案也会复制过 去取代。任何在skeleton_dir or /etc/skel的目录也相同会在用户目录下一一建立。The-k同-m不建立目录以及不复制任何档案为预设值。

-M 不建立用户目录,即使/etc/login.defs系统档设定要建立用户目录。

-n 预设值用户用户组与用户名称会相同。此选项将取消此预设值。

-r 此参数是用来建立系统帐号。系统帐号的UID会比定义在系统档上/etc/login.defs.的UID_MIN来的小。注意useradd此用法所建 立的帐号不会建立用户目录,也不会在乎纪录在/etc/login.defs.的定义值。如果你想要有用户目录须额外指定-m参数来建立系统帐号。

-s shell 注:用户登入后使用的shell名称。预设为不填写,这样系统会帮你指定预设的登入shell。

-u uid uid用户的ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值。预设为以/etc/login.defs中的UID_MIN的值为准,0到UID_MIN的值之间,为系统保留的UID ;

useradd 这么多的参数看上去头有点晕,我们如何用呢??其实很简单;一个参数一个参数的试一试不就明白了??这是最好的学习方法。实践是检验真理的唯一标准;

 

如果useradd 后面直接跟用户名,不加任何参数,表示添加用户时按事先/etc/default/adduser 和/etc/login.defs 添加新用户的配置文件的规则来添加用户;其实我们为了方便,也可以把这两个文件修改以适合我们添加用户需要;

文章共2页,当前在第1页 9 7 [1] [2] 8 :
相 关 文 章
相 关 软 件
逃生 放生 黄玫瑰 想太多 那滋味 擦肩而过 放手去爱 北京欢迎你 依然在一起 吻得太逼真 感动天感动地 坐上火车去拉萨 怎么会狠心伤害我
心碎 冲动 小太阳 别碰我 蒲公英 千山万水 改变自己 一定要爱你 等爱的玫瑰 陷入爱里面 北极星的眼泪 最后一次的温柔 亲爱的那不是爱情
光荣 火花 坏女人 日不落 樱花草 为你写诗 独家记忆 夏天的味道 寂寞才说爱 忘不掉的伤 爱上你是个错 第三者的第三者 地球人都知道我爱你
假如 相思 是非题 有缘人 舍不得 我的答铃 死而无憾 外滩十八号 越爱越难过 123木头人 和寂寞说分手 爱上你是我的错 爱情里没有谁对谁错
加入收藏留言建议自助友情链接普通友情链接站长的Blog
版权所有   COPYRIGHT 2002-2008 ★IT学习者★ ALL RIGHTS RESERVED.