Linux useradd 命令
2016-01-07 16:57
696 查看
1、概述
创建一个新的用户或者创建用户时修改用户的默认信息创建新用户是涉及文件:【主和组ID都是 =对应最大值
+ 1】
[root@zhang ~]# tail -3 /etc/passwd
usert3:x:603:603::/mnt/tt3:/bin/bash
usert4:x:604:604::/home/usert4:/bin/bash
usert5:x:605:605::/home/usert5:/bin/bash
[root@zhang ~]# tail -3 /etc/shadow
usert3:!!:16798:0:99999:7:::
usert4:!!:16800:0:99999:7::16801:
usert5:!!:16800:0:99999:7:3::
[root@zhang ~]# tail -3 /etc/group
usert3:x:603:
usert4:x:604:
usert5:x:605:
[root@zhang ~]# tail -3 /etc/gshadow
usert3:!::
usert4:!::
usert5:!:
1、对/etc/passwd 描述
[root@zhang ~]# tail -4 /etc/passwdnfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
usertest1:x:601:601:usertest1 info xxxx:/home/usertest1:/bin/bash
usertest2:x:602:602::/mnt/aaa:/bin/bash
usert3:x:603:603::/mnt/tt3:/bin/bash
共计7段信息其中【:】作为分隔符
1、用户名 2、密码等相关信息 3、用户ID 4、用户属组ID
5、用户描述 6、用户家目录 7、是否可以登录和使用的shell
2、对/etc/shadow 描述
[root@zhang ~]# cat /etc/shadow #部分信息
root:$6$Ij9JloD6A/d3yC8j$0wjXayFuoJ9JjbL0J9SmWMueHF9SSuoP1dYELvfM39FdblF1THVvXMKX0Rv6YJM9Zw4AYHbgNdwMOjl./X3M61:16709:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
1)用户名 2)加密的密码
3)上次更改密码的日期(按天计算 从1970-1-1开始)
4)最短密码期限【密码不可被更动的天数】(按天计算,0 = 无最短期限)
5)最长密码期限【 密码需要重新变更的天数】(按天计算)
6)密码警告期限【密码需要变更期限前的警告期限】(按天计算,0 = 未指定警告)
7)密码非活动期限【密码过期的恕限时间】(按天计算)
如果用户过了警告期限没有重新输入密码,使得密码失效了,也就是说,你在‘必须变更密码的期限前,并没有变更你的密码!’那么该组密码就称为‘失效的密码’啰~怎么办?没关系,还有这个栏位的天数设计啊~意思就是说,当密码失效后,你还可以用这个密码在
n 天内进行登入的意思。而如果在这个天数后还是没有变更密码,呵呵!那么您的帐号就失效了!无法登入!
8)账号到期时间【帐号失效日期】(按天计算 从1970-1-1开始)
9)保留域
文章参考:
linux,/etc/passwd,/etc/shadow详解2、命令格式
useradd [options] LOGINuseradd -D
useradd -D [options]
3、常用命令参数
描述:
当执行命令并且没用使用-D 选项时, 命令 useradd 创建一个新的用户账号,对应的值【比如:uid gid】都将来自系统【在原有的基础上 +1】根据命令行选项,useradd 命令将更新系统文件并且可能创建新的用户家目录和拷贝初始化文件。
默认情况下,创建新用户也将创建一个新的组。(参见 -g, -N, -U, and USERGROUPS_ENAB).
选项:
-b,--base-dir BASE_DIR 如果没有指定使用-d HOME_DIR ,那么系统使用默认基本目录。BASE_DIR 将被级联创建当创建用户时。如果 -m 选项没有使用,那么BASE_DIR 必定会存在。如果该选项没有被指定,useradd 将使用系统默认目录来作为用户的家目录。
总的来说,就是在哪个已存在的目录下创建用户的家目录
[root@zhang ~]# useradd -b /mytest test2 # /mytest
不存在该目录
useradd: cannot create directory /mytest/test2
[root@zhang ~]#
[root@zhang ~]# useradd -b /mnttt test3
#/mnttt 不存在该目录
useradd: cannotcreate directory /mnttt/test3
[root@zhang ~]# useradd -b /mnt test2 #
创建成功
[root@zhang ~]# ll -a /mnt/test2/
total 28
drwx------ 4 test2 test2 4096 Dec 24 14:08 .
drwxr-xr-x. 3root root 4096 Dec 24 14:08 ..
-rw-r--r-- 1 test2 test2 18 Jul 18 2013 .bash_logout
-rw-r--r-- 1 test2 test2 176 Jul 18 2013 .bash_profile
-rw-r--r-- 1 test2 test2 124 Jul 18 2013 .bashrc
drwxr-xr-x 2 test2 test2 4096 Nov 12 2010 .gnome2
drwxr-xr-x 4 test2 test2 4096 Oct 2 04:00 .mozilla
[oldboy@zhangmnt]$ su - test2 #
前提是已经给用户test2创建密码
Password:
[test2@zhang ~]$pwd
/mnt/test2 #
家目录
-c,--comment COMMENT 用户描述。描述内容存放在 /etc/passwd 中
[root@zhang ~]# useradd -c'usertest1 info xxxx' usertest1
[root@zhang ~]# tail -1 /etc/passwd
usertest1:x:601:601:usertest1 info xxxx:/home/usertest1:/bin/bash
-d,--home HOME_DIR 新的用户将使用HOME_DIR 作为他的家目录。该选项可以创建一层不存在的目录,但是不能创建多层目录。
[root@zhangmnt]# ll
total 8
drwx------ 4usertest2 usertest2 4096 Dec 29 12:55 aaa
drwx------ 4test2 test2 4096 Dec 24 14:08 test2
[root@zhangmnt]# useradd -d /mnt/tt3 usert3 #
目录 tt3不存在
[root@zhangmnt]# su -usert3
[usert3@zhang~]$ pwd
/mnt/tt3
[usert3@zhang~]$ logout
[root@zhangmnt]# ll
total 12
drwx------ 4usertest2 usertest2 4096 Dec 29 12:55 aaa
drwx------ 4test2 test2 4096 Dec 24 14:08 test2
drwx------ 4usert3 usert3 4096 Dec 29 13:01
tt3
[root@zhangmnt]# useradd -d /mnt/tt4/tt usert4 #目录tt4不存在
useradd: cannot create directory /mnt/tt4/tt
-D,--defaults 见下面,分段改变默认值
-e,--expiredate EXPIRE_DATE 用户账号失效日期,指定日期格式:YYYY-MM-DD
[root@zhang ~]# useradd -e'2016-01-01' usert4
# 2015-12-31日 添加该用户
[root@zhang ~]# tail -2/etc/shadow
usert3:!!:16798:0:99999:7:::
usert4:!!:16800:0:99999:7::16801:
-f,--inactive INACTIVE 密码过期【不是账号过期】后的多少天永久禁用该账号。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能,预设值为-1
[root@zhang ~]# useradd -f 3 usert5
[root@zhang ~]# tail -3 /etc/shadow
usert3:!!:16798:0:99999:7:::
usert4:!!:16800:0:99999:7::16801:
usert5:!!:16800:0:99999:7:3::
-g,--gid GROUP 一个组名或者组数字【groupname or number】用于用户的初始化主组。并且该组名或者组数字必须存在。【设定用户主组】
[root@zhang ~]# useradd -g 700usert6
useradd: group '700' does not exist
[root@zhang ~]# useradd -g userOOusert6
useradd: group 'userOO' does not exist
[root@zhang ~]# useradd -g usert5usert6 #
usert5:x:605:605::/home/usert5:/bin/bash
[root@zhang ~]# useradd -g 605usert7
-G,--groups GROUP1[,GROUP2,...[,GROUPN]]] 添加附加组,可以有多个。每个组由一个逗号分隔的未来,中间没有空格。默认情况下附加组和属组相同,名称都是新增的用户名称。
[root@zhang ~]# useradd-G usert3,usert4,usert5 usert8
[root@zhang ~]# id usert8
uid=608(usert8)
gid=608(usert8)
groups=608(usert8),603(usert3),604(usert4),605(usert5)
-m,--create-home 如果用户的家目录不存在,则创建。
-M 不创建用户的家目录
[root@zhang ~]# useradd -M usert9
[root@zhang ~]# tail -1/etc/passwd
usert9:x:609:609::/home/usert9:/bin/bash
[root@zhang ~]#ll /home/ #没有 usert9
total 48
drwx------. 14oldboy oldboy 4096 Jan 6 21:12 oldboy
drwx------ 4 usert6 usert5 4096 Dec 31 13:32 usert6
drwx------ 4 usert7 usert5 4096 Dec 31 13:32 usert7
drwx------ 4 usert8 usert8 4096 Jan 7 16:18 usert8
drwx------ 4 usertest1 usertest1 4096 Dec 29 12:49 usertest1
drwx------ 4 ying ying 4096 Dec 12 21:27 ying
drwx------ 4 zhang zhang 4096 Dec 20 10:57 zhang
[root@zhang ~]# cd /home/usert9
-bash: cd: /home/usert9: No such file or directory
-r, --system 创建一个系统账号。
系统帐号的UID会比定义在系统档上/etc/login.defs.的UID_MIN来的小。注意useradd此用法所建立的帐号不会建立使用者家目录,也不会在乎纪录在/etc/login.defs.的定义值。如果你想要有使用者家目录须额外指定-m参数来建立系统帐号。
[root@zhang ~]# useradd -r mysystem1
[root@zhang ~]#tail -1 /etc/passwd
mysystem1:x:497:497::/home/mysystem1:/bin/bash #
普通目录从500开始
[root@zhang ~]# ll /home/mysystem1
ls: cannot access /home/mysystem1: No such file ordirectory
-s, --shell SHELL 指定用户登录的SHELL
[root@zhang ~]# useradd -s /sbin/nologin usert11 #
该用户不能登录
[root@zhang ~]#tail -1 /etc/passwd
usert11:x:611:611::/home/usert11:/sbin/nologin
-u, --uid UID 指定用户的UID,唯一且不能为负数。默认为普通用户最大UID的下一个数字
[root@zhang ~]# useradd -s /sbin/nologin -M -u 800 zhangnsf
FILES【涉及相关文件】
/etc/passwdUser account information.
/etc/shadow
Secure user account information.
/etc/group
Group account information.
/etc/gshadow
Secure group account information.
/etc/default/useradd
Default values for account creation.
/etc/skel/
Directory containing default files.【用于用户目录】
/etc/login.defs
Shadow password suite configuration.
4、常用示例
暂时无5、命令所在位置和类型
[root@zhang ~]# which useradd/usr/sbin/useradd
[root@zhang ~]# type useradd
useradd ishashed (/usr/sbin/useradd)
6、另请参见
linuxuseradd(adduser)命令参数及用法详解(linux创建新用户命令)相关文章推荐
- kvm虚拟机vnc和spice配置
- linux时间类型localtime_r (转载)
- Centos7,Hadoop-2.5.1下HBase-1.1.2安装部署
- VMware下CentOS 6.3 NAT不能连外网的问题解决办法
- Linux中的命令学习笔记
- centos 安装 Scrapy
- linux硬链接和软链接
- Linux文件和目录管理常用命令(下)
- 每天一个Linux之head命令
- linux下搭建生成HLS所需的.ts和.m3u8文件
- vi 常用命令(Linux 编辑器vi 常用命令汇总)
- GNOME CentOS "资源管理器" 文件夹 快捷方式 拖入左侧导航面板
- Java开发必会的Linux命令
- Linux命令总结_命令执行顺序
- Linux平台部署varnish 高性能缓存服务器(2)
- linux 下批量kill 同名进程的方法
- vmware下安装Archlinux遇到的问题记录
- CentOS7(Linux)清理yum缓存 和释放内存方法
- Linux多进程编程学习(Part 1)
- Centos7下Zookeeper-3.4.6安装