怎样建一个只能重启和关机的帐户?
给偶抄个吧,多谢!怎样建一个只能重启和关机的帐户?
.....等后天的吧
怎样建一个只能重启和关机的帐户?
好的,这个我还不是太急,我先搜一下试试去,也许能找到:)怎样建一个只能重启和关机的帐户?
关注一下这个~~偶也想知道的怎样建一个只能重启和关机的帐户?
那你可以这样子啊,给一个用户,登陆之后设置它的自动启动一个处理进程,只有关机和充气的选项阿怎样建一个只能重启和关机的帐户?
摘自《UNIX系统基础》 陈慧蓉 编著1998年2月第一版 1998年10月第三次印刷
第219页 选段
通常只有超级用户有权执行关机操作。为了避免别人知道超级用户的口令以至滥
用超级用户的巨大权力,可以建立一个专门关机“超级用户”,例如。建一个名
为halt的用户,使其在 /etc/passwd 中的登记项为
halt::0:1 : account for halt : / : /etc/halt
在此,我们让halt用户注册后,不输入口令,系统遍直接执行/etc/halt关机命令
,而不是去执行某一种shell。如果考虑到不破坏正在上机的用户进行中的工作,
以及避免网络上的远程用户执行关机操作,我们可以让halt用户注册后执行某个
shell程序或某个自行编写的二进制程序。例如,使/etc/passwd中的登记项为:
halt::0:1 account for halt :/:/home/adm/halt
下面给出我们用与SunOS 4.1.x(BSD UNIX)上的/home/adm/halt程序的一个参考
版本
#! /bin/csh
#例6.1 --halt
#专门关机的超级用户执行的shell程序
#
#如遇在执行中被打断, goto Intonintr Int
#是否还有其他用户在上机
if ('who |wc -l' = = 1) then
#只有主控制台或接在串口a口的终端可以关机
if ('tty'= = /dev/console | | 'tty'= = /dev/ttya ) then
/etc/umount -t nfs
/etc/halt
else echo Terminal is not previleged !!
endif
else
echo ''
echo '--Login users are------'
who
wall -a << endoffile
The system is coming down. Please logout.
endoffile
endif
exit
Int:
echo "Interruptted"
exit
这是一个专门关机的超级用户。在所有的系统中,只允许建立普通用户帐号,这
就需要利用setuid,使建立关机的用户的进程在关机时暂时变成超级用户来执行关
机操作。但是,setuid的使用一定要非常慎重.
#抄写书上的校验过2次,如有错误请大家原谅
由于是抄写书上的,本人的只是初学者,这些都看不明白,所以
有关问题请不要问我 ^o^
怎样建一个只能重启和关机的帐户?
谢谢!我过两天试吧,今天忙着整squid,现在出问题了:http://bbs.chinaunix.net/forum/viewtopic.php?p=2803980#2803980怎样建一个只能重启和关机的帐户?
谢谢~ @肥虾 怎样建一个只能重启和关机的帐户?摘自《UNIX系统基础》 陈慧蓉 编著
1998年2月第一版 1998年10月第三次印刷
第219页 选段
通常只有超级用户有权执行关机操作。为了避免别人知道超级用户的口令以至滥
用超级用户的巨大权力,可以建立一个专门关机“超级用户”,例如。建一个名
为halt的用户,使其在 /etc/passwd 中的登记项为
halt::0:1 : account for halt : / : /etc/halt
在此,我们让halt用户注册后,不输入口令,系统遍直接执行/etc/halt关机命令
,而不是去执行某一种shell。如果考虑到不破坏正在上机的用户进行中的工作,
以及避免网络上的远程用户执行关机操作,我们可以让halt用户注册后执行某个
shell程序或某个自行编写的二进制程序。例如,使/etc/passwd中的登记项为:
halt::0:1 account for halt :/:/home/adm/halt
下面给出我们用与SunOS 4.1.x(BSD UNIX)上的/home/adm/halt程序的一个参考
版本
#! /bin/csh
#例6.1 --halt
#专门关机的超级用户执行的shell程序
#
#如遇在执行中被打断, goto Intonintr Int
#是否还有其他用户在上机
if ('who |wc -l' = = 1) then
#只有主控制台或接在串口a口的终端可以关机
if ('tty'= = /dev/console | | 'tty'= = /dev/ttya ) then
/etc/umount -t nfs
/etc/halt
else echo Terminal is not previleged !!
endif
else
echo ''
echo '--Login users are------'
who
wall -a << endoffile
The system is coming down. Please logout.
endoffile
endif
exit
Int:
echo "Interruptted"
exit
这是一个专门关机的超级用户。在所有的系统中,只允许建立普通用户帐号,这
就需要利用setuid,使建立关机的用户的进程在关机时暂时变成超级用户来执行关
机操作。但是,setuid的使用一定要非常慎重.
#抄写书上的校验过2次,如有错误请大家原谅
由于是抄写书上的,本人的只是初学者,这些都看不明白,所以
有关问题请不要问我 ^o^
感谢分享 很赞! ^_^
页:
1
[2]