八 .用户管理
8.1 w命令参数查看用户登录信息
root:超级用户
~:指的是家目录
普通用户不能访问root的家目录
普通用户是不能够访问其他用户的家目录
root:可以访问任何用户的家目录
cd ~:进入自己的家目录
名词意义:
当前系统时间 当前系统开始运行时间 当前系统登陆用户的总数为2 在1,5,10分钟内的负载
user:显示登陆用户账号
TTY:用户登录所有的终端
FROM:用户从何出登录
LOGIN@:表示登录进入系统的时间
IDLE:用户空闲时间,从用户上一次任务结束后,开始计时
JCPU:以终端代号来区分,表示在这段时间内,所有与该终端相关的进程任务所消耗cpu的时间
PCPU:指WHAT任务执行后消耗CPU的时间
WHAT:表示当前执行的任务
负载数值越小越好
8.2 Who命令:显示当前登录系统的用户
who:显示当前登录系统的用户
8.2.1who命令参数介绍
-r:显示运行级别
[root@cat7 mytest]# who -r
run-level 5 2020-08-12 17:43
-H:添加标题
[root@cat7 mytest]# who -H
NAME LINE TIME COMMENT
root pts/0 2020-08-12 17:44 (192.168.133.1)
[root@cat7 mytest]# who -r -H
NAME LINE TIME IDLE PID COMMENT
run-level 5 2020-08-12 17:43
-q :对当前用户登录用户数量计数
[root@cat7 mytest]# who -q
root
usres=1
-u: 打印空闲时间和进程号
[root@cat7 mytest]# who -u -H
NAME LINE TIME IDLE PID COMMENT
root pts/0 2020-08-12 17:44 . 1993 (192.168.133.1)
-l:显示系统登陆相关的进程和终端信息
-a :显示系统所有登录相关的进程及终端信息
[root@cat7 mytest]# who -a -H
NAME LINE TIME IDLE PID COMMENT EXIT
system boot 2020-08-12 17:43
run-level 5 2020-08-12 17:43
LOGIN tty2 2020-08-12 17:43 1804 id=2
LOGIN tty3 2020-08-12 17:43 1806 id=3
LOGIN tty4 2020-08-12 17:43 1808 id=4
LOGIN tty5 2020-08-12 17:43 1814 id=5
LOGIN tty6 2020-08-12 17:43 1817 id=6
root + pts/0 2020-08-12 17:44 . 1993 (192.168.133.1)
显示用户登录来源
[root@cat7 mytest]# who -lH
NAME LINE TIME IDLE PID COMMENT
LOGIN tty2 2020-08-12 17:43 1804 id=2
LOGIN tty3 2020-08-12 17:43 1806 id=3
LOGIN tty4 2020-08-12 17:43 1808 id=4
LOGIN tty5 2020-08-12 17:43 1814 id=5
LOGIN tty6 2020-08-12 17:43 1817 id=6
显示终端属性
[root@cat7 mytest]# who -TH
NAME LINE TIME COMMENT
root + pts/0 2020-08-12 17:44 (192.168.133.1)
[root@cat7 mytest]# who -TH
NAME LINE TIME COMMENT
root + pts/0 2020-08-12 17:44 (192.168.133.1)
[root@cat7 mytest]# echo "hello" >tty1
[root@cat7 mytest]# who -TH
NAME LINE TIME COMMENT
root + pts/0 2020-08-12 17:44 (192.168.133.1)
向tty1发送消息,代表root愿意接受信息
8.3 踢出linux登录的用户
应用:把当前登录用户移除掉
彻底杀死进程
# kill -9 123456
8.4 whoami 命令的使用
whoami:查看当前登录用户是谁
[cat7@cat7 ~]$ whoami
cat7
[cat7@cat7 ~]$
8.5用户的添加及删除
[root@cat7 cat7]# useradd blackcat
[root@cat7 cat7]# passwd blackcat
Changing password for user blackcat.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
[root@cat7 cat7]# su blackcat
[blackcat@cat7 cat7]$ root
8.6系统创建用户所作的事件
8.6.1当创建一个用户时,系统会自动在home目录并且系统会把/etc/skel里面的的用户的初始化环境变量cp 到所创建的用户的home目录里面去
[root@cat7 ~]# cd /home
[root@cat7 home]# ls
blackcat cat7 catseven
[root@cat7 home]# cd ..
[root@cat7 /]# cd /etc/skel/
[root@cat7 skel]# ls
[root@cat7 skel]# ls -a
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
[root@cat7 skel]# cd /home/cat7
[root@cat7 cat7]# ls -a
. .config .gconfd .imsettings.log .pulse-cookie
.. .dbus .gnome2 .local .ssh
.abrt Desktop .gnote .mozilla Templates
.bash_history .dmrc .gnupg Music Videos
.bash_logout Documents .gstreamer-0.10 .nautilus .viminfo
.bash_profile Downloads .gtk-bookmarks Pictures .xsession-errors
.bashrc .esd_auth .gvfs Public .xsession-errors.old
.cache .gconf .ICEauthority .pulse
[root@cat7 cat7]#[root@cat7 ~]# cd /home
[root@cat7 home]# ls
blackcat cat7 catseven
[root@cat7 home]# cd ..
[root@cat7 /]# cd /etc/skel/
[root@cat7 skel]# ls
[root@cat7 skel]# ls -a
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
[root@cat7 skel]# cd /home/cat7
[root@cat7 cat7]# ls -a
. .config .gconfd .imsettings.log .pulse-cookie
.. .dbus .gnome2 .local .ssh
.abrt Desktop .gnote .mozilla Templates
.bash_history .dmrc .gnupg Music Videos
.bash_logout Documents .gstreamer-0.10 .nautilus .viminfo
.bash_profile Downloads .gtk-bookmarks Pictures .xsession-errors
.bashrc .esd_auth .gvfs Public .xsession-errors.old
.cache .gconf .ICEauthority .pulse
[root@cat7 cat7]#
8.6.2 当创建一个用户时。系统会自动创建一个与用户名相同的组,并且把用户自动添加这个组里面去
[root@cat7 cat7]# id cat7
uid=500(cat7) gid=500(cat7) groups=500(cat7)
8.6.3用户相关的配置文件添加这个用户相关记录
8.6.4 在密码配置文件里添加这个用户相关的记录
8.6.5用户组相关配置文件添加这个用户相关组记录
8.6.6 用户相关的组配置文件添加这个用户相关记录
8.6.7 目录/etc/skel里面存放的是用户的初始化变量
8.6.8创建用户策略全局文件
8.6.9 创建用户时同时创建该用户的邮箱及账号(安装了邮件服务)
[root@cat7 cat7]# cd /var/spool/mail
8.7 useradd的命令参数使用
-m :自动创建用户主目录,并把框架目录(默认/etc/skel)下的文件复制到用户主目录下
-g : 创建用户时可以指定所创建的组名(已经存在的)
id 用户 :查看用户
[root@cat7 mail]# groupadd it-center
[root@cat7 mail]# useradd -g it-center ccie
[root@cat7 mail]# id ccie
uid=503(ccie) gid=503(it-center) groups=503(it-center)
[root@cat7 mail]#
-G:可知知道其他的组名(创建用户时自动加入到这些组里面)
[root@cat7 mail]# useradd -g it-center -G root,cat7 ccnp
[root@cat7 mail]# id ccnp
uid=504(ccnp) gid=503(it-center) groups=503(it-center),0(root),500(cat7)
[root@cat7 mail]#
-s :指定用户登录的shell
[root@cat7 mail]# useradd -s /bin/sh ccna
[root@cat7 mail]# cat /etc/passwd
ccna: x :505:505::/home/ccna:/bin/sh
-c :用于描述用户账号信息
[root@cat7 mail]# useradd -c "this is a test user" admin
[root@cat7 mail]# cat /etc/passwd
admin: x:506:506:this is a test user:/home/admin:/bin/bash
除了ROOT用户以外,每个用户都是以UID GID500开始(操作系统之人UID GID来识别用户)
[root@cat7 mail]# useradd -u 100 test
[root@cat7 mail]# id test
uid=100(test) gid=507(test) groups=507(test)
设置用户的过期时间
[root@cat7 mail]# useradd -e 20200812 ccie
-f --inactive 账号过期几天后停用
[root@cat7 mail]# useradd -f 2 ccii
-d :可以指定用户的家目录(目录不存在的)
8.7.1 useradd参数综合应用
[root@cat7 ~]# useradd -m -g root -G cat7,catseven -s /bin/sh -d /test -u 122 -c "this is mu lucky" fried
该文件主要是定义默认home目录,环境配置文件目录,登入执行首个程序等等
8.7.2 useradd的配置文件及配置
[root@cat7 ~]# cat /etc/default/useradd
#useradd defaults file #useradd默认文件
GROUP=100 #表示可创建普通组
HOME=/home #用户的家目录建在/home中,用户home目录的默认创建的
INACTIVE=-1 #是否启用账号过期停权,-1表示不启用
EXPIRE= #账号中止日期,不设置表示不启用,账号失效日期(如:20080808)
SHELL=/bin/bash #所用SHELL的类型,登录后执行的程序
SKEL=/etc/skel #用户家目录中的环境文件,默认添加用户的目录默认文件存放位置,也就是说当我们用adduer添加用户时,用户家目录下的文件,都是从这个目录中复制过去的
CREATE_MAIL_SPOOL=yes #是否创建用户邮件缓冲,yes表示创建
centos 6.5 用户加密算法是sha512
[root@cat7 ~]# cat /etc/login.defs
8.7.3 查看用户的属性
[root@cat7 ~]# chage -l cat7
Last password change : Aug 10, 2020Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires :
8.7.4删除用户
usbhid-dump useradd userformat userinfo usermount userpasswd usleep
[root@cat7 ~]# userdel test #不能删除其home目录及家目录里面的文件及用户的邮箱
[root@cat7 ~]# cat /etc/passwd | grep "test" #删除配置文件
admin: x:506:506:this is a test user:/home/admin:/bin/bash
mytest: x:508:509::/mytest:/bin/bash
race: x:509:510::/mytest:/bin/bash
racc: x:510:511::/mytest/:/bin/bash
good: x:511:512::/mytest1/:/bin/bash
fried: x:122:0:this is mu lucky:/test:/bin/sh
[root@cat7 ~]# cat /etc/shadow | grep "test" #删除
mytest:$6$BnHE1443$6lxl.1yTX8or0By7bL0YutGq3NJIISgI43oF1qfbFeDviakhFVHXCjxce5nyOmBCHX/j97drtcH1KQeayna5G1:18486:0:99999:7:::
[root@cat7 ~]# cat /etc/group | grep "test" 删除
mytest: x:509:
[root@cat7 ~]# userdel -r mytest #删除用户mytest及家目录及文件一起删除及用户的邮箱删除
[root@cat7 ~]# cat /etc/passwd | grep mytest #删除
race: x:509:510::/mytest:/bin/bash
racc: x:510:511::/mytest/:/bin/bash
good: x:511:512::/mytest1/:/bin/bash
[root@cat7 ~]# cat /etc/shadow | grep mytest #删除
[root@cat7 ~]# cat /etc/group | grep mytest #删除
8.7.5 id命令培训:查看用户的信息
[root@cat7 ~]# id root
uid=0(root) #当前用户的uid
gid=0(root) #当前用户的gid
groups=0(root) #当前用户所在的组的信息
8.7.6 给用户指定密码
更改系统用户的密码
[root@cat7 ~]# useradd daiv1
[root@cat7 ~]# passwd daiv1 #输入要更改的用户名
Changing password for user daiv1.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
显示密码状态信息
[root@cat7 ~]# passwd -S daiv1
daiv1 PS 2020-08-12 0 99999 7 -1 (Password set, SHA512 crypt.)
LK(密码锁定)
NP(没有密码)
删除密码
[root@cat7 ~]# passwd -d daiv1
Removing password for user daiv1.
passwd: Success
[root@cat7 ~]# passwd -S daiv1
daiv1 NP 2020-08-12 0 99999 7 -1 (Empty password.)
设置密码立即过期(强制用户在下一次登陆时更改密码)
[root@cat7 ~]# passwd -e daiv1
Expiring password for user daiv1.
passwd: Success
[root@cat7 ~]# passwd -S daiv1
daiv1 NP 1970-01-01 0 99999 7 -1 (Empty password.)
再次登陆会让你重新设置一个新的密码
锁定系统用户密码(可以登陆的,但是用户不能改自己的密码)
[root@cat7 ~]# passwd -l daiv1
Locking password for user daiv1.
passwd: Success
解锁密码
[root@cat7 ~]# passwd -u daiv1
Unlocking password for user daiv1.
passwd: Success
设置密码更改的最短时间
0 代表的是用户可以在任何时候更改他的密码
[root@cat7 ~]# passwd -n 90 daiv1 #用户必须在90天内更改密码
Adjusting aging data for user daiv1.
passwd: Success
[root@cat7 ~]# passwd -S daiv1
daiv1 PS 2020-08-12 90 99999 7 -1 (Password set, SHA512 crypt.)
密码过期后,用户再经过20天后,没有更改面膜,用户将不能登录
[root@cat7 ~]# passwd -i 20 daiv1
Adjusting aging data for user daiv1.
passwd: Success
[root@cat7 ~]# passwd -S daiv1
daiv1 PS 2020-08-12 90 99999 7 20 (Password set, SHA512 crypt.)
设置密码过期的警告期限,提示10天后,他的密码将过期
[root@cat7 ~]# passwd -w 10 daiv1
Adjusting aging data for user daiv1.
passwd: Success
[root@cat7 ~]# passwd -S daiv1
daiv1 PS 2020-08-12 90 99999 10 20 (Password set, SHA512 crypt.)
设置密码的过期时间
[root@cat7 ~]# passwd -x 100 daiv1
Adjusting aging data for user daiv1.
passwd: Success
[root@cat7 ~]# passwd -S daiv1
daiv1 PS 2020-08-12 90 100 10 20 (Password set, SHA512 crypt.)
非交互性的去创建用户名和密码
交互性的:
[root@cat7 ~]# useradd tian
[root@cat7 ~]# passwd tian
Changing password for user tian.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.