useradd命令详解(转)

1.做用

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

  2.格式shell

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

3.主要参数bash

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

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

  -D:变动预设值。.net

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

  -f:指定在密码过时后多少天即关闭该帐号。若是为0帐号当即被停用;若是为-1则帐号一直可用。默认值为-1.ci

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

  -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  ps1       ***.**.***.**     11:33    0.00s  0.08s  0.00s   ls

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

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

 代码以下 复制代码

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

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

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

相关文章
相关标签/搜索