Linux用户管理详解

一、常用命令:
(1)创建用户命令两条:
  adduser
  useradd
(2)用户删除命令:
  userdel
二、两个用户创建命令之间的区别
  adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
  useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。
三、使用adduser
  例如:
  $ adduser apple
输出显示:

这样在创建用户名时,就创建了用户的主目录以及密码。
默认情况下:
adduser在创建用户时会主动调用 /etc/adduser.conf;
在创建用户主目录时默认在/home下,而且创建为 /home/用户名
如果主目录已经存在,就不再创建,但是此主目录虽然作为新用户的主目录,而且默认登录时会进入这个目录下,但是这个目录并不是属于新用户,当使用userdel删除新用户时,并不会删除这个主目录,因为这个主目录在创建前已经存在且并不属于这个用户。
为用户指定shell版本为:/bin/bash
因此常用参数选项为:
(1) --home: 指定创建主目录的路径,默认是在/home目录下创建用户名同名的目录,这里可以指定;如果主目录同名目录存在,则不再创建,仅在登录时进入主目录。
(2) --quiet: 即只打印警告和错误信息,忽略其他信息。
(3) --debug: 定位错误信息。
(4) --conf: 在创建用户时使用指定的configuration文件。
(5) --force-badname: 默认在创建用户时会进行/etc/adduser.conf中的正则表达式检查用户名是否合法,如果想使用弱检查,则使用这个选项,如果不想检查,可以将/etc/adduser.conf中相关选项屏蔽。如:

四、使用useradd
注意: 在使用useradd命令创建新用户时,不会为用户创建主目录,不会为用户指定shell版本,不会为用户创建密码。
例如:
1、不使用任何参数选项创建用户:
例如创建新用户 tt
$ sudo useradd tt
(1)需要为用户指定登录密码:

(2)需要为用户指定shell版本和用户登录主目录

如上图所示,最后一行行首只出现:
$
查看shell版本,发现是/bin/sh:

说明这是没有指定shell版本
用户登录后的所在目录为根目录: /
虽然$HOME环境变量为/home/tt

2、为用户指定参数的useradd命令:
常用命令行选项:
(1)-d: 指定用户的主目录
(2)-m: 如果存在不再创建,但是此目录并不属于新创建用户;如果主目录不存在,则强制创建; -m和-d一块使用。
(3)-s: 指定用户登录时的shell版本
(4) -M: 不创建主目录
  例如:$ sudo useradd -d "/home/tt" -m -s "/bin/bash" tt
  解释: -d “/home/tt" :就是指定/home/tt为主目录
  -m 就是如果/home/tt不存在就强制创建
   -s 就是指定shell版本
  修改tt密码:
  $ sudo passwd tt
五、删除用户命令
  userdel
(1)只删除用户:
  sudo userdel 用户名
(2)连同用户主目录一块删除:
  sudo userdel -r 用户名
如果创建时主目录已经存在,即主目录不属于当前要删除的用户,则无法删除主目录,例如:

可以看出无法删除已有主目录/home/tt。
六、相关文件:
/etc/passwd - 使用者帐号资讯,可以查看用户信息
/etc/shadow - 使用者帐号资讯加密
/etc/group - 群组资讯
/etc/default/useradd - 定义资讯
/etc/login.defs - 系统广义设定
/etc/skel - 内含定义档的目录

本文引用自:https://www.linuxidc.com/Linux/2017-02/140794.htm

 

posted on 2019-08-01 09:01  白衣·沽酒  阅读(178)  评论(0编辑  收藏  举报

导航