LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 7141|回复: 6

普通用户不能关机文该怎么办?(sudo简介)

[复制链接]
发表于 2002-10-6 14:39:22 | 显示全部楼层 |阅读模式
先装上xpdf,好像debian的xpdf没有language support for chinese
但是我的rht7.3中装好了,于是就把rht7.3下的/usr/share/xpdf/chinese-simplified 都copy到/usr/share/xpdf下,然后cat /etc/xpdf /usr/share/xpdf/chinese-simplified/add*c >/etc/xpdfrc
但是好像rht下的/usr/share/xpdf/chinese-simplified/add*c,有个bug,漏了一个字母还是什么的,这个论坛上有关的帖子,我已经改过了,所以也忘了是怎么回事,不好意思!

至于普通用户不能关机的问题,在root下执行:
chmod a+s /sbin/halt就可以,我为了测验这个机器不知道重起了多少次了。
发表于 2002-10-6 19:18:27 | 显示全部楼层
从安全性考虑,你最好安装一个sudo,而不是把halt加上suid位。然后普通用户使用sudo进行关机
sudo halt
如果实在不想装sudo,至少也可以使用sgid的方式。

当然,使用sudo的好处远远不至关机,这使得平时我们能够完全在普通用户下进行工作,只是在必要的时候才使用root的权限。
 楼主| 发表于 2002-10-6 20:14:20 | 显示全部楼层

谢谢!

这个命令还从来没见过,看了一下man 好像还挺复杂的,而且是英文,痛苦死了。如果兄弟有空的话,还请给我们解释一下怎么用。
谢谢!
发表于 2002-10-7 13:44:28 | 显示全部楼层

简单的sudo介绍

su的一个替代程序是sudo。Red Hat 6.2中包含这个软件。sudo允许你设置哪个用户哪
个组可以以root身份执行哪些程序。你还可以根据用户登录的位置对他们加以限制(
如果有人“破”了一个用户的口令,并用这个帐号从远程计算机登录,你可以限制他
使用sudo)。Debian也有一个类似的程序叫super,与sudo比较各有优缺点。
让用户养成良好的习惯。使用root帐号并让多个人知道root的密码并不是一个好的习
惯。这就是www.apache.org被入侵的原因 ... 他们都有root的
特权。一个乱成一团的系统是很容易被入侵的。

sudo
    sudo是系统管理员用来允许某些用户以root身份运行部分/全部系统命令的程序。一个明显的用途是增强了站点的安全性,如果你需要每天以root身份做一些日常工作,经常执行一些固定的几个只有root身份才能执行的命令,那么用sudo对你是非常适合的。

sudo的主页在:http://www.courtesan.com/courtesan/products/sudo/
以Redhat 为例,下面介绍一下安装及设置过程:
首先,你能从sudo主页上下载for Redhat Linux的rpm package.
它在ftp://ftp.freshmeat.net/pub/rpms/sudo/
当前最新的稳定版本1.5.9p4。
    执行#rpm -ivh sudo* 进行安装,然后用/usr/sbin/visudo编辑/etc/sudoers文件。如果系统提示你找不到/usr/bin/vi但实际上你在目录/bin下有vi程序,你需要ln -sf /bin/vi /usr/bin/vi为 vi 在/usr/bin下创建符号链接。(注:我在Redhat 6.1上遇到,Redhat 5.x上没有此问题)

另外,如果出现某些其它错误,你可能还需要#chmod 700 /var/run/sudo
下面是我的/etc/sudoers文件例子:
[root@sh-proxy /etc]# more sudoers
Host_Alias SERVER=sh-proxy
# User alias specification
User_Alias ADMIN=jephe,tome
# Cmnd alias specification
Cmnd_Alias SHUTDOWN=/etc/halt,/etc/shutdown,/etc/reboot
ADMIN SERVER=SHUTDOWN
jephe SERVER=/usr/bin/tail -f /var/log/maillog
jephe SERVER=/usr/bin/tail -f /var/log/messages
# User privilege specification
root ALL=(ALL) ALL
-----------
    既然我经常需要远程登录到服务器观察email log文件/var/log/maillog的变化,因此我加了这一行到 /etc/sudoers,这样我不需要经常登录作为root来完成我的日常工作,改善了安全性。

========================
如果大家对unix/linux安全管理和使用比较有兴趣,建议多去www.nsfocus.com的安全文摘 ... 文章和公告。
发表于 2002-10-7 14:01:24 | 显示全部楼层

举个例子

我现在使用deepin 这个用户进行工作,偷懒的方式是/etc/sudoers里面加上了 (必须使用visudo命令进行修改编辑)这么一行
deepin ALL=NOPASSWD: ALL
这样我以deepin用户身份进行root用户权限操作时,
只需要
sudo +命令
不用输入自己的密码就可以以root身份执行命令了

在wmaker里面,我虽然是以deepin身份登录,但是开一个模拟终端的时候不想总是su到root后操作,于是修改一下图标的启动方式,使用
sudo x-terminal-emulatot
直接点击这个图标,就开出了一个具有root身份的模拟终端使用。当然平时直接用另一个图标进入deepin身份的模拟终端。

关机的时候,也不用切到root用户下,直接
sudo halt ,自动就关机了
sudo reboot重新启动

当然,这种方法是方便,但是也不是安全的:)
实际上deepin用户可以用root身份作事,唯一的好处是减少误操作的可能,要是想删除系统文件,至少也要sudo rm -rf /了,呵呵
建议不要用NOPASSWD参数,这样每次sudo的时候,会提示你输入自己的密码(注意是自己的,不是root的)才能操作。
发表于 2004-12-19 22:37:05 | 显示全部楼层
很高兴看到deepin兄的帖子。我也知道一点sudo的用法,但是一直不知道该如何去修改/etc/sudoers文件。比如你所说的以下用法,怎么去设置呢?只是允许执行几个程序。限制远程用户使用sudo等。
sudo允许你设置哪个用户可以以root身份执行哪些程序。你还可以根据用户登录的位置对他们加以限制(
如果有人“破”了一个用户的口令,并用这个帐号从远程计算机登录,你可以限制他
使用sudo)。
发表于 2004-12-19 22:38:06 | 显示全部楼层
很高兴看到deepin兄的帖子。我也知道一点sudo的用法,但是一直不知道该如何去修改/etc/sudoers文件。比如你所说的以下用法,怎么去设置呢?只是允许执行几个程序。限制远程用户使用sudo等。
sudo允许你设置哪个用户可以以root身份执行哪些程序。你还可以根据用户登录的位置对他们加以限制(
如果有人“破”了一个用户的口令,并用这个帐号从远程计算机登录,你可以限制他
使用sudo)。

这么久的帖子,希望还能够得到你的指点。谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表