我想阻止某些应用程序进入网络,因此我创建了一个无互联网组:
sudo groupadd -g 9876 no-internet
并创建了一个脚本
sudo gedit /usr/bin/ni
#!/bin/bash
sg no-internet "$1"
并添加了一条iptable规则
#!/bin/bash
iptables -A OUTPUT -m owner --gid-owner no-internet -j DROP
现在ni my_command
应该在受限模式下运行应用程序。然而,我得到sg: failed to crypt password with previous salt: Invalid argument
如何将应用程序作为“无互联网组”运行,而不限制我自己对 LAN/WAN 的访问?
我已经检查过这个问题(声称要求是矛盾的)
如何在不要求密码的情况下切换群组?
但真的是这样吗?
答案1
运行sg
命令的用户必须是被起诉的组。
我在这里属于www-data
组
archemar@unix:~$ id
uid=1003(archemar) gid=1002(stackexchange) groups=1002(stackexchange),27(sudo),33(www-data)
sg
一切顺利
archemar@unix:~$ sg www-data id
uid=1003(archemar) gid=33(www-data) groups=33(www-data),27(sudo),1002(stackexchange)
我的 gid 是www-data
现在我不属于ntp
这个群体
archemar@unix:~$ sg ntp id
Password:
sg: failed to crypt password with previous salt: Invalid argument