怎样给一般用户以关机的权限?

发表于:2007-06-09来源:作者:点击数: 标签:
如何比较好的给某个普通用户以关闭系统的权限(init5)? kiner007 回复于:2003-01-16 13:44:09 用RBAC或者是sudo都可以. procrus 回复于:2003-01-16 14:20:21 建一个关机用户,然后su webtone 回复于:2003-01-16 14:23:02 建一个shutdown用户,用户ID和

如何比较好的给某个普通用户以关闭系统的权限(init 5)?

 kiner007 回复于:2003-01-16 13:44:09
用RBAC或者是sudo都可以.

 procrus 回复于:2003-01-16 14:20:21
建一个关机用户,然后su

 webtone 回复于:2003-01-16 14:23:02
建一个shutdown用户,用户ID和组ID是0和1,不要口令,在/.profile中执行init 0等关机命令,一般用户关机时可以登陆该用户

 quaine 回复于:2003-01-16 14:23:06
各位可以详细说说吗?谢谢!

 procrus 回复于:2003-01-16 14:26:37
vi  /etc/passwd
hait::0:14::/:/etc/halt
su -halt,就能够直接到ok状态了

 南非蜘蛛 回复于:2003-01-16 14:28:10
[quote:fbe0f22837="procrus"]vi  /etc/passwd
hait::0:14::/:/etc/halt
su -halt,就能够直接到ok状态了[/quote:fbe0f22837]
经典,快试试,要是可以,我就加精了

 quaine 回复于:2003-01-16 14:35:48
[quote:cf9001625c="procrus"]vi  /etc/passwd
hait::0:14::/:/etc/halt
su -halt,就能够直接到ok状态了[/quote:cf9001625c]


密码留空,好像切不过去。

 quaine 回复于:2003-01-16 14:43:13
要在shadow文件里加入halt用户,才能使用。

 procrus 回复于:2003-01-16 14:43:13
那就vi /etc/passwd 
hait:0:14::/:/etc/halt 
vi /etc/shadow
halt::6445::::::
再试试看吧,我好长时间没有试过了

 quaine 回复于:2003-01-16 14:50:35
ok,成功!
我试了一下,halt命令可以用,不过好像用init加运行级就有问题了,估计它不认识init 5之间的空格,用什么把/etc/init 5括起来?我试了“”好像不行。

 hellcasper 回复于:2003-01-16 14:55:06
小技巧,精华阿。。。^_^

 procrus 回复于:2003-01-16 14:55:16
新建一个命令就可以了呀
vi /usr/bin/guanji
sync;sync;sync
init 5

chmod +x /usr/bin/guanji

试试吧,应该可以的

 quaine 回复于:2003-01-16 15:18:30
[quote:5d1bf6b47e="procrus"]新建一个命令就可以了呀
vi /usr/bin/guanji
sync;sync;sync
init 5

chmod +x /usr/bin/guanji

试试吧,应该可以的[/quote:5d1bf6b47e]

不行吖

 mmmmn 回复于:2003-01-16 15:38:34
精华区有

 大漠孤烟 回复于:2003-01-16 15:54:10
先用admintool创建shutdown用户,
然后#vi /etc/passwd,将shutdown的uid改为0,gid改为1,
再然后#vi /home/shutdown/.profile
在其中加入init 0
最后#su - shutdown
再最后就没了:)

 quaine 回复于:2003-01-16 16:20:37
[quote:e5cd1f89d6="大漠孤烟"]先用admintool创建shutdown用户,
然后#vi /etc/passwd,将shutdown的uid改为0,gid改为1,
再然后#vi /home/shutdown/.profile
在其中加入init 0
最后#su - shutdown
再最后就没了:)[/quote:e5cd1f89d6]

建用户时,不能创建home下的目录?

 quaine 回复于:2003-01-16 16:21:50
[quote:e8f5f417b1="大漠孤烟"]先用admintool创建shutdown用户,
然后#vi /etc/passwd,将shutdown的uid改为0,gid改为1,
再然后#vi /home/shutdown/.profile
在其中加入init 0
最后#su - shutdown
再最后就没了:)[/quote:e8f5f417b1]

建用户时,不能创建home下的目录?

 大漠孤烟 回复于:2003-01-16 16:31:10
那就创到/下啊~~~
#vi /shutdown/.profile

 johnyou 回复于:2003-01-16 17:38:33
But the real way is RBAC.

 quaine 回复于:2003-01-17 07:56:26
[quote:21410726e4="大漠孤烟"]那就创到/下啊~~~
#vi /shutdown/.profile[/quote:21410726e4]

不起作用。

 iricyan 回复于:2003-01-17 08:14:31
