以 sudo -i 或 sudo - 身份打开 vim 仍然不允许我写入文件。
尝试更改笔记本电脑上的键盘背光设置时,我得到了此输出;即使使用 sudo,我也无法更改其中的任何内容。即使使用 sudo 打开文件,我也无法更改它并保存它。
10:00:35 @ ・ー ・
cat sys/class/leds/samsung\:\:kbd_backlight/brightness
4
10:01:28 @ ・ー ・
sudo echo '0' > sys/class/leds/samsung\:\:kbd_backlight/
brightness device/ max_brightness power/ subsystem/ trigger uevent
10:01:28 @ ・ー ・
sudo echo '0' > sys/class/leds/samsung\:\:kbd_backlight/brightness
-bash: sys/class/leds/samsung::kbd_backlight/brightness: Permission denied
10:01:58 @ ・ー ・
以下是权限
10:04:15 @ ・ー ・
ll /sys/class/leds/samsung\:\:kbd_backlight/
total 0
drwxr-xr-x 3 root root 0 Oct 22 08:44 ./
drwxr-xr-x 3 root root 0 Oct 22 08:44 ../
-rw-r--r-- 1 root root 4096 Oct 22 08:44 brightness
lrwxrwxrwx 1 root root 0 Oct 22 09:26 device -> ../../../samsung/
-r--r--r-- 1 root root 4096 Oct 22 08:44 max_brightness
drwxr-xr-x 2 root root 0 Oct 22 09:26 power/
lrwxrwxrwx 1 root root 0 Oct 22 09:26 subsystem -> ../../../../../class/leds/
-rw-r--r-- 1 root root 4096 Oct 22 09:26 trigger
-rw-r--r-- 1 root root 4096 Oct 22 08:44 uevent
正如您所猜测的,它确实很烦人,而且还会耗尽我的电池。
答案1
您无法使用 sudo 通过文件描述符进行这样的写入,echo 以 root 身份运行,它生成的输出则不是。您必须使用须藤三通提升访问权限,例如:
echo 1 | sudo tee [path to sysfs]
您甚至可以使用 tee 附加-A切换。我经常使用 ftrace 来做这件事。
echo 'nvme_submit_request' | sudo tee ${TRACE}/set_ftrace_filter
echo 'nvme_isr' | sudo tee -a ${TRACE}/set_ftrace_filter
echo 'nvme_process_sglist' | sudo tee -a ${TRACE}/set_ftrace_filter
答案2
尝试
sudo su -
这会将您更改为 root,然后尝试这种方式。有时我发现这种方式比使用 sudo 拥有更多权限