ubuntu 之权限修改问题(二)

本文详细介绍了在Ubuntu系统中修复sudo权限失效的问题,包括进入recovery模式、修改文件权限等步骤,最终通过pkexec命令成功解决问题。
今天我在我的笔记本上装了ubuntu,又犯了同样的错误,就是使用了如下命令:
sudo su
password
cd usr/bin
chmod 777 * -R
结果我的sudo又不能用了,提示sudo:must be setuid root
在网上搜到如下方法:
ls -l /usr/bin/sudo
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
reboot
我测试后的结论是,这个方法是可行的,但没有说清楚,需要有root的执行权限,如果不能以root身份登陆,

则需要进入到recovery模式,进入方法为:在开机的过程中按shift或ESC键,我ubuntu12.04系统是shift键。

然后在grub菜单中选择第二个启动项,进入到下一个选择列表界面后,再选中有root字样的一项,按回车,

此时,已经进入到具有root权限的字符界面。输入上述命令,如果问题已解决,那大功告成,可以跳过下面内容


我又遇到一个新问题,在此字条界面输入上面的

chown root:root /usr/bin/sudo

chmod
4755 /usr/bin/sudo时,执行失败,

提示read-only
file system,然后又上网找,找了N久,测了很多方法,最后找到一个重新挂载/目录以及指定其读写权限的命令。命令如下:

mount
-o remount,rw /

网址:http://www.linuxquestions.org/questions/linux-general-1/cannot-edit-fstab-in-recovery-mode-filesystem-is-read-only-540195/

然后再输入上述命令

chown root:root /usr/bin/sudo

chmod 4755 /usr/bin/sudo

可以了,执行成功。输入ls -l /usr/bin/sudo验证修改是否成功,结果显示已经修改了。

以为问题解决了,高兴的输入reboot命令重启。

悲吹的一幕出现了,输入sudo还是有问题,

提示“sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner”,又得开始 google了,

找到一个方法是说输入命令:(当然要进入recovery模式)

pkexec chmod go-w /usr/lib/sudo/sudoers.so

网址如下:http://blog.youkuaiyun.com/huangmou37/article/details/8259724

但我输入该命令时,执行失败,忘了提示什么错误信息了。

该问题的原因为自己错误的修改了/usr目录下的所有权限,那上述命令是不是更改回来的权限不够呢

于是想到了修改 /usr/lib/sudo/sudoers.so文件的权限,输入命令

 chmod 4755 /usr/lib/sudo/sudoers.so

然后reboot,输入sudo命令可以了。。。。。。。

转载于:https://my.oschina.net/yusi/blog/509867

### 如何在 Ubuntu 中使用 `chmod` 修改文件权限 #### 基本语法 在 Ubuntu 系统中,可以通过 `chmod` 命令修改文件或目录的权限。其基本语法如下: ```bash chmod [who][operator][permission] file ``` 其中: - `[who]`: 表示要更改哪些用户的权限。选项包括 `u`(用户)、`g`(所属组)、`o`(其他用户) 和 `a`(所有人,默认值)[^1]。 - `[operator]`: 运算符用于指定如何调整权限。可用的操作符有 `+`(添加权限)、`-`(移除权限) 和 `=`(设定精确权限)。 - `[permission]`: 权限标志位分别是 `r`(读取)、`w`(写入) 和 `x`(执行)[^1]。 例如,如果想给文件 `example.txt` 添加所有者的写权限,则运行以下命令: ```bash chmod u+w example.txt ``` #### 数字模式 除了上述符号模式外,还可以通过八进制数字定义权限。每种权限对应一个数值:`r`=4, `w`=2, `x`=1。将这些值相加即可得到所需的组合权限[^3]。比如赋予文件完全控制权(即读、写和执行),则应设为 7 (`4+2+1`);只允许阅读而不准编辑或运行的话就只需赋值为 4。 对于整个目录及其内部的内容递归应用相同权限设置的例子如下所示: ```bash sudo chmod -R 777 /path/to/directory/ ``` 这条指令会把 `/path/to/directory/` 下面所有的子文件夹以及里面的每一个单独项目都开放给任何访问者去查看、改变或者删除它们——这通常仅适用于调试目的,在生产环境中不推荐这样做因为存在安全隐患[^2]。 完成必要的操作之后,出于安全性考虑应当重新收紧该路径下的存取限制,像这样恢复较为严格的配置: ```bash sudo chmod -R 750 /path/to/directory/ ``` 这里意味着只有拥有者能够全面操控资源 (7),而同组成员和其他人都只能浏览内容但无法做进一步改动 (5=4+1)[^4]。 #### 更改所有权与群组归属 虽然题目主要讨论的是关于 `chmod` 的运用方法论,但是值得一提的是有时候单纯调整许可还不够解决问题所在,可能还需要配合另一个工具叫做 `chown` 来转移对象的所有关系或者是更换关联群体名称标签以便更好地管理共享存储空间内的资料结构布局安排情况等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值