7.1 useradd:创建用户
7.1 useradd:创建用户
1 使用useradd 常规添加用户工作原理流程
2 useradd不加选项-D的参数选项及说明
3 useradd 加 -D 选项参数说明:改变新建用户的预设值
不加任何参数添加用户的例子
[root@cs6 ~]# useradd ett
[root@cs6 ~]# ls -ld /home/ett/
drwx------. 2 ett ett 4096 5月 12 01:15 /home/ett/
[root@cs6 ~]# grep -w ett /etc/passwd
ett:x:500:500::/home/ett:/bin/bash
从上文过滤出的ett用户记录来看,用户的UID和GID分别为500,并且ett的家目录为/home/ett,所对应的Shell是/bin/bash。
[root@cs6 ~]# grep -w ett /etc/shadow
ett:!!:18027:0:99999:7::: #<==虽然没有创建密码,但是密码文件还是会增加一行相关信息。
[root@cs6 ~]# grep -w ett /etc/group
ett:x:500: #<==创建用户时,默认会创建与用户同名的用户组,并体现在用户组配置文件中。
[root@cs6 ~]# grep -w ett /etc/gshadow
ett:!:: #<==组密码文件中也会有一行相关记录。
useradd的-g、-u参数,执行useradd[参数]username 添加用户
[root@cs6 ~]# groupadd -g 801 sa
[root@cs6 ~]# useradd -g sa -u 901 lewen
[root@cs6 ~]# id lewen
uid=901(lewen) gid=801(sa) 组=801(sa)
useradd的-M、-s参数的例子
[root@cs6 ~]# useradd -M -s /sbin/nologin kevin
[root@cs6 ~]# ls -ld /home/kevin
ls: 无法访问/home/kevin: 没有那个文件或目录
[root@cs6 ~]# grep -w kevin /etc/passwd
kevin:x:902:902::/home/kevin:/sbin/nologin
useradd的-c、-u、-G、-s、-d、-m、-e、-f等多个参数组合的综合例子。
[root@cs6 ~]# useradd -u 806 -s /bin/sh -c SysUser -G root,sa -e "2019/07/12" -f 2 -d /tmp/inca inca
[root@cs6 ~]# id inca
uid=806(inca) gid=806(inca) groups=806(inca),0(root),801(sa)
[root@cs6 ~]# tail -1 /etc/passwd
inca:x:806:806:SysUser:/tmp/inca:/bin/sh /etc/passwd文件行中inca的用户信息说明
inca |x |:806 |:1002 |:SysUser |:/tmp/inca|:/bin/sh
账号名称|:账号密码|:账号UID|:账号组GID|:用户说明|:用户家目录|:shell解释器 [root@cs6 ~]# chage -l inca
Last password change : May 11, 2019
Password expires : never
Password inactive : never
Account expires : Jul 12, 2019
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
[root@cs6 ~]# tail -1 /etc/shadow
inca:!!:18027:0:99999:7:2:18089: #<==带底纹的数字2即用户过期停权的结果(一f参数)
[root@cs6 ~]# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
[root@cs6 ~]# sed -i 's/zh_CN/en_US/g' /etc/sysconfig/i18n
[root@cs6 ~]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
[root@cs6 ~]# source /etc/sysconfig/i18n
useradd -D参数的使用说明及案例实践
[root@cs6 ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100 #<==依赖于/etc/login.defs 的 USERGROUPS_ENAB参数,如果为no,则此处控制。
HOME=/home #<==把用户的家目录建在/home中。
INACTIVE=-1 #<==是否启用用户过期停权,-1表示不启用。
EXPIRE= #<==用户终止日期,不设置表示不启用。
SHELL=/bin/bash #<==新用户默认所用的Shel1类型。
SKEL=/etc/skel #<==配置新用户家目录的默认文件存放路径。前文提到的/etc/skel,就是在这里配置生效的,即当我们用useradd添加用户时,用户家目录下的文件,都是从这里配置的目录中复制过去的。
CREATE_MAIL_SPOOL=yes #<==创建mail文件。 [root@cs6 ~]# egrep -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 500
UID_MAX 60000
GID_MIN 500
GID_MAX 60000
CREATE_HOME yes
UMASK 077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512
[root@cs6 ~]# cp /etc/default/useradd{,.bark}
[root@cs6 ~]# useradd -D -s /bin/sh
[root@cs6 ~]# diff /etc/default/useradd{,.bark}
6c6
< SHELL=/bin/sh
---
> SHELL=/bin/bash
[root@cs6 ~]# useradd -D -e "2019/7/12"
[root@cs6 ~]# diff /etc/default/useradd{,.bark}
5,6c5,6
< EXPIRE=2019/7/12
< SHELL=/bin/sh
---
> EXPIRE=
> SHELL=/bin/bash
[root@cs6 ~]#
[root@cs6 ~]# useradd zuma
[root@cs6 ~]# tail -1 /etc/passwd
zuma:x:903:903::/home/zuma:/bin/sh
[root@cs6 ~]# chage -l zuma
Last password change : May 11, 2019
Password expires : never
Password inactive : never
Account expires : Jul 12, 2019
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
[root@cs6 ~]# \cp /etc/default/useradd{.bark,} #<==练习完后还原系统默认的配置文件。
useradd -D的功能完全可以使用vim /etc/default/useradd编辑修改后来替代
7.1 useradd:创建用户的更多相关文章
- useradd 创建用户
useradd 创建用户 1.命令功能 useradd 创建一个新用户或者更改默认新用户信息. 2.语法格式 useradd option username useradd -D option ...
- Linux不使用useradd创建用户
手动创建用户的全过程:需要管理员权限. 1.在/etc/group中添加用户所属组的相关信息.如果用户还有辅助组则在对应组中加入该用户作为成员. 2.在/etc/passwd和/etc/shadow中 ...
- 6、Linux基础--文件类型、属性信息、创建用户与用户组
笔记 1.晨考 1.解析映射文件 /etc/hosts 2.磁盘挂载文件 /etc/fstab 3.设置开机自启动脚本的步骤 1.修改/etc/rc.local 2.设置可执行权限 chmod +x ...
- useradd adduser linux创建用户、设置密码、修改用户、删除用户
创建用户.设置密码.修改用户.删除用户: useradd testuser 创建用户testuser passwd testuser 给已创建的用户testuser设置密码 说明:新创建的用户会在/h ...
- 一起来学习linux创建用户useradd命令
linux创建用户useradd命令 原文地址:linux创建用户useradd命令 http://www.xfcodes.com/linuxcmd/user/24308.htm 一,adduser与 ...
- linux环境中通过useradd命令,创建用户的时候指定用户的base-dir
需求说明: 今天一个同事,问了一个这样的问题,在linux环境中,创建用户的时候,默认的是在/home目录下创建一个与用户名相同的家目录, 如何能够将这个/home更换成一个其他的,比如/opt/ap ...
- linux 用户管理命令useradd、passwd、who、whoami、id、w及创建用户默认值文件
useradd /usr/sbin/useradd执行权限:rootuseradd [选项] 用户名-u UID:手工指定用户的UID号-d 家目录:手工指定用户的家目录-c 用户说明:手工指定用户的 ...
- linux用户管理(1)----创建用户(adduser和useradd)和删除用户(userdel)
一.常用命令: (1)创建用户命令两条: adduser useradd (2)用户删除命令: userdel 二.两个用户创建命令之间的区别 adduser: 会自动为创建的用户指定主目录.系统sh ...
- linux使用useradd创建的用户没有目录的解决办法
转载请注明来源https://www.cnblogs.com/sogeisetsu/p/11401562.html或https://blog.csdn.net/suyues/article/detai ...
- 创建用户(adduser和useradd)和删除用户(userdel)及
一 用户创建命令: # adduser 用户名 # useradd 用户名 1) useradd 与 adduser 的区别 在CentOs系统中: useradd与adduser是没有区别的, ...
随机推荐
- LeetCode剑指Offer刷题总结(一)
LeetCode过程中值得反思的细节 以下题号均指LeetCode剑指offer题库中的题号 本文章将每周定期更新,当内容达到10题左右时将会开下一节. 二维数组越界问题04 public stati ...
- c# 定时启动一个操作、任务
// 定时启动一个操作.任务 using System; using System.Collections.Generic; using System.Collections.ObjectModel; ...
- Go-27-import导包
import 导入包 包的搜索顺序: import ( "fmt" "net/http" "mypkg" ) 编译器会根据上面指定的相对路径 ...
- 原创:纯CSS美化单复选框(checkbox、radio)
最重要的一点,隐藏选择框本身.不多说了,上代码: <!doctype html> <html> <head> <meta charset="utf- ...
- pod详解
什么是pod? 官方说明: Pod是Kubernetes应用程序的最基本执行单元-是你创建或部署Kubernetes对象模型中的最小和最简单的单元. Pod表示在集群上运行的进程.Pod封装了应用程序 ...
- 解决mysql You can't specify target table for update in FROM clause错误
mysql中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表( ...
- C - 抽屉 POJ - 3370 (容斥原理)
Every year there is the same problem at Halloween: Each neighbour is only willing to give a certain ...
- POJ1988(带权并查集,搬砖块)
题意: 可以这样理解,有n快方形积木,一开始都是单独的放到哪,然后有两种操作 1 M a b 把a所在的那一堆落到b所在那一堆的上面(一开始自己是一堆) 2 C a 问a下面有多少个积木 ...
- WDK 标准数据类型
刚刚看到vs2012可以完美支持wdk开发,心中窃喜,正要下载,竟然看到xp不在其支持范围内, 这让刚刚从win7换过来的我真是DT,算了,还是和学习资料保持一致,反正学习的重点不是方便 正题: 为了 ...
- C++ Socket 简单封装
以下代码一部分来自于<网络多人游戏架构与编程>, 其它的都是我瞎写的. 备忘. 一个简单的Socket封装,没有做什么高级的操作(比如IO完成端口等等). 1 #pragma once 2 ...