who:查看当前服务器所有正在登陆中的用户,显示tty表示本地登录,pts表示远程终端。这个命名只能显示简单的登录信息,如果想要查看更为详细的登录信息,使用w命令。
w命令除了显示who命令的内容外,第一行显示当前系统的时间、服务器连续运行的时间(系统连续运行时间可以使用uptime命令单独查看显示),当前登录用户的数量和系统的负载均衡值(显示三个值,分别对应系统的1分钟、5分钟和10分钟之前的负载值)。下面的IDLE表示登录用户至今空闲时间,JCPU指用户自登录以后累计执行的操作占用的CPU的时间,PCPU指用户当前执行的操作占用的CPU的时间,WHAT表示用户当前执行了什么操作(-bash表示什么都没有操作)。
last:列出目前和过去服务器重启和用户登录的详细信息
lastlog:列出服务器所有用户并列出每个用户的最后登录的详细信息
lastlog -u [用户的uid]:查看指定用户的最后登录的详细信息。
lastb :命令用于列出登入系统失败的用户相关信息。它会读取/var/log/btmp文件,并把该文件记录的登入失败的用户名单全部显示出来。
查询用户ID信息:id 用户名
查询指定用户名,初始组和附加组并查看对应ID。
用户添加命令:useradd [-选项] 用户名
-u:手工指定用户UID
-d:手工指定用户的家目录
-M:不创建用户主目录
-c:手工指定用户的说明
-g:手工指定用户的初始组
-G:指定用户的附加组
-s shell:手工指定用户的登录shell(默认/bin/bash)
如:useradd -u 666 -G root,bin -d /home/jia -c "text user" -s /bin/bash xinyonghu
修改用户密码:passwd [-选项] 用户名(修改当前登录用户密码只需要passwd)
-d 删除密码
-f 强制执行
-k 更新只能发送在过期之后
-l:暂时锁定用户(就是在/etc/shadow文件中对应账户的密码加密字符串前面加入了两个!!)
-S(大写):查询用户密码状态信息
-u:解锁用户
-x 设置密码的有效期
-g 修改群组密码
-i 过期后停止用户账号
--stdin:可以通过管道符输出的数据作为用户的密码
echo "密码字符串" | passwd --stdin 用户名:把前面输出的字符串作为用户名密码(一般批量添加用户时使用)。
修改用户信息:usermod,语法选项和useradd相同,usermod是修改一个已经存在的用户信息,useradd是创建一个新用户时的信息。
另外usermod多了几个选项:-L:临时锁定用户;-U:解锁用户锁定
修改用户密码状态:chage [-选项] 用户名
-l:列出用户详细密码状态
-d 日期(时间戳):修改密码最后一次更改时间
chage -d 0 用户名:把密码修改时间改为0,用户下次登录必须修改密码,主要用于批量添加用户。
-m 天数:两次密码修改间隔
-M 天数:密码有效期
-W 天数:密码过期前警告天数
-I 天数:密码过期后宽限天数
-E 日期(时间戳):帐号失效时间
删除用户:userdel [-r] 用户名
-r:删除用户的同时删除用户相关文件和目录
用户切换命令:su [-选项] 目标用户名
-:选项只使用"-"代表连带用户的环境变量一起切换
-c 命令:仅执行一次命令,并且不切换用户身份
如:su - root -c "useradd user3":代表普通用户临时切换到root用户,使用root的权限建立一个新用户user3,执行命令完成以后切换会普通用户。
切换以后按logout或exit退出切换的用户换回原来的登录用户
添加用户组:groupadd [-选项] 组名
-g:指定组ID
修改用户组:groupmod [-选项] 组名
-g:修改组ID
-n:修改组名(groupmod -n 新组名 旧组名)
删除用户组:groupdel 用户组名,当一个用户组有初始用户的时候不能删除该用户组
把用户添加入组或从组中删除:gpasswd [-选项] 组名
-a 用户名:把用户加入组
-d 用户名:把用户从组中删除
最后编辑:2020-12-06作者:qingheluo
这个作者貌似有点懒,什么都没有留下。