私はそれができると聞いたが、それに関する文書を見つけていない。具体的には、SteamアプリケーションのSudoとしてパスワードを使用できるようにします。
command aliases を使用して、ユーザーがSudo
として実行できるコマンドを制限できます。この/etc/sudoers
は、管理を行うために必要なコマンドにユーザーを制限します。
# 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
これを単にコピーして貼り付けないでください。マニュアル(man sudoers
)を読み、システムを安全に保つために最初に行うことを試して理解してください。特にNOPASSWD
ビット(上記は、それほど大きなセキュリティを必要としないデバイスを対象としています)。また、ユーザーがその周りをSudo -i
などできないかどうかを後で確認します。
個々のユーザーではなく、特定のグループにコマンドを割り当てることもできます。たとえば、グループwheel
(これは存在し、必要なユーザーを追加する必要があります)のユーザーがSudo shutdown
...でパスワードなしでコンピューターをシャットダウンできるようにするには:
%wheel ALL= NOPASSWD: /sbin/shutdown
Steamアプリケーション(または特定のプログラム)を実行し、そのランチャーを検索/作成する(通常はローカルユーザーが行った場合は~/.local/share/applications
で)の詳細を使用して、それを使用して必要なコマンドを検索できます実行するには-これは通常~/.local/share
に保存されているプログラムを指していることに注意してください。ただし、通常、ユーザーに編集可能なディレクトリ内のスクリプトへのSudoアクセスを許可するのは本当に悪いIDEAです。スクリプトを自分のものと交換して、昇格したアクセスを取得できるからです。少数のスクリプトへのアクセスを許可したい場合は、root
(たとえば、/sbin
内で正しい権限でのみ)が編集できることを確認してください。ユーザーを信頼しない場合は、Sudoアクセスを許可しないでください。