添加用户useradd,给用户设置修改密码passwd,修改用户信息usermod,修改用户密码状态chage,删除用户userdel,查询用户及组id,切换用户su,查看当前环境变量env
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的更多相关文章
- FastAdmin 环境变量 env 配置
FastAdmin 环境变量 env 配置 目前 FastAdmin 支持环境变量 env 配置. 目前支持以下环境变量 app.debug app.trace database.type datab ...
- 自动配置/切换/查看JDK环境变量
最近老是需要几个版本的JDK切换工作,于是网上收集资料整理,自己写了一个:自动配置/切换/查看JDK环境变量的批处理脚本.顺带3个JDK版本分别是:jdk1.6.0_43,jdk1.7.0_80,jd ...
- Linux下怎么添加和查看PATH环境变量
linux下查看和添加PATH环境变量来自:http://apps.hi.baidu.com/share/detail/32942984 $PATH:决定了shell将到哪些目录中寻找命令或程序,PA ...
- Linux学习总结(十)-文件复制及查看, 环境变量
一 文件复制及移动 1.命令 cp --------copy 的意思格式 cp 选项 源文件 目标文件a: 对于文件我们直接cp 文件 目标文件假定我们在普通用户家目录下/home/lv新建两个普通文 ...
- maven 常用插件 拷贝依赖 拷贝jar包 查看属性 环境变量
1 maven编译后希望将生产的jar包拷贝到指定目录 在pom中配置maven插件 maven-antrun-plugin <build > <plugins> <pl ...
- 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 ...
- Docker 查看容器环境变量
#linux指令# printenv
- Powershell下设置环境变量
NODE中经常会用到process.env.NODE_ENV来判断当前环境,因为使用的系统是windows,在sublime text下安装terminal插件后,默认启动的时Powershell, ...
- NodeJS学习:环境变量
简介 环境变量(environment variables) 不属于 NodeJS 范畴,它是操作系统用于设定执行环境的参数.会在程序运行时传递给应用程序. NodeJS 获取环境变量,是通过 glo ...
随机推荐
- 照虎画猫写自己的Spring
从细节跳出来 看了部分Spring的代码,前面用了四篇内容写了一些读书笔记. 回想起来,论复杂度,Spring够喝上好几壶的.他就像一颗枝繁叶茂的大树,远处看,只是一片绿:走近看,他为你撑起一片小天地 ...
- Android设置屏幕方向
设置方法:在AndroidManifest.xml中的Activity里加一个属性android:screenOrientation.例如设置该Activity为横向 <activity and ...
- Cngigure和BUS实现远端配置
1 server依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="h ...
- JAVASE 循环 之 计算各位上数字的和
问题:输入一个整数,计算它各位上数字的和 Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int sum = 0; while(a ...
- JAVA提高十八:Vector&Stack深入分析
前面我们已经接触过几种数据结构了,有数组.链表.Hash表.红黑树(二叉查询树),今天再来看另外一种数据结构:栈. 什么是栈呢,我们先看一个例子:栈就相当于一个很窄的木桶,我们往木桶里放东西,往外拿东 ...
- KVM克隆 快照
原创博文安装配置KVM http://www.cnblogs.com/elvi/p/7718574.htmlweb管理kvm http://www.cnblogs.com/elvi/p/7718582 ...
- linux 下配置静态IP
设置静态网络如下[root@bogon network-scripts]# pwd 进入这个路径下 /etc/sysconfig/network-scripts [root@bogon network ...
- 关于 AspNet Core 的配置文件 与VS2017 安装
下面链接 是VS2017 安装EXE 我现在装过了就不去截图演示了,有哪位不理解的可以@我. 链接:https://pan.baidu.com/s/1hsjGuJq 密码:ug59 1.今天我给大家带 ...
- 【Java入门提高篇】Day8 Java内部类——匿名内部类
今天来看看另一个更加神奇的类--匿名内部类. 就像它的名字表示的那样,这个类是匿名的,用完之后,深藏功与名,就像扫地僧那样默默潜藏于深山之中.匿名内部类不仅没有名字,连class关键字都省掉了,而且匿 ...
- Linux 开启echo等服务
第一步: 需要安装xinetd服务(其实daytime就包含在xinetd服务中),安装就直接在"新立得软件管理器"里搜索,安装. sudo apt-get install xin ...