zoukankan      html  css  js  c++  java
  • linux命令useradd添加用户

    linux命令useradd添加用户详解

    1.作用

    useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。

      2.格式

      useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name

    3.主要参数

      -c:加上备注文字,备注文字保存在passwd的备注栏中。

      -d:指定用户登入时的主目录,替换系统默认值/home/<用户名>

      -D:变更预设值。

      -e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。

      -f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.

      -g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。

      -G:指定用户所属的附加群组。

      -m:自动建立用户的登入目录。

      -M:不要自动建立用户的登入目录。

      -n:取消建立以用户名称为名的群组。

      -r:建立系统账号。

      -s:指定用户登入后所使用的shell。默认值为/bin/bash。

      -u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。

    4.说明

      useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。

    5.应用实例

    建立一个新用户账户testuser1,并设置UID为544,主目录为/usr/testuser1,属于users组:

    代码如下

    #useradd -u 544 -d /usr/testuser1  -g users -m  testuser1 
    

    加-m 如果主目录不存在则自动创建

    6.例

    使用管理员账号登陆系统,建立用户tmp_3452 密码3sdt5:Eawhg

    添加用户命令:

    代码如下

    [root@ptr228 ~]# adduser tmp_3452 修改密码命令: [root@ptr228 ~]# passwd tmp_3452 
    

    在系统出现提示输入密码是输入密码:3sdt5:Eawhg 系统提示输入确认密码后再输入一次。OK添加成功。

    7.useradd批量添加用户

    使用useradd时,如果后面不添加任何参数选项,例如:#sudo useradd test创建出来的用户将是默认“三无”用户:一无Home Directory,二无密码,三无系统Shell。

    步骤如下:

    (1)建立用户名列表文件username.txt (同上)

    (2)创建用户密码对应文件serc.txt,格式为username:password (注意文件的格式)   

    代码如下

    stu1:tt1
    stu2:tt2
    stu3:tt3
    stu4:tt4
    stu5:tt5
    stu6:tt6   
    

    (3)批量添加的脚本文件aa.sh

    代码如下

    ##添加用户,并且在/home/ 下为用户生成用户目录。cat < username.txt | xargs -n 1 useradd -m##批处理模式下更新密码
    chpasswd < serc.txt##将上述的密码转换到密码文件和组文件
    pwconv##结束验证信息
    echo "OK 新建完成"(4)执行该脚本文件,查看执行过程 root@liu:/home/liu/Desktop/Dos# sh aa.sh |
    

    新建完成         useradd命令,在执行没有出错的情况下,不会输出任何的信息,不会与用户交互。但是用户必须要记住那些设置项目,否则添加的用户可能出现一些预想不到的结果。

    8.新创建一个oracle用户,这初始属于oinstall组,且同时让他也属于dba组。

    #useradd oracle -g oinstall -G dba

    新创建一个oracle用户,这初始属于oinstall组,且同时让他也属于dba组。

    9.无法使用shell,且其用户目录至/var/servlet/service

    #useradd tomcat  -d /var/servlet/service -s /sbin/nologin

    无法使用shell,且其用户目录至**/var/servlet/service**

    二,userdel删除用户

    删除刚创建的账号 tmp_3452

    删除用户命令:

    代码如下

     [root@ptr228 ~]# userdel tmp_3452 
    

    或者连同用户目录一并删除:

    代码如下

    [root@ptr228 ~]# userdel -f tmp_3452 
    

    注意:这里如果用户还在登陆的话,会提示,用户正在登陆无法删除。此时可能需要先强制用户退出。

    3. 强制退出已经登陆用户

    查看当前登陆用户的命令:

     代码如下

    [root@ptr228 ~]# w 
    

    会输入如下结果:

    代码如下

    12:10:27 up 21:13,  1 user,  load average: 0.00, 0.01, 0.08
    USER          TTY      FROM                 LOGIN@   IDLE   JCPU   PCPU WHAT
    root            pts/0    ***.**.***.**    11:33    0.00s  0.08s  0.00s   w
    tmp_3254  [ps](http://www.111cn.net/fw/photo.html)1       ***.**.***.**     11:33    0.00s  0.08s  0.00s   ls 
    

    这里知道了登陆用户的tty是ps1执行强制退出命令pkill:

    命令原型: pkill -kill -t [TTY]

    代码如下

     [root@ptr228 ~]# pkill -kill -t ps1 
    

    执行之后再执行名w 可以看到用户已经退出。

    重复执行第二步的删除用户命令,删除成功。

  • 相关阅读:
    git命令行clone指定分支、更新、冲突解决、提交代码步骤
    row_number() over() 一句话概括,以及max()函数的一种查询分组中最大值的用法
    在实体类中对与记录数量的属性进行修改时,定义相关方法在实体类中,进行修改时方便
    JQuery 获取多个select标签option的text内容
    Mybatis&orcale update语句中接收参数为对象
    zTree异步加载展开第一级节点
    zTree获取当前节点的下一级子节点数
    Mybatis报错 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'parentCode' not found. Available parameters are [0, 1, param1, param2]
    ztree插件异步加载 使用RESTEasy报错 Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.
    Mybatis 报错 There is no getter for property named '***' in 'class java.lang.String'
  • 原文地址:https://www.cnblogs.com/EdwinChan/p/8350879.html
Copyright © 2011-2022 走看看