用户管理命令

useradd 命令

-c<备注>:加上备注文字。向GECOS字段添加值,备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s<shell>:指定用户登入后所使用的shell;
-u<uid>:指定用户id。

创建普通用户

[root@localhost ~]# useradd cnaaa              #创建cnaaa用户

[root@localhost ~]# grep -w cnaaa /etc/passwd  #查看用户信息
cnaaa:x:1000:1000::/home/cnaaa:/bin/bash

[root@localhost ~]# grep -w cnaaa /etc/shadow  #查看用户密码信息
cnaaa:!!:19154:0:99999:7:::

[root@localhost ~]# grep -w cnaaa /etc/group   #查看用户所在组信息
cnaaa:x:1000:

[root@localhost ~]# id cnaaa                   #查看用户信息   
uid=1000(cnaaa) gid=1000(cnaaa) groups=1000(cnaaa)

指定uid和组

# -g 指定添加新用户组的GID
[root@localhost ~]# groupadd  -g 1001 aaa
# 添加cnaaa1用户,指定添加到aaa用户组,且指定UID为1005
[root@localhost ~]# useradd -g aaa  -u  1005  cnaaa1
# 查看cnaaa1信息
[root@localhost home]# id cnaaa1
uid=1005(cnaaa1) gid=1001(aaa) groups=1001(aaa)

创建用户,禁止登录且不创建家目录

使用 -M -s 参数

# -s 指定用户登录的shell,-M 不创建家目录,创建用户名old
[root@localhost home]# useradd -M -s /sbin/nologin  old
# 查询用户信息
[root@localhost home]# grep -w old /etc/passwd
old:x:1006:1006::/home/old:/sbin/nologin
# 查看/home文件夹,没有old的家目录
[root@localhost home]# ls /home
cnaaa  cnaaa1

userdel命令

删除用户与相关文件

语法
userdel(选项)(参数)
选项
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。

案例

[root@localhost home]# ls /home
cnaaa  cnaaa1

# 删除 cnaaa1用户
[root@localhost home]# userdel cnaaa1

# 删除 cnaaa,并且删除其家目录
[root@localhost home]# userdel -rf cnaaa
[root@localhost home]# ls
cnaaa1

passwd命令

passwd命令修改用户密码和过期时间等,root可以改普通用户,反之不可以

语法
passwd(选项)(参数)
选项
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
-i:密码过期多少天后禁用账户
-x:设置x天后可以修改密码
-n:设置n天内不得改密码
-e:密码立即过期,强制用户修改密码
-w:用户在密码过期前收到警告信息的天数

一条命令设置密码,企业常用

echo "密码" | passwd -- stdin 用户名 –stdin 表示从标准输入中获取“密码”

常见案例

7天内用户不得改密码,60天后可以修改,过期前10天通知用户,过期30天后禁止用户登录

# 创建用户 abcd
[root@localhost home]# useradd abcd
# 设定abcd用户,7天内用户不得改密码,60天后可以修改,过期前10天通知用户,过期30天后禁止用户登录
[root@localhost home]# passwd -n 7 -x 60 -w 10 -i 30  abcd
Adjusting aging data for user abcd.
passwd: Success

用户查询相关命令

id命令

id命令用于检查用户和组以及对应的UID,GID等信息

[root@pylinux ~]# id cnaaa
uid=1000(cnaaa) gid=1000(cnaaa) 组=1000(cnaaa)

[root@localhost ~]# id -u cnaaa    #显示用户id
1000
[root@localhost ~]# id -g cnaaa    #显示组id
1000    
[root@localhost ~]# id -un cnaaa    #显示用户名
cnaaa    
[root@localhost ~]# id -gn cnaaa    #显示组名
cnaaa

whoami命令

显示可用于查看当前登录的用户,我是谁

[root@localhost ~]# whoami
root

w命令

显示当前以登录的用户

[root@localhost ~]# w
 04:15:01 up 15 days, 18:03,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    122.71.x5.xx     04:05    5.00s  0.07s  0.00s w

1.显示当前系统时间、系统从启动到运行的时间、系统运行中的用户数量和平均负载(1、5、15分钟平均负载)
2.第二行信息
user:用户名
tty:用户使用的终端号
from:表示用户从哪来,远程主机的ip信息
login:用户登录的时间和日期
IDLE:显示终端空闲时间
JCPU:该终端所有进程以及子进程使用系统的总时间
PCPU:活动进程使用的系统时间
WHAT:用户执行的进程名称

last、lastlog命令

查看用户详细的登录信息

Linux用户身份切换命令

su命令

su命令用于切换到指定用户

语法
su(选项)(参数)
选项
-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;
-f或——fast:适用于csh与tsch,使shell不用去读取启动文件;
-l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
-m,-p或--preserve-environment:变更身份时,不要变更环境变量;
-s<shell>或--shell=<shell>:指定要执行的shell;
--help:显示帮助;
--version;显示版本信息。
  • 第一种(不推荐)

su 用户

这种方法切换用户的时候,不会切换环境变量,因此不推荐

  • 第二种(标准切换法)

su – 用户

sudo命令

sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。

普通用户不需要root密码即可用root权限执行命令。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/4501

(0)
郭靖的头像郭靖
上一篇 2022年6月11日 下午2:27
下一篇 2022年6月11日 下午2:41

相关推荐

  • PVE8开启vgpu显卡虚拟化(基于Tesla P4)

    Tesla系列显卡真是垃圾佬的福音,很久以上上万的卡,现在几百块就能收到,不仅可以炼丹,还可以玩游戏,甚至可以给PVE用作vgpu,来实现云桌面,云游戏。博主先后买过P40和P4,面对250W功耗的24G显存的P40,显然它更适合炼丹,P4 TDP 75W,1060的性能表现,它的最佳用途其实不是个人桌面的游戏显卡,而是虚拟化云主机使用,而搭配上一台低功耗主…

    2024年2月26日
    1.4K00
  • 通过配置hosts.allow和hosts.deny限制登陆

    我们通常只对管理员开放SSH登录,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的IP段。 /etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。 我们通常只对管理员开放SSH登录,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的I…

    2022年11月15日
    1.0K00
  • 虚拟机中进行raid5测试部署

    raid5需要几块硬盘?答案:至少3块。raid5是独立磁盘冗余阵列(raid)种一种,它是用户数据和数据奇偶校验码轮流存储在所有磁盘阵列种的一种体系架构,根据raid5的工作原理,要实现raid5至少需要3块物理磁盘。 原理:每次存储数据时,数据被平均分配到n-1个磁盘中,随机选中一个磁盘生成校验码。当有一个磁盘坏掉时,还可使用其他磁盘进行热备份故障修复;…

    2022年8月16日
    68600
  • 缩小vhdx文件的大小

    使用 Hyper-V 提供的 Optimize-VHD 进行缩小,执行之后 VHDX 文件的确是变小了,但是也还没有那么小 此时应进入到 WSL2 中,运行 zerofree 将 ext4 文件系统内已经不用的块填零,但 zerofree 不能运行在已经挂载为 rw 的文件系统上,那就把文件系统挂载为 rea…

    2023年7月21日
    81100
  • Linux实验案例:构建Samba文件共享服务器

    根据公司的信息化建设要求,公司需要在局域网内部搭建一台文件服务器,便于对数据的集中管理和备份。考虑服务器的运行效率及稳定性、安全性问题,选择在CentOS系统中构建Samba服务器以提供文件资源共享服务。 需求描述 1.在/var/share/目录中建立三个子目录public、training、devel,用途如下。 public目录用于存放公共数据,如公司…

    2024年6月24日
    62500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信