如果您正在关注Linux系统的安全性,那么这些命令是您必须知道的。
Linux系统的安全性有很多问题——从设置帐户到确保合法用户的权限没有超出工作所需。本文将介绍用于Linux系统日常工作的一些最基本的安全命令。
sudo
使用sudo运行特权命令——而不是将用户切换到根用户,是一种必不可少的良好实践,因为它有助于确保只在需要时使用根特权,并限制错误的影响。您对sudo命令的访问取决于/etc/sudoers和/etc/group文件中的设置。
$%20sudo%20adduser%20shark
Adding%20user%20`shark'%20...
Adding%20new%20group%20`shark'%20(1007)%20...
Adding%20new%20user%20`shark'%20(1007)%20with%20group%20`shark'%20...
Creating%20home%20directory%20`/home/shark'%20...
Copying%20files%20from%20`/etc/skel'%20...
Enter%20new%20UNIX%20password:
Retype%20new%20UNIX%20password:
passwd:%20password%20updated%20successfully
Changing%20the%20user%20information%20for%20shark
Enter%20the%20new%20value,%20or%20press%20ENTER%20for%20the%20default
%20Full%20Name%20[]:%20shark
%20Room%20Number%20[]:
%20Work%20Phone%20[]:
%20Home%20Phone%20[]:
%20Other%20[]:
Is%20the%20information%20correct?%20[Y/n]%20Y
例如,如果您运行sudo并询问您是谁,您将得到以root身份运行该命令的确认。
$%20sudo%20whoami
root
如果要为用户管理sudo设置,还需要熟悉visudo命令。
visudo
visudo命令允许您在文本编辑器中打开文件并检查语法更改,从而更改/etc/sudoers文件。使用“sudo%20visudo”运行命令,并确保理解语法。特权可以由用户或组分配。在大多数Linux系统上,/etc/sudoers文件已经配置了如下所示的组,这些组允许将特权分配给在/etc/group文件中设置的组。在这些情况下,您根本不需要使用visudo命令—只需熟悉以这种方式授予根特权的组,并更新/etc/group文件。
%admin%20ALL=(ALL)%20ALL
%sudo%20ALL=(ALL:ALL)%20ALL
%wheel%20ALL=(ALL:ALL)%20ALL
注意组名前面有%符号。
您可以像这样在/etc/group文件中显示提供sudo访问的组,因为它可能是这些文件之一:
$%20egrep%20"admin|sudo|wheel"%20/etc/group
sudo:x:27:shs,jdoe
给某人sudo特权最简单的方法是将他们添加到/etc/group.中的授权组中但是,这意味着它们可以作为根用户运行任何命令。如果你想让一些用户对有限的命令集拥有根权限(例如,添加和删除帐户),你可以定义你想让他们能够通过命令别名运行的命令:
Cmnd_Alias%20ACCT_CMDS%20=%20/usr/sbin/adduser,%20/usr/sbin/deluser
然后让用户或组能够运行这些命令使用sudo命令与这些命令之一:
nemo ALL=(ALL) ACCT_CMDS
%techs ALL=(ALL:ALL) ACCT_CMDS
第一行允许用户“nemo”使用sudo运行twp (adduser和deluser)命令,而第二行将相同的特权分配给/etc/group文件中“tech”组中的任何人。