Linux–使用者管理(四)
文章目录
一、用户身份切换
1.su
su是最简单的身份切换命令,它可以进行任何身份的切换,方式如下:
单纯使用
su
切换成root身份,读取的变量设置方式为非登录shell的方式,这种方式很多原本的变量不会被修改,尤其是我们之前谈过很多次的PATH这个变量。建议大家使用root时都使用 su -
,下面是二者的一些差别:
2.sudo
su使用需要了解新用户的切换密码,而
sudo
的执行只需要自己的密码,甚至可以不需要密码就执行sudo,通常是以root的身份去执行命令。但是不是所有人都可以执行sudo,而是只有规范到/etc/sudoers内的用户才可以
,此外,如果一个账号短时间(5min 内)重复操作sudo来运行命令的话,在第二次使用sudo时不需要密码,sudo真的很人性化耶!
一开始系统默认只有root可以执行sudo,而能否使用sudo必须要看/etc/sudoers的设置值,所以我们想要让其他账号也能使用sudo命令需要使用visudo去修改/etc/sudoers,让该账号能够使用全部或部分的root命令功能
二.visudo
1.单一用户可使用root所有命令 visudo
2.利用用户组以及免密码的功能处理 visudo
上面的设置会让人和加入tyjgroup这个用户组的用户都能够使用sudo切换到任何身份执行任何命令
3.有限制的命令操作
上述1,2两点都可以让任何用户利用root身份执行任何事情,That’s crazy! 如果我只想让用户能够执行某些系统任务呢?
例如:我想让tttyj只能通过root修改别人的密码而不能执行其它的系统命令,我们可以如下:
在命令字段中加入!
代表不可执行
的意思,如!/usr/bin/passwd
代表不能执行psaawd命令
4.通过别名创建visudo
如果我有很多用户想加入管理员帮忙修改密码,但是我又懒得像3中所说的那样一行一行的加,就可以通过别名创建visudo。它的别名可以有:命令别名,账户别名,主机别名…
例如:我有tyj1,tyj2,tyj3想要可以修改其他用户密码,但是不能修改root密码,我可以这样做:
总结
以上就是这节的学习内容,唐怡佳继续加油~