zoukankan      html  css  js  c++  java
  • 建立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

  • 相关阅读:
    xls与csv文件的区别
    青音,经典爱情语录
    win7用户账户自动登录方法汇总
    How to using Procedure found Lead Blocker
    FTS(3) BSD 库函数手册 遍历文件夹(二)
    FTS(3) BSD 库函数手册 遍历文件夹(一)
    DisplayMetrics类 获取手机显示屏的基本信息 包括尺寸、密度、字体缩放等信息
    About App Distribution 关于应用发布
    FTS(3) 遍历文件夹实例
    OpenCV 2.1.0 with Visual Studio 2008
  • 原文地址:https://www.cnblogs.com/sbaicl/p/2760991.html
Copyright © 2011-2022 走看看