新增用户

新增用户命令:useradd

参数:

参数

说明

-u

指定UID,也就是自定义UID

-g

知道GID,也就是初始化用户组,/etc/passwd文件中的第四个字段。

-G

后面接用户组的名字,也就是指定其他用户组。给用户指定要加入的非初始化用户组。

-M

强制!不要创建用户主文件夹。(系统有默认值)

-m

强制!要创建用户主文件夹。(一般默认账号)

-c

用户的说明,/etc/passwd的第五个字段。

-d

指定用户的主文件夹,一定要写绝对路径

-r

创建一个系统账号,这个账号UID限制在1~499。

-s

后跟一个shell脚本,没有这系统默认/bin/bash。这个还是很关键的,在作特殊账号时会使用。

-e

后跟日期,格式为“YYYY-MM-DD”,/etc/shadow的第八个字段。

-f

指定密码是否失效,/etc/shadow的第七个字段。0为马上失效-1为永远不失效。

使用useradd命令:

已创建一个为tiger的用户。使用grep命令查询相关的文件。

Tiger的UID为502.

主文件夹为/home/tiger

初始化用户组为tiger组。

且密码是无效。

说下useradd命令的默认设置,存放在useradd文件中/etc/default/useradd

GROUP=100新增的用户默认的用户组为GID为100的user用户组内。

刚才创建tiger用户是发现用户组为GID为502的tiger用户组内。这是为什么,因为用户组创建机制有2种:

私有用户组机制:系统在创建账号是会给用户一个相同名字的用户组作为初始化用组。这样新创建的账号就是独立的用户独立的用户组。相对于权限上更安全。

公共用户组机制:创建用户时系统默认用户的初始化用户组为100的user组内,这样每个新建的用户都存在与user组内。这样不安全,同一个组内的用户就相互共享了数据。

HOME=/home:用户创建主文件的基目录。

INACTIVE=-1:密码的过期设置。/etc/shadow文件里第七字段。创建用户后多久密码过期,-1时永远有效。0立即失效,其他非负数字,就是多少天后失效,例如10,就是10后失效。

EXPIRE= 账号失效日期。/etc/shadow文件里的第八个字段。一般不设置。

SHELL=/bin/bash:默认使用的shell程序文件名。

SKEL=/etc/skel:用户主文件夹参考基准目录。也就是在创建主文件夹是的模板。用户创建时将/etc/skel里的文件内容作为用户主文件夹的模板,给复制到用户的主文件夹中。当我们要在每个新建用户里添加一个文件夹或文件时,就可以添加到skel文件夹里作为模板。

CREATE_MAIL_SPOOL=yes:创建用户的mailbox。创建用户的邮件箱。邮件箱的地址:/var/spool/mail/tiger

UID/GID与密码参数的参考文件:/etc/login.defs

使用cat命令查看文件内容如下:

每个值的描述已经相当清楚。如果英文看不懂就去百度吧。

#

# Please note that the parameters in this configuration file control the

# behavior of the tools from the shadow-utils component. None of these

# tools uses the PAM mechanism, and the utilities that use PAM (such as the

# passwd command) should therefore be configured elsewhere. Refer to

# /etc/pam.d/system-auth for more information.

#

# *REQUIRED*

#   Directory where mailboxes reside, _or_ name of file, relative to the

#   home directory.  If you _do_ define both, MAIL_DIR takes precedence.

#   QMAIL_DIR is for Qmail

#

#QMAIL_DIR   Maildir

MAIL_DIR         /var/spool/mail

#MAIL_FILE      .mail

# Password aging controls:

#

#       PASS_MAX_DAYS     Maximum number of days a password may be used.

#       PASS_MIN_DAYS      Minimum number of days allowed between password changes.

#       PASS_MIN_LEN        Minimum acceptable password length.

#       PASS_WARN_AGE    Number of days warning given before a password expires.

#

PASS_MAX_DAYS     99999

PASS_MIN_DAYS      0

PASS_MIN_LEN        5

PASS_WARN_AGE    7

#

# Min/max values for automatic uid selection in useradd

#

UID_MIN                     500

UID_MAX                            60000

#

# Min/max values for automatic gid selection in groupadd

#

GID_MIN                     500

GID_MAX                            60000

#

# If defined, this command is run when removing a user.

# It should remove any at/cron/print jobs etc. owned by

# the user to be removed (passed as the first argument).

#

#USERDEL_CMD      /usr/sbin/userdel_local

#

