LInux之用户管理
相关配置文件
简介
配置文件 | 用处 |
---|---|
/etc/passwd | 用户信息文件 |
/etc/shadow | 用户密码文件 |
/etc/group | 用户组文件 |
/etc/passwd解释
mtactor:x:1000:1000:this is mtactor:/home/mtactor:/bin/bash
以:分割列
列数 | 用处 | 详解 |
---|---|---|
第一列:mtactor | 用户名 | 用户登陆时用的名字 |
第二列:x | 密码占位符 | 暂没有实际用处 |
第三列:1000 | UID | 用户的标识 |
第四列:1000 | GID | 组的标识 |
第五列:this is mtactor | 用户注释 | 说明用户的用处 |
第六列:/home/mtactor | 用户家目录 | 用户登陆时默认的目录 |
第七列:/bin/bash | 解释器 | 用户使用的shell,默认bash |
/etc/shadow解释
mtactor:$6$YjgCNbeA$ygNJ.bbInJPMCrd9IpU54wmDCh6esgWkmJCeCTJvEBaw4eF88UcZLKkkUK0REh0bv7OAg.SlOLE6gbKAiGIyk0:18461:0:99999:7:::
以:分割列
列数 | 用处 | 详解 |
---|---|---|
第一列:mtactor | 用户名 | 用户登陆时用的名字 |
第二列 | 密码 | 采用SHA512加密过的密码,没有密码时用的是!!或者* |
第三列:18461 | 最后一次修改时间 | 这是修改那天减去1970年1月1日的天数,越大时间越近 |
第四列:0 | 最小修改时间间隔 | 修改密码后多久可以再次修改密码,0为随时都可以 |
第五列:99999 | 密码有效期 | 密码可用的天数 |
第六列:7 | 提醒时间 | 密码过期前N天开始提醒用户 |
第七列 | 失效天数 | 密码过去后N天之内还可以登陆 |
第八列 | 标识 | 一般不使用 |
/etc/group解释
mtactor:x:1000:mtactor,user1 #以:分割列
列数 | 用处 | 详解 |
---|---|---|
第一列:mtactor | 组名 | 组的名字 |
第二列:x | 组密码 | 基本不会用 |
第三列:1000 | GID | 组的标识 |
第四列 | 用户群 | 属于此组的用户 |
通过配置文件手动创建用户
#需求:创建用户test,所属test组,UID和GID都为2000,并且创建密码
1、编辑/etc/group文件,文件末尾添加test❌2000:
2、编辑/etc/passwd文件,文件末尾添加test❌2000:2000:this is test:/home/test:/bin/bash
3、编辑/etc/shadow文件,文件末尾添加test:!!::0:9999:7:::,强制保存退出
4、准备家目录:cp -r /etc/skel/ /home/test/
5、修改家目录所属用户和组:chown -R test:test /home/test/
6、创建密文密码:openssl passwd -1 -salt ‘redhat’,将输出写入到/etc/shadow中的test行的密码处
7、验证能否登陆
用户管理命令
useradd
useradd 是添加用户的命令
常用选项:
-d #指定新用户的家目录
-u #指定新用户的UID
-g #指定新用户的主组,GID或者组名
-G #指定新用户的附加组
-s #指定新用户的shell
-c #指定新用户的注释字符串
#创建用户时指定用户的家目录
[root@mtactor ~]# useradd -d /usr/test test
#创建用户时指定用户的UID
[root@mtactor ~]# useradd -u 1000 test
#创建用户时指定主组和附加组
[root@mtactor ~]# useradd -g test -G root test
#创建用户时指定shell,/bin/bash是默认的,/sbin/login是无法登陆的伪用户
[root@mtactor ~]# useradd -s /sbin/nologin test
#创建用户时指定注释
[root@mtactor ~]# useradd -c 'this is test' test
userdel
userdel是删除用户的命令
常用选项:
-r #删除主目录和邮件池
#删除用户,默认不会删除主目录和邮件池
[root@mtactor ~]# userdel test
#删除用户的主目录和邮件池
[root@mtactor ~]# userdel test
usermod
useradd 是添加用户的命令
常用选项:
-d #修改用户的家目录
-u #修改用户的UID
-g #强制修改用户的组
-G #新增用户的附加组
-s #修改用户的shell
-c #修改用户的注释
-m #将用户家目录移动到新位置,配合d使用
#修改用户的家目录,需要手动创建家目录
[root@mtactor ~]# usermod -d /root/test test
#修改用户的UID
[root@mtactor ~]# usermod -u 3000 test
#修改用户的GID,需要已存在的组
[root@mtactor ~]# usermod -g 3000 test
#增加用户的附加组,需要已存在的组
[root@mtactor ~]# usermod -G 3001 test
#修改用户的shell
[root@mtactor ~]# usermod -s /sbin/nologin test
#修改用户的注释
[root@mtactor ~]# usermod -c 'you are me' test
#修改用户的家目录并将家目录中的文件移动到新目录
[root@mtactor ~]# usermod -d /root/test -m test
创建密码
#创建时不指定用户是修改自己的密码,可指定用户为某用户修改密码
#非交互式修改密码
组管理命令
groupadd
groupadd是一个创建组的命令,这命令一般用的也少,创建用户时会自动创建所属组
常用选项:
-g #指定组的GID
#创建一个test组,并指定GID
[root@mtactor ~]#
groupmod
groupmod是修改组的参数的
常用选项:
-g #修改组的GID
-n #修改组的名字
#修改组的GID
[root@mtactor ~]# groupmod -g 1000 test
#修改组的名字
[root@mtactor ~]# groupmod -n test2 test
groupdel
#groupdel删除组
[root@mtactor ~]# groupdel test
newgrp
#当用户有多个组的时候,可以用此命令切换组,以方便使用不同组的权限,后面的参数是组名
[root@mtactor ~]# newgrp root
让用户名拥有root权限
这里只需要创建完用户以后,在/etc/passwd文件钟,将UID修改为0即可