【发布时间】:2016-08-09 03:28:13
【问题描述】:
我无法理解这在 Linux 中究竟是如何工作的。
例如,我希望只有某个组中的用户有权执行某个文件(我希望没有visudo 也是可能的)。
我创建了一个系统用户和系统组,例如:
useradd -K UID_MIN=100 -K UID_MAX=499 -K GID_MIN=100 -K GID_MAX=499 -p \* -s /sbin/nologin -c "testusr daemon,,," -d "/var/testusr" testusr
我将当前用户user 添加到组testusr(可能不是跨平台):
adduser user testusr
我创建了一些测试 shell 文件并设置了权限:
touch test.sh
chmod ug+x test.sh
sudo chown testusr:testusr test.sh
但我仍然无法以user 的身份启动 test.sh:
./test.sh
-> Error
现在我寻找一些像cdrom 这样的系统组来检查它们是如何工作的。我的user 在cdrom 组中,可以使用我电脑上的光盘:
$ ls -al /dev/cdrom
lrwxrwxrwx 1 root root 3 апр. 17 12:55 /dev/cdrom -> sr0
$ ls -al /dev/sr0
brw-rw----+ 1 root cdrom 11, 0 апр. 17 12:55 /dev/sr0
加法:
./test.sh 命令在系统重启后开始工作。奇怪……
我使用的是 Ubuntu Studio 15.10
【问题讨论】:
标签: linux bash permissions user-permissions usergroups