platinum 回复于:2005-03-31 12:17:32 |
vi /etc/passwd |
samuelz 回复于:2005-03-31 12:49:38 |
谢谢platinum老大。 现在已经把/etc/passwd中apache的一行改为: apache:x:0:0:apache:/root:/bin/bash 可是此用户仍然没有root权限,是不是需要激活一下。 刚才google了一下,没有找到。 汗 |
platinum 回复于:2005-03-31 12:53:34 |
你是如何测试的,又是如何知道不行的? |
初学摄影 回复于:2005-03-31 13:01:26 |
[quote:914f409001="samuelz"]谢谢platinum老大。 现在已经把/etc/passwd中apache的一行改为: apache:x:0:0:apache:/root:/bin/bash 可是此用户仍然没有root权限,是不是需要激活一下。 刚才google了一下,没有找到。 汗[/quote:914f409001] :roll: :shock: crash others server? |
lzj_linux 回复于:2005-03-31 13:12:54 |
我做了一下实验,用test改成root权限用户,好象是可以的,就是切换成test用户后还是显示是root用户,过程如下: [root@VMLinux home]# ll 总用量 20 drwxr-xr-x 3 bolauser bolauser 4096 3月 29 10:13 bolauser drwx------ 13 lzjlinux lzjlinux 4096 3月 31 13:04 lzjlinux drwx------ 3 mysql mysql 4096 3月 30 10:36 mysql drwx------ 3 test1 test 4096 3月 31 12:57 test drwx------ 4 test1 test1 4096 3月 31 13:11 test1 [root@VMLinux home]# vi /etc/passwd ........................... test:x:0:0:test:/root:/bin/bash test1:x:503:504::/home/test1:/bin/bash [root@VMLinux home]# su test1 [test1@VMLinux home]$ [test1@VMLinux home]$ cd lzjlinux bash: cd: lzjlinux: 权限不够 [test1@VMLinux home]$ exit exit [root@VMLinux home]# su test [root@VMLinux home]# cd lzjlinux/ [root@VMLinux lzjlinux]# |
climbmount 回复于:2005-03-31 14:09:06 |
这没办法了。因为那里显示的信息是由UID查passwd得到的,0就显示成root。你用test建立文件,ls -l时显示的也应该是root。 |
suweiji 回复于:2005-03-31 14:19:16 |
这有何难?? 用root登陆 用usermod命令 usermod -g group G adm,root 你的用户名 就可以了 |
samuelz 回复于:2005-03-31 14:57:20 |
不好意思,开始可能弄错了,现在改了/etc/passwd就可以了。跟lzj_linux说的一样,切换成有root权限的用户后,用户名还是显示root。 本来是想把apache的用户权限提升为root的权限。因为需要在Web页面下调用几个系统调用,而此调用只可以让root来执行。现在发现即使把apache的权限提升为root,还是不可以。不清楚是什么回事。以前曾经用过sudo解决过一次类似的情况:也是web页面下一般用户无法执行只有root才可以执行的程序。现在不知道有没有更好的解决方法,还是我对此理解有误? //bow |
platinum 回复于:2005-03-31 15:03:25 |
了解一下suid |
sunny0236 回复于:2005-03-31 16:18:34 |
直接用root权限进行工作很不安全。还看一下suid吧 |
samuelz 回复于:2005-04-01 14:37:42 |
谢谢platinum和sunny0236,使用suid功能把问题解决了 |
platinum 回复于:2005-04-01 14:38:30 |
不如把你的经验写出来,让大家一同分享:) |
双眼皮的猪 回复于:2005-04-01 15:08:34 |
suid程序如果不安全.容易被人overflow直接得到root权限... |
lnux 回复于:2005-04-01 15:46:59 |
apache为了安全考虑,不让以root运行。 |
samuelz 回复于:2005-04-01 15:57:35 |
赫赫,响应斑竹号召。 基本问题是这样的:用php写了一个web程序,在php中会调用一个C程序,C程序中用exec函数来调用wget命令。但是开始的总是不能执行,察看wget 的权限是-rwxrwxrwx。于是到网上来问是不是执行web操作的apache用户的问题,想提升为root来试试看,结果还是不行。后来按照大虾的指点,用chmod g+s wget只改变了sgid就可以执行了(当时还没有用chmod u+s wget),此时wget 权限是rwxrwsrwx 。刚才想实验一下,发现chmod g-s wget权限恢复成 rwxrwxrwx时却还是可以执行。但是改成-rwx------是没法执行的。有点搞不懂了。难道用sgid给激活一次就可以了? |
u86 回复于:2005-04-02 20:24:55 |
修改/etc/passwd文件,把你要改的用户名的用户ID和组ID都改成0即可 |
小菜刀 回复于:2005-04-02 21:28:00 |
不会吧,直接改/etc/passwd就可以把普通用户提升到root权限吗?难道就不用改/etc/shadow???并且要改shadow是要root再改得了的。要提升权限应该这个系统要有漏洞再行吧!? |
samuelz 回复于:2005-04-03 11:39:57 |
To lnux: 那如果要让apache用户运行root才可以运行的程序,还有什么别的方法么? 试了下用suid可以;如果单改所要执行的程序权限,有时候也不行。。。 To 小菜刀: 按照大家说的,直接改/etc/passwd就可以了 |
frankzh 回复于:2005-04-03 12:05:42 |
[quote:ee5ea692b4="samuelz"]Linux下有没有这样的命令和功能?[/quote:ee5ea692b4] 修改 /etc/passwd 和/etc/group |
小菜刀 回复于:2005-04-03 15:19:36 |
在rh9中中,/etc/passwd也要root权限才能改啊! |
yyprick 回复于:2005-04-03 15:37:21 |
sudo吧~!有太多root权限的用户的话对安全并不是一件好事。 |
衍水狂客 回复于:2005-04-03 15:38:35 |
把普通用户放到root组里就可以了吧? |
寂寞烈火 回复于:2005-04-03 15:42:56 |
[quote:6bd667ff4a="yyprick"]sudo吧~!有太多root权限的用户的话对安全并不是一件好事。[/quote:6bd667ff4a] sudo,best choice! :mrgreen: |
tc 回复于:2005-04-04 10:51:08 |
不好意思,楼上的意见都是错误或者不完善的。 单纯修改passwd文件无法真正实现将普通用户权限提升到root的权限。而且可能导致出现问题。 正确的办法是修改/etc/passwd和/etc/shadow文件同时将该用户的SID修改为o。 同时,组文件不需要做任何修改,GID和group文件不需要修改。 |
tc 回复于:2005-04-04 10:56:59 |
楼上的使用SUID也是一个可行的办法。 |
qingyu_8069 回复于:2005-04-08 11:06:25 |
有没有提升权限工具给啊,大哥们!!感谢啊 |
JohnBull 回复于:2005-04-08 13:15:29 |
让apache以0号用户运行很危险的! |
badaji01 回复于:2005-09-09 21:39:07 |
用visudo可以给普通用户root的权限 不过最好不要给普通用户root的权限 :em02: |
tonyfu 回复于:2005-09-10 08:49:19 |
给文件设置S位,,任何用户执行此文件均是ROOT权限执行的.. |