还有其他途径可改吗
19 个解决方案
#1
sudo ?
#2
除非你用sudo 否则应该是不行的
passwd命令 属主是root 是设置了suid位的 你可以ls -l `which passwd`查看一下 也就是普通用户用passswd命令更改自己的秘密的时候 其实也是root权限执行的 但却只能更改自己密码
因此 在passwd的源码里肯定设置了判断当前用户是谁 如果非root 那么就只能修改自己的密码
因为没研究过passwd命令的源码 上面是个人猜测 仅供参考
另外把普通用户加入root组 是不推荐的做法 与其这样做你不如给他root权限
passwd命令 属主是root 是设置了suid位的 你可以ls -l `which passwd`查看一下 也就是普通用户用passswd命令更改自己的秘密的时候 其实也是root权限执行的 但却只能更改自己密码
因此 在passwd的源码里肯定设置了判断当前用户是谁 如果非root 那么就只能修改自己的密码
因为没研究过passwd命令的源码 上面是个人猜测 仅供参考
另外把普通用户加入root组 是不推荐的做法 与其这样做你不如给他root权限
#3
没试过,不过估计是行不通的!
#4
应该不行吧,这都行的话linux的权限管理不成摆设了啊
#5
直接改不行
#6
肯定不行,那你把root改了,不就可以登root了,
普通用户应该没有权限写,甚至读passwd文件,所以要用passwd程序实现。
普通用户应该没有权限写,甚至读passwd文件,所以要用passwd程序实现。
#7
用root把passwd文件权限改了就可以
或者把别的用户怕uid改成0,那就等同于root权限了,也就可以改了
或者把别的用户怕uid改成0,那就等同于root权限了,也就可以改了
#8
恩,加入root组应该实现不了改密码的
#9
用root权限修改吧,sudo权限也不能修改他人密码。
#10
passwd这个文件有特殊权限。
#11
有些操作系统支持角色,更细粒度的权限控制,可以指定一个用户或角色可以运行哪些命令,所以对于修改用户口令这一权力,不一定非得是root。Solaris, AIX较新版本都支持,别的不清楚。
#12
用光盘启动进入LIVECD系统可以进行修改
#13
实现不了。除非使用rescue模式或单用户模式。
#14
不行,sudo也是要root的权限。
#15
根据我的知识是可以改的,将uid和gid都改成0就可以了吧!!
#16
使用Sudo方法是可以解决这个问题的,下面是我的测试:
1.建立测试用户testAcct1和testAcct2(使用testAcct1设置testAcct2的密码)
useradd testAcct1
useradd testAcct2
2.编辑/etc/sudoers文件,允许用户testAcct1执行/usr/bin/passwd
使用visudo -f /etc/sudoers编辑文件(就像使用Vi一样),在文件# User privilege specification下方添加一行:
testAcct1 listenerhost= /usr/bin/passwd
其中listenerhost是我测试的主机名,可能会随测试环境改变而改变。保存退出。
3.使用testAcct1登陆
su - testAcct1
4.testAcct1使用sudo来修改testAcct2的密码
以上的步骤都是为sudo命令作准备的,这一步是关键:
sudo /usr/bin/passwd testAcct2
这一步会要求你首先输入testAcct1的密码,输入验证成功后,会提示你再输入testAcct2的密码(也就是我们要改的密码)下面是我的测试:
[testAcct1@listenerhost ~]$ sudo /usr/bin/passwd testAcct2
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:
#1) Respect the privacy of others.
#2) Think before you type.
Password:
Changing password for user testAcct2.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
5.使用testAcct2登陆测试
su - testAcct2输入4中修改后的密码,成功登陆,其实我们修改密码已经成功。但是,我们还是验证看看:
[testAcct2@listenerhost ~]$ id
uid=503(testAcct2) gid=505(testAcct2) groups=505(testAcct2) context=user_u:system_r:unconfined_t
6.删除测试帐户testAcct1和testAcct2
userdel testAcct1
userdel testAcct2
#17
不可以,
#18
#19
sudo 就是root命令。用root给你修改的权限
#20
#1
sudo ?
#2
除非你用sudo 否则应该是不行的
passwd命令 属主是root 是设置了suid位的 你可以ls -l `which passwd`查看一下 也就是普通用户用passswd命令更改自己的秘密的时候 其实也是root权限执行的 但却只能更改自己密码
因此 在passwd的源码里肯定设置了判断当前用户是谁 如果非root 那么就只能修改自己的密码
因为没研究过passwd命令的源码 上面是个人猜测 仅供参考
另外把普通用户加入root组 是不推荐的做法 与其这样做你不如给他root权限
passwd命令 属主是root 是设置了suid位的 你可以ls -l `which passwd`查看一下 也就是普通用户用passswd命令更改自己的秘密的时候 其实也是root权限执行的 但却只能更改自己密码
因此 在passwd的源码里肯定设置了判断当前用户是谁 如果非root 那么就只能修改自己的密码
因为没研究过passwd命令的源码 上面是个人猜测 仅供参考
另外把普通用户加入root组 是不推荐的做法 与其这样做你不如给他root权限
#3
没试过,不过估计是行不通的!
#4
应该不行吧,这都行的话linux的权限管理不成摆设了啊
#5
直接改不行
#6
肯定不行,那你把root改了,不就可以登root了,
普通用户应该没有权限写,甚至读passwd文件,所以要用passwd程序实现。
普通用户应该没有权限写,甚至读passwd文件,所以要用passwd程序实现。
#7
用root把passwd文件权限改了就可以
或者把别的用户怕uid改成0,那就等同于root权限了,也就可以改了
或者把别的用户怕uid改成0,那就等同于root权限了,也就可以改了
#8
恩,加入root组应该实现不了改密码的
#9
用root权限修改吧,sudo权限也不能修改他人密码。
#10
passwd这个文件有特殊权限。
#11
有些操作系统支持角色,更细粒度的权限控制,可以指定一个用户或角色可以运行哪些命令,所以对于修改用户口令这一权力,不一定非得是root。Solaris, AIX较新版本都支持,别的不清楚。
#12
用光盘启动进入LIVECD系统可以进行修改
#13
实现不了。除非使用rescue模式或单用户模式。
#14
不行,sudo也是要root的权限。
#15
根据我的知识是可以改的,将uid和gid都改成0就可以了吧!!
#16
使用Sudo方法是可以解决这个问题的,下面是我的测试:
1.建立测试用户testAcct1和testAcct2(使用testAcct1设置testAcct2的密码)
useradd testAcct1
useradd testAcct2
2.编辑/etc/sudoers文件,允许用户testAcct1执行/usr/bin/passwd
使用visudo -f /etc/sudoers编辑文件(就像使用Vi一样),在文件# User privilege specification下方添加一行:
testAcct1 listenerhost= /usr/bin/passwd
其中listenerhost是我测试的主机名,可能会随测试环境改变而改变。保存退出。
3.使用testAcct1登陆
su - testAcct1
4.testAcct1使用sudo来修改testAcct2的密码
以上的步骤都是为sudo命令作准备的,这一步是关键:
sudo /usr/bin/passwd testAcct2
这一步会要求你首先输入testAcct1的密码,输入验证成功后,会提示你再输入testAcct2的密码(也就是我们要改的密码)下面是我的测试:
[testAcct1@listenerhost ~]$ sudo /usr/bin/passwd testAcct2
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:
#1) Respect the privacy of others.
#2) Think before you type.
Password:
Changing password for user testAcct2.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
5.使用testAcct2登陆测试
su - testAcct2输入4中修改后的密码,成功登陆,其实我们修改密码已经成功。但是,我们还是验证看看:
[testAcct2@listenerhost ~]$ id
uid=503(testAcct2) gid=505(testAcct2) groups=505(testAcct2) context=user_u:system_r:unconfined_t
6.删除测试帐户testAcct1和testAcct2
userdel testAcct1
userdel testAcct2
#17
不可以,
#18
#19
sudo 就是root命令。用root给你修改的权限