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

  • 相关阅读:
    Jenkins安装(一)
    Ansible(一) 安装与简单测试
    zabbix中文乱码
    mysql5.7免密登录
    Zabbix 监控 Nginx 模板
    zabbix通过snmp监控主机
    zabbix5.0+grafana 使用脚本安装
    Eth-trunk配置-LACP模式
    Eth-Trunk配置-手动模式
    文件系统简单理解与实操(ext4)
  • 原文地址:https://www.cnblogs.com/sbaicl/p/2760991.html
Copyright © 2011-2022 走看看