建立的halt用户,使用了不推荐的关机命令!

 路人甲 回复于:2003-01-17 08:51:04
很不错的技巧、!

 zjshaojianyu 回复于:2003-01-22 11:23:47
建完用户后只要#pwconv同步一下passwd和shadow文件就可以用了。

 zjshaojianyu 回复于:2003-01-22 11:33:37
#vi /etc/passwd
halt::0:1::/etc:/etc/halt
#pwconv
#su - halt

 凝嫣 回复于:2003-02-01 10:13:17
#head /etc/passwd
halt:0:1:Superuser:/:/bin/halt.sh

#cat /bin/halt.sh
sync
sync
shutdown -y -g0

任何人均可使用halt用户进行关机!!

 fanfan 回复于:2003-02-03 00:21:24
halt似乎不是最好的,那只是快速关机用的,对于有数据库的最好还是shutdown,在命令行加个时间和确认,作成一个shell文件,加上可执行权限,放在口令文件里即可
halt:0:14::/:/etc/shutdown_shell_file

 wd302 回复于:2003-02-03 23:14:47
[quote:ef45722e59="quaine"]


密码留空,好像切不过去。[/quote:ef45722e59]
这样对系统有没有什么危害呢?

 helixor 回复于:2003-02-12 00:31:13
[quote:c302845dfa="johnyou"]But the real way is RBAC.[/quote:c302845dfa]

这位大哥说得对,我来介绍一下Solaris下RBAC的用法。

1. [b:c302845dfa]Create a role [/b:c302845dfa](这个例子创建的角色名为
'pseudo ') 

# roleadd -u 1000 -g 10 -d /export/home/pseudo -m pseudo 

# passwd pseudo 

New password: 

Re-enter new password: 

passwd (SYSTEM): passwd suclearcase/" target="_blank" >ccessfully changed for pseudo 

# pwconv //同步/etc/passwd和/etc/shadow 

# grep -i pseudo /etc/passwd 

pseudo:1000:10::/export/home/minime:/bin/pfsh 

2. [b:c302845dfa]Create a profile [/b:c302845dfa](创建一个Shut的profile) 

# vi /etc/security/prof_attr 

Shut:::Able to shutdown the system: 

:wq! 

# grep Shut /etc/security/prof_attr 

Shut:::Able to shutdown the system: 

3. [b:c302845dfa]Add the profile to the role [/b:c302845dfa]

# rolemod -P Shut,All pseudo 

4. [b:c302845dfa]验证/etc/user_attr中的修改[/b:c302845dfa]

# grep Shut /etc/user_attr 

pseudo::::type=role;profiles=Shut 

# profiles pseudo //验证

Shut,All 

5. [b:c302845dfa]创建一个用户并赋予pseudo的角色('useradd -R')。或修改用户角色('usermod -R')  [/b:c302845dfa]

--创建一个用户并赋予pseudo的角色 -- 
# useradd -u 1001 -g 10 -d /export/home/shutadmn -m \ 

-s /bin/ksh -R pseudo shutadmn 

# passwd shutadmn 

New password: 

Re-enter new password: 

passwd (SYSTEM): passwd successfully changed for shutadmn 

# pwconv 

# grep shutadmn /etc/passwd 

shutadmn:1001:10::/export/home/shutadmn:/bin/ksh 

-- 修改用户角色-- 

# usermod -R pseudo shutadmn 

6. [b:c302845dfa]给Shut profile授权命令[/b:c302845dfa]。 

# vi /etc/security/exec_attr 

Shut:suser:cmd:::/usr/sbin/shutdown:uid=0 

# grep Shut /etc/security/exec_attr 

Shut:suser:cmd:::/usr/sbin/shutdown:uid=0 

7. [b:c302845dfa]测试 [/b:c302845dfa]

A. [b:c302845dfa]验证用户是否已被赋予角色[/b:c302845dfa]

# roles shutadmn 

pseudo 

B. [b:c302845dfa]验证已为角色设置profile[/b:c302845dfa]

# profiles pseudo 

Shut,All 

C. [b:c302845dfa]以shutadmn用户登录[/b:c302845dfa]

D. [b:c302845dfa]$ su pseudo [/b:c302845dfa]

Password: <enter pseudo's passwd> 

E. 验证effective UID 

$ /usr/ucb/whoami 

pseudo 

F. 验证 真正的 UID 

$ who am i 

shutadmn pts/10 Feb 12 08:45 (:0.0) 

G. 执行shutdown: 

# /usr/sbin/shutdown -i 6 -g 0 

<EOF>

原文转自:http://www.ltesting.net