比如有ABCD四个用户,如何让他们只能看到各自的A、B、C、D一个PRINTQUEUE,同时能做打印输出的工作,
如何限制特定用户只能看到特定的打印队列Windows系统
。 前提要求是:其他操作全部禁止,包括命令行。 是在PROFILE里限制?JOBD里?或者其他什么地方? 多谢。 xuguopeng 回复于:2005-07-27 12:40:46 你是要限制比如有ABCD四个用户,如何让他们只能看到各自的A、B、C、D一个PRINT QUEUE,同时能做打印输出的工作。
前提要求是:其他操作全部禁止,包括命令行。
是在PROFILE里限制?JOBD里?或者其他什么地方?
多谢。
xuguopeng 回复于:2005-07-27 12:40:46你是要限制ABCD只能看到各自的SPLF有权限还是让ABCD能操作一个OUTQ下所有的SPLF??
qingzhou 回复于:2005-07-27 14:51:24控制用户使用spool file的权力要从以下入手:
1、拥有*SPLCTL权限的用户,可以处理任意outq中的spool file.
2、spool file owner有权处理自己outq中的所有spool file.
3、拥有*JOBCTL的用户,outq参数为OPRCTL(*YES),可以处理该outq中的所有spool file.
4、用户对outq 拥有*read,*add,*dlt的权限,指定outq为AUTCHK(*DTAAUT).
5、outq指定AUTCHK(*OWNER),则该用户必须是outq的owner.
6、outq指定为DSPDTA(*YES),用户必须有*READ权限才能使用DSPSPLF,CPYSPLF,SNDNETSPLF等命令。
walkonair 回复于:2005-07-27 15:26:25我再说详细点。
QA\QB\QC\QD是各部门自己的打印队列,其实各部门还有A1A22\B2B3\C4C6\D7D9之类的用户,他们的最终任务是往各自队列里发送报表。而用户ABCD是各部门的ADMIN,他们仅负责将报表从各自的队列里发送到相应的打印机里。
我继续问:
1) 将*PUBLIC置为*EXCLUDE. 这样所有的人都不能访问OUTQA,
这样设的结果是所有人都能看到OUTQA但不能用?还是所有人连这个Q都看不到?我希望的结果是后者,用户只能看到他应该看到的Q,比如说A看到并且操作QA,但看不到QB\QC\QD。
2)我想通过菜单方式+CL命令解决这个问题,是否可行?有没有一点思路提供啊?
xuguopeng 回复于:2005-07-27 17:27:00你既然通过菜单的方式限制用户ABCD使用命令行 那么即使A对QD有权限 那A也是看不到QD的
wildfish 回复于:2005-07-27 18:34:36:) 我们是依赖自己开发的应用系统的权限来做控制,比如个人的只能看到个人的,经理可以看到部门的,总经理或者it人员可以看到所有的。不过得写程序。
YZG 回复于:2005-07-28 14:16:20自己写程序吧,用些API函数,仿WRKSPLF,也不难,只是多花些时间
qingzhou 回复于:2005-07-28 14:42:15或者可以自己写一个简单的CLP:Mysplf程序,在代码中包含WRKSPLF语句:
===>WRKSPLF SELECT(Spfname *ALL *ALL A/B/C/D)
然后用 CRTCMD CMD(Seesplf) PGM(Mysplf) SRCFILE(LIB/QCMDSRC) TEXT('My Wrksplf Command') 创建一个新的用户自定义的CMD:Seesplf,再集成到应用系统的MENU中来满足要求。
在使用不同的MENU项调用CMD时可以固定Spooled name,但可以让用户填User Data参数(也就是A/B/C/D用户),从而控制根据不同的用户只能查看指定的各自的SPLF。
qingzhou 回复于:2005-07-28 15:07:43或者从权限角度进行控制。<提示:先测试环境测试再使用>
取消OUTQ的*PUBLIC权限,然后:
1. 分别定义用户级别为*USER的用户组(AGROUP/BGROUP/CGROUP/DGROUP):
CRTUSRPRF USRPRF(AGROUP/BGROUP/CGROUP/DGROUP) PASSWORD(*NONE) USRCLS(*USER)
2. 将各部门用户纳入各自定义的用户组:
CHGUSRPRF USRPRF(A1/A2/A3。。。) GRPPRF(AGROUP)
CHGUSRPRF USRPRF(B1/B2/B3。。。) GRPPRF(BGROUP)
CHGUSRPRF USRPRF(C1/C2/C3。。。) GRPPRF(CGROUP)
CHGUSRPRF USRPRF(D1/D2/D3。。。) GRPPRF(DGROUP)
3. 更改SPLF所在的OUTQ,使得SPLF的拥有者可以访问它:
CHGOUTQ OUTQ(Lib/Outq) DSPDTA(*OWNER) OPRCTL(*NO) AUTCHK(*DTAAUT)
4. 更改SPLF所对应的PRTF,使得SPLF拥有者为用户所在的用户组:
CHGPRTF FILE(QPDSPLOG) OUTQ(Lib/Outq) SPLFOWN(*CURGRPPRF)
按照以上设置后,还可以控制SPLF的拥有者不能去修改、删除自己OUTQ下的SPLF!
YZG 回复于:2005-07-28 16:46:23权限可以控制,可命令行的问题如何解决?
干脆自己写一个(此程序未完成,余下的只是体力活,看来在企业中还是满有用的,决心把它完成了.到时再共享出来.)
roden 回复于:2005-07-28 16:56:02[quote:73a44add43="YZG"]权限可以控制,可命令行的问题如何解决?[/quote:73a44add43]
CHGUSRPRF USRPRF(RODEN) LMTCPB(*YES)
可以disable命令行,
电脑资料
《如何限制特定用户只能看到特定的打印队列Windows系统》(http://meiwen.anslib.com)。qingzhou 回复于:2005-07-28 20:20:50或者使用如下方法屏蔽用户使用命令行:
CHGUSRPRF USRPRF(A/B/C/D) INLPGM(LIB/AMENU/BMENU/CMENU/DMENU)
其中A/B/C/DMENU是用户自定义的画面。
qingzhou 回复于:2005-07-28 22:27:25有人可能会说,虽然在个人usrprf的初始化程序中指定了菜单,但还没有控制住系统请求键“system request”,用户还是可以通过system request转到命令行,对吧?! :roll:
公共用户对system request菜单的权限的确是*USE,限制用户使用system request菜单的最简单的办法是限制对对象QGMNSYSR的访问。
●限制用户使用System Request菜单,需把*EXCLUDE权限赋给该用户:
GRTOBJAUT OBJ(QSYS/QGMNSYSR) OBJTYPE(*PNLGRP) USER(USERA) AUT(*EXCLUDE)
●限制多数用户使用System Request菜单,把公共用户的权限去掉,把 *USE权限赋给指定用户即可。
RVKOBJAUT OBJ(QSYS/QGMNSYSR) OBJTYPE(*PNLGRP) USER(*PUBLIC) AUT(*ALL)
GRTOBJAUT OBJ(QSYS/QGMNSYSR) OBJTYPE(*PNLGRP) USER(USERA) AUT(*USE)
YZG 回复于:2005-07-29 09:14:35按照roden的做法,SIGNOFF这个命令也是要做处理的. 不然还是可以使用.
让命令行不存在是最好的.
ibmas400 回复于:2005-07-29 10:04:44还有ESC键也需要屏蔽才行,不然即使使用LMTCPB(*YES)参数屏蔽了命令行,也还是可以使用如下菜单1选项。
如何也屏蔽ESC键呢?
[code:1:2faa08760e]
ASSIST OS/400 OperationalAssistant(TM) Menu
System: S65F6F8B
To select one of the following, type its number below and press Enter:
1. Work with printer output
2. Work with jobs
3. Work with messages
4. Send messages
5. Change your password
10. Manage your system, users, and devices
11. Customize your system, users, and devices
75. Information and problem handling
80. Temporary sign-off
Type a menu option below
F1=Help F3=Exit F9=Command line F12=Cancel
[/code:1:2faa08760e]
xuguopeng 回复于:2005-07-29 13:38:30USRPRF中的Attention program选*NONE
或直接修改系统值QATNPGM为*NONE ,USRPRF中Attention program选*SYSVAL都可以达到屏蔽通过ESC键进入ASSIST菜单
原文转自:http://www.ltesting.net