linux 如何修改命令权限

不同的命令对于不同的用户有不同的使用权限,如ifconfig对于root用户可用,但是对其他用户就不可用,那么如何让其他的用户也可以使用ifconfig呢?

chmod u+s ifconfig 给命令添加一个setuid权限就可以,这样执行命令时,普通用户就成了root。

在linux中,不管是Root用户还是普通用户,都可以使用“Password”命令来更改自身的密码。但是,Linux中的密码通常是保存在“/etc/paswd”和“/etc/shadow”文件中,这两个文件对系统安全至关重要,因此只有Root用户才能对其执行读写操作。以管理员的身份登陆系统,在Linxu提示符下执行“ls /etc/passwd /etc/shadow”命令,在返回信息中可以看到普通用户对上述这两个文件并没有写权限,因此从文件属性的角度看,普通用户在更改自身密码时,是无法将密码信息写入到上述文件中的,哪么用户是怎样成功的更改密码的呢?实际上,问题的关键不在于密码文件本身,而在于密码更改命令“passwd”。在提示符下执行命令“ls /usr/bin/passwd”,在返回信息中的文件所有者执行权限位上显示“S”字样,表示“passwd”命令具有SetUID权限,其所有者为Root,这样普通用户在执行“passwd”命令时,实际上以有效用户root的身份来执行的,并具有了相应的权限,从而将新的密码写入到“/etc/passwd”和“/etc/shadow”文件中,当命令执行完毕,该用户的身份立即消失。如何设置SetUID权限呢?使用“chmod”命令即可为指定文件设置SetUID权限,例如“chmod 4xxx filename”命令,取消SetUID权限的命令为“chmod xxx filename”。类似的,执行“chmod 2xxx filename”命令可以设置SetUID权限,使用“chmod xxx filename”命令即可取消SetGID权限,如果执行“chmod 6xxx filename”命令,即可同时为指定文件设置SetUID和SetGID,执行命令“chmod 0xxx filename”,即可同时取消指定文件的SetUID和SetGID权限。例如以Root用户登陆系统,执行“chmod 0511 /usr/bin/passwd”命令,就可以取消“passwd”命令的SetUID权限,这样普通用户就无法修改自己的密码了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-20
其他用户可以使用ifconfig命令的,只是不能修改地址等,只能查看地址等信息。普通用户执行ifconfig命令时需要加上路径,例如
/sbin/ifconfig
之所以这样是因为普通用户的PATH变量中没有/sbin这个路径
第2个回答  2011-12-20
这种设置修改的命令,只有Root用户可用,如果非要普通用户使用,则其必须知道Root密码,在命令前面加SU,或者用SU命令切换到Root权限下才可以。

理论上用Chmod应该也可以,没试过,你可以试试。
相似回答