useradd 用户名

passwd 用户名,给指定用户设密码

passwd给当前用户设密码

添加一个用户系统会自动在以下文件或目录创建对应用户信息:

[root@localhost ~]# grep shipotian /etc/passwd
shipotian:x:1002:1002::/home/shipotian:/bin/bash
[root@localhost ~]# grep shipotian /etc/shadow
shipotian:$6$mDzNFfmC$c/PmvY4M2WIoRE.ITMO6B71tl.WWDm/XhrRnAq.ecMhy86mdWwOeWADxhDOsSp953d7ggt4mCklUzZMQja4g30:17383:0:99999:7:::
[root@localhost ~]# grep shipotian /etc/group
shipotian:x:1002:
[root@localhost ~]# grep shipotian /etc/gshadow
shipotian:!::
[root@localhost ~]# ll /home
总用量 0
drwx------. 4 qiaofeng    qiaofeng    112 7月  23 21:23 qiaofeng
drwx------. 2 shipotian   shipotian    62 8月   5 15:27 shipotian
drwx------. 4 xiongjiawei xiongjiawei 191 7月  23 21:23 xiongjiawei
[root@localhost ~]# ls /var/spool/mail
qiaofeng  root  rpc  shipotian  xiongjiawei


添加用户默认值文件:/etc/default/useradd

# useradd defaults file
GROUP=100  公有模式会使用此默认值,目前一般添加用户是私有模式,所以此条无效。
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

另一个默认值文件:/etc/login.defs

 [root@localhost ~]# grep -v ^# /etc/login.defs

 MAIL_DIR        /var/spool/mail

 PASS_MAX_DAYS   99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7 UID_MIN 1000
UID_MAX 60000
SYS_UID_MIN 201
SYS_UID_MAX 999 GID_MIN 1000
GID_MAX 60000
SYS_GID_MIN 201
SYS_GID_MAX 999 CREATE_HOME yes UMASK 077 USERGROUPS_ENAB yes ENCRYPT_METHOD SHA512

passwd

查询用户密码状态:root命令

[root@localhost ~]# passwd -S xiongjiawei
xiongjiawei PS 1969-12-31 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

锁定用户:root命令

[root@localhost ~]# passwd -l xiongjiawei 此操作的本质即给shadow文件的密码位前加两个!!
锁定用户 xiongjiawei 的密码 。
passwd: 操作成功

解锁用户:root命令

[root@localhost ~]# passwd -u xiongjiawei
解锁用户 xiongjiawei 的密码。
passwd: 操作成功

通过管道输出接收密码:echo "密码" | passwd --stdin 用户名


usermod

-u 修改用户UID

-g 修改用户初始组

-G 修改用户附加组

-c 修改用户说明信息

-d 修改用户家目录

-L  临时锁定用户

-U 解锁用户锁定

这些选项的作用同useradd,只是useradd是添加新用户时同时定制用户相关信息,usermod是修改已存在用户相关信息。


chage

chage -选项 用户名

chage -l 用户名  :列出用户的详细密码状态

chage -d 日期 用户名  :修改密码最后一次更改日期

chage -m 天数  :两次密码修改间隔,即密码最小年龄

chage -M 天数  :密码有效期,即密码最大年龄

chage -W 天数  :密码过期前警告天数

chage -I 天数  :密码过期后宽限天数

chage -E 日期  :账号失效时间


userdel

userdel -r 用户名  :-r选项,删除用户同时删除用户家目录

此命令执行后对应这些文件里与被删除用户相关信息也一并删除:/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/home、/var/spool/mail


id

查询用户id、初始组id、附加组id

[root@localhost ~]# id xiongjiawei
uid=1000(xiongjiawei) gid=1000(xiongjiawei) 组=1000(xiongjiawei),10(wheel)


su

su 用户名  :不建议不带选项-的切换

su - 用户名  :连环境变量一起切换,建议带选项-

su  :切换到root用户,不切换环境变量

su -  :切换到root用户,带环境变量一起切换

从超级用户切换到其他用户不需要输入密码,从其他用户切换到另一用户需要输入另一用户密码。

[xiongjiawei@localhost ~]$ su - root -c "useradd yangguo"  :不切换用户,只是临时用指定用户执行命令
密码:

[xiongjiawei@localhost ~]$ grep yangguo /etc/passwd
yangguo:x:1002:1002::/home/yangguo:/bin/bash


env

