我使用的是 Arch Linux。我有几个目录不想让任何用户访问。所以我将其锁定,sudo
只允许用户访问。
我有一个用户“alarm”。我不希望“alarm”访问这些文件,因此该用户无法运行sudo
。但是,我希望他能够切换网络,用户netctl
。
我该如何授予他这些权限?
答案1
当您提到授予用户运行权限时,sudo
您通常会想到授予他代表用户root. But
sudoers file allows much more detailed configuration options that can give permissions to run only one particular command with
root 权限运行任何命令的权限。
例如,将以下内容添加到文件sudoers
(使用visudo
):
alarm ALL=(ALL) NOPASSWD: /usr/bin/netctl start wlan0-ssid
sudo
使用指定的参数将用户的范围限制alarm
为一个特定命令:/usr/bin/netctl start wlan0-ssid
。它不会再授予此用户任何权限,并且他将无法访问任何文件(因为它需要运行未指定的其他命令)。
添加更多线路并定制它们以适合您的配置。