建立Linux用户的几种方法

  今天在一个技术Q群中求工作时,给一道看似简单,却很有味道的题目“Redhat下,创建一个用户有几种方式?”,特意上网查看了相关的资料,以作后记。

 

  方法一 传统的Shell命令[adduser/useradd]

  这个是最简单、最直接和最常用的方法了,相信大家都很熟悉了吧!下面就给出一些命令:

#adduser username         

        ——>这个可以默认,当然为了安全起见,一般指定ID(尽量大于500)
            如:#adduser username -u 600
#passwd username
        ——>这里必须得指定用户名才可以修改相应的用户的密码,否则将会修改当前用户的密码

 下面是adduser命令的详细参数:

-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的目录也相同会在使用者目录下一一建立,-k同-m不建立目录以及不复制任何档案为预设值 
-s shell   使用者登入后使用的shell名称,预设为不填写,这样系统会帮你指定预设的登入shell
-u uid   用者的ID值,必须为唯一的ID值,除非用-o选项;数字不可为负值,预设为最小不得小于99而逐次增加,0~99传统上是保留给系统帐号使用
 
   

 

  方法二 手动创建

  其实,手动来创建用户的过程也就是我们用shell命令所做的工作。它所涉及的几个文件是:

     etc/passwd  储存账户信息
              etc/shadow  真正存放密码文件
      etc/group 存放组信息的文件
             etc/gshadow 存放组密码吗的文件

   而它所涉及的目录:

    /hom        家目录
           /var/spool/mail   邮件

 

   1、向 passwd 添加用户相关

#vim /etc/passwd
 按照以下格式添加:
 jx:x:600:600:jx:/home/jx:/bin/bash

 在该文件中,每一行用户记录的各个数据段用“:”分隔,分别定义了用户的各方面属性,各个字段的顺序和含义如下:

  注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序shell

    

  2、向shadow中添加MD5加密的口令

#grub-md5-crypt
 Password:
 Retype password:
 $1$7CL2v0$N9z0F85BGA31tLUaR7naY1

#chmod
700 /etc/shaow 由于默认是只读,后面完成添加后即刻修改回到原来的权限
#vim
/etc/shadow 复制当前用户的行到最后,将第二部分修改为上网刚刚计算出来的MD5值,类似以下: jx:$1$7CL2v0$N9z0F85BGA31tLUaR7naY1:15640::::::
#chmod
000 /etc/shadow

 

     3、添加到组 group中

  本文件的主要内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:

group_name:passwd:GID:user_list

  注:用户列表,每个用户之间用“,”号分割;本字段可以为空,如果字段为空表示用户组为GID的用户名

#vim /etc/group
 复制当前用户的行到最后,再修改前面和后面即可,注意GID值,如:
 jxg:x:600:

 

     4、 修改 gshadow 文件添加加密口令

  这个文件与“shadow”类似,需要修改权限

 

#chmod 700 /etc/gshadow

#vim
/etc/gshadow 复制当前用户的行到最后,修改第一个为相应的组即可,如: jxg:!::

#chmod
000 /etc/gshadow

 

     5、创建用户的home 目录

 

 #mkdir /home/jx
 
 #chmod 770 /home/jx 更改"jx"目录的权限为"770"
 
 #chown jx:jxg /home/jx  更改 "jx"目录所有人和组
 
 # cat /etc/skel/.
 ./ .bash_logout .bashrc .mozilla/ ../ .bash_profile .gnome2/
 
 #cp -a /etc/skel/.* /home/jx "jx"用户配置环境变量
 
  
 
 在"jx" 目录下生成".bash_logout"".bash_profile"".bashrc" 三个隐藏文件(当前用户为root),如下:
 
 [root@Nagios ~]#ls -a /home/admin/.
 
 . .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
 
 [root@Nagios ~]#cp /home/admin/.* /home/jx
 
 [root@Nagios ~]#chown -R jx:jxg /home/jx/* 修改各文件属性权限

 

     6、配置用户邮件mail目录 

 #cd /var/spool/mail
 
 #touch jx
 
 #chmod 660 jx 更改"jx"目录权限为660
 
 #chown -R jx:jxg jx 更改 "jx"目录所有人和组

 

  这样下来,我们的手工创建用户就成功啦!

    

   方法三 图形界面-用户管理器

   这个方法是在redhat系统的图形界面下使用的,比较简单。

 可以参考:http://zonghe.17xie.com/book/10965479/33345.html 

 

本文章参考:http://book.51cto.com/art/201006/206455.htm

posted @ 2012-11-08 22:05  SBaiCL  阅读(2586)  评论(0编辑  收藏  举报