首页 / PYTHON / python-不允许操作
python-不允许操作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-不允许操作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含871字,纯文字阅读大概需要2分钟。
内容图文
![python-不允许操作](/upload/InfoBanner/zyjiaocheng/672/d7d8c0a8efb24b7e8f4882abcf05f927.jpg)
我想在python脚本中运行一些命令
import fcntl
KDSETLED = 0x4B32
SCR_LED = 0x01
console_fd = os.open('/dev/console', os.O_NOCTTY)
fcntl.ioctl(console_fd, KDSETLED, SCR_LED)
我为/ dev / console设置了一个rw,但是当我从普通用户那里运行脚本时:
fcntl.ioctl(console_fd, KDSETLED,
SCR_LED) IOError: [Errno 1] Operation
not permitted
如果需要普通用户运行该脚本,该怎么办?
解决方法:
我相信您需要使用CAP_SYS_TTY_CONFIG执行脚本.或者,或者(如果您正在控制台上运行),使用控制性tty(例如/ dev / tty1)而不是/ dev / console可能有效.
强制执行此操作的内核代码似乎是drivers / tty / vt / vt_ioctl.c:
/*
* To have permissions to do most of the vt ioctls, we either have
* to be the owner of the tty, or have CAP_SYS_TTY_CONFIG.
*/
perm = 0;
if (current->signal->tty == tty || capable(CAP_SYS_TTY_CONFIG))
perm = 1;
?
case KDSETLED:
if (!perm)
goto eperm;
setledstate(kbd, arg);
break;
因此,绝对看起来这是您的两个选择.
内容总结
以上是互联网集市为您收集整理的python-不允许操作全部内容,希望文章能够帮你解决python-不允许操作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。