添加用户useradd,给用户设置修改密码passwd,修改用户信息usermod,修改用户密码状态chage,删除用户userdel,查询用户及组id,切换用户su,查看当前环境变量env的更多相关文章

  1. FastAdmin 环境变量 env 配置

    FastAdmin 环境变量 env 配置 目前 FastAdmin 支持环境变量 env 配置. 目前支持以下环境变量 app.debug app.trace database.type datab ...

  2. 自动配置/切换/查看JDK环境变量

    最近老是需要几个版本的JDK切换工作,于是网上收集资料整理,自己写了一个:自动配置/切换/查看JDK环境变量的批处理脚本.顺带3个JDK版本分别是:jdk1.6.0_43,jdk1.7.0_80,jd ...

  3. Linux下怎么添加和查看PATH环境变量

    linux下查看和添加PATH环境变量来自:http://apps.hi.baidu.com/share/detail/32942984 $PATH:决定了shell将到哪些目录中寻找命令或程序,PA ...

  4. Linux学习总结(十)-文件复制及查看, 环境变量

    一 文件复制及移动 1.命令 cp --------copy 的意思格式 cp 选项 源文件 目标文件a: 对于文件我们直接cp 文件 目标文件假定我们在普通用户家目录下/home/lv新建两个普通文 ...

  5. maven 常用插件 拷贝依赖 拷贝jar包 查看属性 环境变量

    1 maven编译后希望将生产的jar包拷贝到指定目录 在pom中配置maven插件 maven-antrun-plugin <build > <plugins> <pl ...

  6. java centos7配置查看jdk环境变量

    [root@bogon java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64]# which java/usr/bin/java[root@bogon jav ...

  7. Docker 查看容器环境变量

    #linux指令# printenv

  8. Powershell下设置环境变量

    NODE中经常会用到process.env.NODE_ENV来判断当前环境,因为使用的系统是windows,在sublime text下安装terminal插件后,默认启动的时Powershell, ...

  9. NodeJS学习:环境变量

    简介 环境变量(environment variables) 不属于 NodeJS 范畴,它是操作系统用于设定执行环境的参数.会在程序运行时传递给应用程序. NodeJS 获取环境变量,是通过 glo ...

随机推荐

  1. Python使用虚拟环境

    这里想象一下需求,写一个项目使用的一系列1.0版本的插件,现在要新写一个项目,需要用这些插件的2.0版本,该怎么办?都更新成2.0版本?这样之前的项目都没法维护了 这时我们需要一个虚拟环境,Pytho ...

  2. JavaScript数组对象方法

    数组的方法:首先,数组的方法有数组原型方法,也有从object对象继承来的方法.这里只详细说明一下数组的原型方法. (1)join:把数组中的所有元素放入一个字符串.元素通过指定的分隔符进行分隔. 例 ...

  3. 转载:Allegro实用技巧之模块复用

    http://bbs.ednchina.com/BLOG_ARTICLE_3031842.HTM?click_from=8800032437,9950148743,2016-01-04,EDNCOL, ...

  4. abstract的方法是否可同时是static,是否可同时是native,是否可同时是synchronized?

    1.abstract与static (what) abstract:用来声明抽象方法,抽象方法没有方法体,不能被直接调用,必须在子类overriding后才能使用 static:用来声明静态方法,静态 ...

  5. a标签嵌套解决方案

    在实际网页布局之中,我们有时候需要一整块点击区域中间还要有部分按钮点击,也就是需要a标签嵌套a标签,如下: <!-- a标签进行嵌套的时候 --><a href="#hao ...

  6. 《java.util.concurrent 包源码阅读》04 ConcurrentMap

    Java集合框架中的Map类型的数据结构是非线程安全,在多线程环境中使用时需要手动进行线程同步.因此在java.util.concurrent包中提供了一个线程安全版本的Map类型数据结构:Concu ...

  7. python学习笔记 map&&reduce

    ---恢复内容开始--- 1.map 1)map其实相当对吧运算符进行一个抽象,返回的是一个对象,但是这里不知道为什么不可以对一个map返回变量打印两次,难道是因为回收了? def f(x): ret ...

  8. Android studio导出配置

    在使用 Android Studio 时,往往会进行一些设置,比如 界面风格.字体.字体大小.快捷键.常用模板等.但是这里的设置只能用在一个版本的 Android Studio 上,如果下载了新的 A ...

  9. Imageloader框架

    package adapter;import android.content.Context;import android.graphics.Bitmap;import android.graphic ...

  10. Nginx负载均衡的优缺点

    Nginx的优点是: 1.工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名.目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,Nginx ...