Linux系统中的用户管理

1.用户切换

(1)用户查看

whoami      查看当前用户

id    查看用户id信息

        -u        查看用户的用户id

        -g        查看用户主组id

        -G       查看用户所在的所有的组的id(主组和附加组)

        -n        显示名称

 

(2)用户切换

使用下图命令可以强制退出当前用户,回到用户登录的界面。 

su - username          切换用户

有 -            切换用户时也切换用户环境

无 -            切换用户时不切换用户环境

只有root用户切换到其他用户才不需要输入密码,其他用户切换到其他用户需要输入要切换的用户的密码。

注意:在做用户切换时当使用完毕用户身份及时退出 ,不要在一个shell中反复执行su命令 ,在一个shell中反复执行su命令会导致环境错乱。

 

2.用户涉及到的系统配置文件

(1)/etc/passwd  用户身份信息文件

用户名称用户密码用户id用户主组id用户说明用户家目录用户默认shell

用户密码目前已经不在这个文件中保存了,所以这里用x代替

(2)/etc/group  组身份信息文件

组名称组密码组id组的附加成员

只有附加组才会显示组的附加成员

(3)/etc/skel/   用户环境配置文件模板

 在切换用户后,会从配置模板里复制文件到桌面。

 

(4)/etc/shadow  用户认证信息文件

(5)/home/username   用户家目录

(6)/var/spool/mail/username    用户邮箱文件

3.用户和用户组建立及删除

(1)用户建立与删除

用下面的命令监控用户建立:

watch -n 1 "tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home"

echo表示打印字符

下图为监控界面:(用ctrl+c退出)

 userdel -r username    用户删除       (-r 删除用户的系统配置文件 不加-r只删一部分数据)

(2)用户组的建立与删除

groupadd           groupname            组建立

               -g  id   groupname            建立组时指定组id

groupdel   groupname           组删除

4.用户和用户组的信息管理

groupmod -g 更改后的组id 组名       更改用户组id

命令规则:usermod  + -要更改的属性代码 + 更改后的属性信息 + 要更改的用户名称

                  -l  更改用户名称

                  -u 更改用户id

                  -g 更改主组id

                  -G 更改用户附加组身份(如果本来没有附加组,会自动添加附加组身份,若本来有附                         加组身份,会把原所在附加组的身份消除)

                  -aG 添加用户附加组身份

                  -G ""  删除所有附加组身份

                  -c +新的用户说明 +用户名          更改用户说明        -c ""  删除用户说明

                  -d +新的家目录 +用户名            更改家目录指向(只会在记录文件中变化家目录名                                                                             称,真实的家目录名称不改变)

                  -md 更改家目录指向同时更改家目录名称

                  -s 更改默认shell

                  -L  冻结账号

                  -U 解锁

5.用户认证信息管理

/etc/shadow

文件内容说明:

用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期: 账号非活跃期:账号到期时间:用户自定义(未使用)

(1)用户名称 

passwd -S 用户名               查看密码状态

PS表示密码被设定过

(2)用户加密字符

I.更改密码:

passwd 用户名           超级用户更改密码             只有root可以执行 “echo 123 | passwd --stdin lee”

passwd                       普通用户改密码

 

 II.冻结认证

passwd -l 用户名         冻结账号认证

passwd -u 用户名       解锁账号认证

账号冻结后,账号名后会显示LK,root依然可以登录该账号:

 

 

 

III.密码删除

passwd -d 用户名

IV.密码使用天数(从1970-1-1算其到今天的时间)

passwd -e 用户名         修改默认使用时间为0

chage -d 0 用户名         账号必须改密码才能登陆系统

如果一个用户的密码使用天数为0,那该用户在登录系统时会被强制修改密码。

 

V.密码最短有效期

passwd -n 1 lee               lee在1天内不能改密码

chage -m 1 lee

密码设置失败:

 

VI.密码最长有效期

passwd -x 40 lee            40天内用户lee必须更新密码否则会被冻结

chage -M 30 lee

只有管理员才能修改密码最长有效期

 

VII.密码过期警告

passwd -w 2 lee             账号过期前警告时间

chage -W 1 lee

VIII.认证非活跃天数

passwd -i 2 lee               账号认证最大时间超过后还能用多久

chage -I 1 lee

VIIII.账号认证到期时间

chage -E "2020-05-11"            到2020-5-11这天账号会被冻结

 

X.未启用功能

6.用户权力下放

在系统中普通用户是无法执行系统管理命令的。如果需要普通用户执行系统管理动作,那么需要 root用户来进行授权。

普通用户授权方式 “sudo”:

作用: 可以使普通用户使用指定的用户身份呢运行命令

授权方法: visudo                                此命令作用是编辑/etc/sudoers并提供语法检测,不提供设                                                               置的合理性检测

(不能用vim编辑这个文件,因为用vim编辑进去的语句不会被语法检测,也就不会被执行)

:100                       为了代码规范性,建议在文件的100行左右书写。

查看主机名称: 

username   hostname=(newusername)               [NOPASSWD:] /command,  /command1

endless用户  在westoslinux.westos.org主机=(用超级用户身份) 执行useradd命令

endless         westoslinux.westos.org              /usr/sbin/useradd

编辑完后用:wq保存并退出。

要用sudo去使得刚才的编辑的命令生效。

 需要输入sudo密码

若不想输入密码,则要加上NOPASSWD:空格

 即为 endless         westoslinux.westos.org              NOPASSWD:空格/usr/sbin/useradd

 可以发现名为hello的用户已经建立了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值