# If useradd should create home directories for users by default

# On RH systems, we do. This option is overridden with the -m flag on

# useradd command line.

#

CREATE_HOME        yes

# The permission mask is initialized to this value. If not specified,

# the permission mask will be initialized to 022.

UMASK           077

# This enables userdel to remove user groups if no members exist.

#

USERGROUPS_ENAB yes

# Use SHA512 to encrypt password.

ENCRYPT_METHOD SHA512

Useradd命令参考的/etc/default/userdd;/etc/skel/*;/etc/login.defs

创建好用户后那密码怎么办啊!

使用passwd命令:

参数:

参数

说明

--stdin

通过一个管道命令的数据,作为密码:例子:echo “abcd1112” | passwd  --stdin  tiger

-l

Lock的意思。将/etc/shadow文件里的第二个字段前加!

-u

Unlock的意思。

-S

列出密码相关的参数。显示/etc/shadow里的相关信息。

-n

多久不可修改密码,/etc/shadow里的第四个字段。

-x

多久必须修改密码,/etc/shadow 里的第五个字段。

-w

密码过期前几天警告,/etc/shadow里的第六给字段。

-i

密码失效日期,/etc/shadow里的第七个字段。

我们来使用下passwd:

查看密码参数的命令chage:

参数

参数

说明

-l

列出账号的详细密码参数

-d

最近一次更改密码日期,格式“YYYY-MM-DD”,/etc/shadow的第三字段。

-E

账号失效日期,格式YYYY-MM-DD” /etc/shadow的第八字段。

-I

密码失效日期,/etc/shadow的第七字段。

-m

密码最短保留天数,/etc/shadow的第四字段。

-M

密码多久修改,/etc/shadow的第五字段。

-W

密码失效前警告日期,/etc/shadow的第六字段。

使用下chage命令:

[root@localhost etc]# chage -l tiger

Last password change                                          : Jun 17, 2017

Password expires                                          : never

Password inactive                                         : never

Account expires                                                      : never

Minimum number of days between password change            : 0

Maximum number of days between password change           : 99999

Number of days of warning before password expires     : 7

如果在创建用户时,设置了错误的操作怎么办?

使用usermod命令来解决:

参数:

参数

说明

-c

账号说明,/etc/passwd的第五字段

-d

账号的主文件夹变更,/etc/passwd的第六字段

-e

账号失效日期,/etc/shadow的第八字段

-f

密码过期的宽限天数,/etc/shadow的第七字段

-g

初始化用户组,/etc/passwd的第四字段,GID

-G

修改用户的支持用户组,/etc/group的第四个字段

-a

与-G合用,添加次要用户组的支持,但不是设置。

-l

修改账号的名称,/ect/passwd的第一字段

-s

修改shell脚本,后跟实际的脚本路径。/etc/passwd的第七字段

-u

修改UID,/etc/passwd的第三字段

-L

将用户密码锁定,修改/etc/shadow的第二个字段。前加入!

-U

将密码列的内容去掉

使用下usermod:

[root@localhost etc]# usermod -c "OK" tiger

[root@localhost etc]# grep tiger /etc/passwd

tiger:x:502:502:OK:/home/tiger:/bin/bash

第五列变成了OK。

删除用户,最简单了。

使用userdel命令:

参数:-r 用户的主文件夹一起删除。

-r一般不要用,因为有时候用户都是被禁用的,可能还需要将用户重新恢复使用。

而且userdel也不建议使用,因为如果想让用户失效,直接使用失效密码的方式就可以。

使用下userdel:

[root@localhost etc]# userdel tiger

[root@localhost etc]# grep tiger /etc/passwd

[root@localhost etc]#

删除用户后,就已经在/etc/passwd文件中找不到tiger的信息。

linux新增用户和删除用户的更多相关文章

  1. useradd adduser linux创建用户、设置密码、修改用户、删除用户

    创建用户.设置密码.修改用户.删除用户: useradd testuser 创建用户testuser passwd testuser 给已创建的用户testuser设置密码 说明:新创建的用户会在/h ...

  2. Linux中加入用户、删除用户时新手可能遇到的问题

    Linux中加入用户.删除用户时新手可能遇到的问题  1.创建新用户后切换到新用户:No directory, logging in with HOME=/     加入用户     #sudo us ...

  3. Linux下创建和删除用户

    在Linux下创建用户和删除用户,必须在root用户下,如果你当前不是用根用户登录,你可以打开终端,输入"su root"命令,再输入根口令,就可以进入root用户模式下,如下所示 ...

  4. Linux创建用户、设置密码、修改用户、删除用户命令

    与大家分享下Linux系统中创建用户.设置密码.修改用户.删除用户的命令,希望对你有所帮助. useradd testuser  创建用户testuserpasswd testuser  给已创建的用 ...

  5. linux创建用户、设置密码、修改用户、删除用户

    创建用户.设置密码.修改用户.删除用户:useradd testuser 创建用户testuserpasswd testuser 给已创建的用户testuser设置密码说明:新创建的用户会在/home ...

  6. Linux中添加用户与删除用户

    注意:添加用户和删除用户需要root来执行. 添加用户 用useradd命令,例如: # useradd -d/home/tom -s/bin/bash -u1000 tom  这样就添加了新用户to ...

  7. MySQL添加用户、删除用户与授权

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 1.1 登录MYSQL: @>mysql -u root -p @&g ...

  8. MySql安装与MySQL添加用户、删除用户与授权

    1.安装MySql       目前MySQL有两种形式的文件,一个是msi格式,一个是zip格式的.msi格式的直接点击setup.exe就好,按照步骤进行.但是很多人下了zip格式的解压发现没有s ...

  9. MySql添加用户,新建数据库,用户授权,删除用户,修改密码

    转自:http://www.cnblogs.com/fly1988happy/archive/2011/12/15/2288554.html MySql中添加用户,新建数据库,用户授权,删除用户,修改 ...

  10. MySql5.7创建数据库与添加用户、删除用户及授权

    MySql安装启动成功后(不会的可以查看上篇MySql5.7安装及配置),首先我们需要创建数据库,然后创建一个用户去操作这个数据库: 一.创建数据库 在MySql命令行中输入: create data ...

随机推荐

  1. 安装Geo-IP

    安装指令例如以下所看到的,跟着步骤一步一步运行就可以.使用root权限,假设不是的话,请依据情况加上sudo权限命令. cd /tmp wget http://geolite.maxmind.com/ ...

  2. iOS引用当前显示的UIAlertView

    UIAlertView在iOS里和一般的UIView不一样,有时候使用起来会有一些不便.特别要引用当前显示的UIAlertView的时候,就存在一些难度. 在iOS7以前,可以下面的代码可以解决这个问 ...

  3. 机器学习11—Apriori学习笔记

    votesmart下载  https://pypi.python.org/pypi/py-votesmart test11.py #-*- coding:utf-8 import sys sys.pa ...

  4. printf()与 scanf()

    一直以来就没有认真看过控制台输入输出的格式,现今找了一些材料,分享如下: 1. 格式化规定符     Turbo C2.0提供的格式化规定符如下: ━━━━━━━━━━━━━━━━━━━━━━━━━━ ...

  5. Android Studio导入eclipse工程(引用多个其它工程)

    eclipse工程向android studio 迁移过程中需要到编译错误: eclipse工程的结构比较复杂,引用了其它的工程,在迁移的过程中遇到了错误. @ViewInject(R.id.edit ...

  6. Linux4_文件操作

    以下操作都是在终端命令行: 1 apt-get install   应用名称,(---:apt-get是从Ubuntu的软件应用里自动下载) 如果你不知道下载,随便输入:java,javac,tree ...

  7. IT人和普洱茶

    IT人与普洱茶 作为一个平凡的IT人,在小孩眼中我就像黑客帝国的主角一样了不起:在亲戚眼中我是在写字楼做办公室吹空调的人:在朋友眼中我就是一个会写代码.掌握高科技术的人:在女友眼中我是一个在名企工作的 ...

  8. python 之前函数补充(__del__, item系列, __hash__, __eq__) , 以及模块初体验

    __str__ :  str(obj) ,  需求必须实现了 __str__, 要求这个方法的返回值必须是字符串  str  类型 __repr__ (意为原型输出):  是 __str__ 的备胎( ...

  9. 【BZOJ3510】首都 LCT维护子树信息+启发式合并

    [BZOJ3510]首都 Description 在X星球上有N个国家,每个国家占据着X星球的一座城市.由于国家之间是敌对关系,所以不同国家的两个城市是不会有公路相连的. X星球上战乱频发,如果A国打 ...

  10. docker安装并配置加速

    安装 旧版本的 Docker 称为 docker 或者 docker-engine,使用以下命令卸载旧版本: sudo apt-get remove docker \ docker-engine \ ...