如何将SCSI或USB扫描仪配置为与常规用户帐户一起使用SANE / XSANE
版本1.0
作者:VirtualEntity <lafeyette_management [at] comast [dot] net>
当我尝试运行XSANE时,程序报告“找不到设备”,看不到我的扫描仪。 当我运行sane-find-scanner时,发生同样的事情,程序报告没有找到扫描仪。
以Linux格式杂志的话来说, Unix在传统上限制用户访问物理设备,所以一切都分为多个组,以便提供精细的访问。
换句话说,这是“权限”之一。
由于root用户可以访问所有内容,所以根本没有问题。
然而,普通用户对设备的访问非常有限,因此有必要授予您的特定用户帐户访问扫描仪(或其他无法访问的其他设备)。
为了这个方法,我们将考虑我的扫描仪,几年前我在垃圾箱里发现的一个HP C2520A 3644 SCSI扫描仪,放在一边(而且,我很高兴我做到了!)。
首先,我需要“找到”我的扫描仪,也就是找出它使用的是什么设备。
显然,如果您已经阅读了问题描述,那么从我的常规帐户使用sane-find-scanner
,我根本就没有任何好处。 但是,以root身份运行此命令应该可以运行:
[root@berlin dev]# sane-find-scanner
found SCSI processor "HP C2520A 3644" at /dev/sg0
# Your SCSI scanner was detected. It may or may not be supported by SANE. Try
# scanimage -L and read the backend's manpage.
# No USB scanners found. If you expected something different, make sure that
# you have loaded a driver for your USB host controller and have installed a
# kernel scanner module.
好的,现在我们知道扫描仪被系统识别为/ dev / sg0
。
现在,我们需要知道拥有/ dev / sg0
的用户和组:
[root@berlin dev]# ls -al sg0
crw-rw---- 1 root disk 21, 0 Apr 16 07:02 sg0
^ ^
用户------- | | --------组
好的,现在我们知道/ dev / sg0
所属的组是磁盘
。
在USB扫描仪的情况下,这可能是不同的,例如可能是/ dev / usb
, / dev / scanner
甚至其他的东西。 关键是,您可以使用上述技术找到您的扫描仪,无论它潜伏着。
现在,下一步是将用户帐户添加到磁盘
组。
编辑/ etc / group
并将您的用户名(在我的情况下为vmorgo
)添加到/ etc / group
的行中,以磁盘
开头,如下所示:
root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon tty:x:5: disk:x:6:root,vmorgo
或者简单地用usermod
来做这个伎俩。 当使用groupadd
时,命令将是:
usermod -G samba,disk vmorgo
假设你已经(并希望保留) Samba
集团的成员。
记住,在使用usermod
命令时,省略您所在的组是ALREADY的成员将导致从这些组中删除您的帐户!
完成并保存更改后,您将需要注销并重新登录才能使新的权限生效。 (Windows如何...)
注意:
不建议手动更改/ dev / sg0(或/ dev中的任何其他项目)上的权限。无论如何,更改将不会在重新引导之间“停留”;即会在会话结束时被删除和撤消。