我听说它可以完成,但没有找到关于它的文档。具体来说,我想让某人能够将他们的密码用作 Steam 应用程序的 sudo。
您可以使用命令别名来限制用户可以运行的命令sudo- 例如,这/etc/sudoers将用户限制为执行 admin 所需的命令:
# define host aliases
Host_Alias HOSTNAME = laptop
# define command aliases
Cmnd_Alias ARCH = /bin/tar, /bin/gzip, /bin/gunzip
Cmnd_Alias CRYPT = /sbin/losetup, /sbin/cryptsetup
Cmnd_Alias DIR = /bin/mkdir, /bin/rmdir
Cmnd_Alias DEVICE = /sbin/ifup, /sbin/ifdown
Cmnd_Alias DISK = /bin/mount, /bin/umount
Cmnd_Alias EDIT = /usr/bin/nano, /usr/bin/gedit
Cmnd_Alias FILE = /bin/cp, /bin/echo, /bin/ln, /bin/mv, /bin/rm, /usr/bin/touch, /usr/bin/rename
Cmnd_Alias FORMAT = /sbin/mkfs.ext2, /sbin/mkfs.ext3, /sbin/mkfs.ext4, /sbin/mkfs.msdos, /sbin/mkfs.vfat
Cmnd_Alias NAV = /usr/bin/nautilus
Cmnd_Alias NETWORK = /sbin/route, /sbin/iptables, /usr/bin/nmap, /usr/sbin/hping3
Cmnd_Alias PERM = /bin/chattr, /bin/chgrp, /bin/chmod, /bin/chown
Cmnd_Alias PROCESS = /usr/bin/ps, /bin/kill, /usr/bin/killall, /sbin/shutdown
Cmnd_Alias SELINUX = /usr/sbin/semanage, /usr/bin/chcon, /sbin/restorecon, /usr/sbin/setsebool
Cmnd_Alias SERVERS = /etc/init.d/network, /etc/init.d/cups, /etc/init.d/nfs, /etc/init.d/httpd, /etc/init.d/vsftpd
Cmnd_Alias SERVICE = /usr/bin/systemctl, /sbin/chkconfig, /sbin/service, /usr/sbin/updatedb
Cmnd_Alias SOFTWARE = /usr/bin/dpkg, /usr/bin/apt-get
Cmnd_Alias VIEW = /bin/cat, /usr/bin/du, /bin/ls, /bin/tree, /bin/top, /bin/tails
# define access
root ALL = (ALL) ALL
wilf HOSTNAME = NOPASSWD: ARCH, CRYPT, DIR, DISK, DEVICE, EDIT, FILE, FORMAT, NAV, NETWORK, PERM, PROCESS, SERVERS, SERVICE, SOFTWARE, VIEW
Run Code Online (Sandbox Code Playgroud)
不要只是复制和粘贴这个。阅读手册 ( man sudoers) 并尝试了解它首先做什么来确保您的系统安全。特别是NOPASSWD位(以上适用于不需要那么高安全性的设备)。之后还要检查用户是否无法sudo -i绕过它等。
您还可以将命令分配给特定组而不是单个用户。例如,要允许组中的用户wheel(这需要存在并将所需的用户添加到其中)使用sudo shutdown... 并且没有密码关闭计算机:
%wheel ALL= NOPASSWD: /sbin/shutdown
Run Code Online (Sandbox Code Playgroud)
有了让 Steam 应用程序(或某个程序)运行的细节,为它找到/创建一个启动器(通常~/.local/share/applications是由本地用户完成的),您可以使用它来查找运行它所需的命令 - 请请注意,这通常是指存储在~/.local/share. 然而,通常让用户 sudo 访问可编辑目录中的脚本是一个非常糟糕的想法,因为他们可以用自己的脚本替换脚本以获得更高的访问权限。如果您确实想让他们访问一些脚本,请确保它们只能由 编辑root(例如,在/sbin具有正确权限的情况下)。如果您不信任某个用户,请不要授予他们 sudo 访问权限。
| 归档时间: |
|
| 查看次数: |
4989 次 |
| 最近记录: |