zswap的enabled默认是只读权限?什么情况?

最大的社区版本,Ubuntu的发源地
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

zswap的enabled默认是只读权限?什么情况?

#1

帖子 科学之子 » 2016-04-30 18:06

zswap的enabled默认是只读权限?什么情况?
好在运行时还可以更改它的权限,更改为读写权限就正常了.
但奇怪的是它为什么默认是只读权限?

这算是个Bug?

代码: 全选

root@debian:/etc/init.d# echo 1 > /sys/module/zswap/parameters/enabled
-bash: /sys/module/zswap/parameters/enabled: Permission denied
权限使用sudo -i获得的
whoami显示的也是"root"
记得以前sysfs这么弄对zram都有效果,怎么换到zswap就出问题了?

mount挂载信息(不太熟悉mount,但根据我的经验看起来没问题?)

代码: 全选

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
奇怪,怎么enabled是只读?

代码: 全选

root@debian:/sys/module/zswap/parameters# ls -l
total 0
-r--r--r-- 1 root root 4096 Apr 30 18:02 compressor
-r--r--r-- 1 root root 4096 Apr 30 18:00 enabled
-rw-r--r-- 1 root root 4096 Apr 30 18:02 max_pool_percent
上次由 科学之子 在 2016-04-30 20:23,总共编辑 4 次。
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: zswap的enabled是只读?什么情况?

#2

帖子 poloshiao » 2016-04-30 18:41

root@debian:/etc/init.d# echo 1 > /sys/module/zswap/parameters/enabled
权限使用sudo -i获得的
whoami显示的也是"root"
許多新手 看到 root 擁有所有的權限 急著換成 root 因為 再也沒有什麼阻礙了
一段時間以後 發現 root 反而礙事 特別是 執行 userspace 程式時

參見
https://en.wikipedia.org/wiki/Zswap
Using zram requires additional configuration in userspace, using the mkswap and swapon command-line utilities, so the RAM-based swap device provided by zram is initialized and configured to be used.

試試
不要切換成 root 除非使用手冊指定你要如此作

進一步參考
https://en.wikipedia.org/wiki/User_space
User space
Kernel space
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: zswap的enabled是只读?什么情况?

#3

帖子 科学之子 » 2016-04-30 18:44

poloshiao 写了:
root@debian:/etc/init.d# echo 1 > /sys/module/zswap/parameters/enabled
权限使用sudo -i获得的
whoami显示的也是"root"
許多新手 看到 root 擁有所有的權限 急著換成 root 因為 再也沒有什麼阻礙了
一段時間以後 發現 root 反而礙事 特別是 執行 userspace 程式時

參見
https://en.wikipedia.org/wiki/Zswap
Using zram requires additional configuration in userspace, using the mkswap and swapon command-line utilities, so the RAM-based swap device provided by zram is initialized and configured to be used.

試試
不要切換成 root 除非使用手冊指定你要如此作
sysfs写操作,一般常识都是要root吧?
不过这里问题好像是zswap的sysfs中的文件权限被设置成只读了
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: zswap的enabled是只读?什么情况?

#4

帖子 poloshiao » 2016-04-30 18:46

sysfs写操作,一般常识都是要root吧?
不过这里问题好像是zswap的sysfs中的文件权限被设置成只读了
先參考
user space
kernel space
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: zswap的enabled是只读?什么情况?

#5

帖子 科学之子 » 2016-04-30 18:54

poloshiao 写了:
sysfs写操作,一般常识都是要root吧?
不过这里问题好像是zswap的sysfs中的文件权限被设置成只读了
先參考
user space
kernel space
感谢提醒,一直对user space和kernel space模棱两可
我搜到了这个资料:
http://blog.chinaunix.net/uid-26838492-id-3162146.html
用户空间和内核空间好像是二进制代码层面上的东西,感觉和我这个问题没什么关系
不知理解是否正确?或您有不同看法?
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: zswap的enabled默认是只读权限?什么情况?

#6

帖子 poloshiao » 2016-04-30 19:08

看看 這一篇 有細膩的介紹
http://www.linuxdevcenter.com/pub/a/lin ... _root.html
Increasingly, Unix-like operating systems take the approach of going as far as to disable the root account and to use privilege-gaining tools such as sudo to give normal users the ability to run programs as the root user when required.
越來越多的作業系統 採取儘可能的方式 關閉 root 帳號 然後使用 獲取 root 權限的方式 例如 sudo 來執行程式
rosynirvana
帖子: 893
注册时间: 2011-02-14 17:46

Re: zswap的enabled是只读?什么情况?

#7

帖子 rosynirvana » 2016-04-30 19:09

因为正确的启动方式是用modprobe
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: zswap的enabled默认是只读权限?什么情况?

#8

帖子 poloshiao » 2016-04-30 19:17

http://blog.chinaunix.net/uid-26838492-id-3162146.html
用户空间和内核空间好像是二进制代码层面上的东西,感觉和我这个问题没什么关系
不知理解是否正确?或您有不同看法?
1. https://zh.wikipedia.org/wiki/%E4%BD%BF ... A%E9%96%93
在作業系統中,虛擬記憶體通常會被分成使用者空間(英语:User space,又譯為使用者空间),與核心空間(英语:Kernel space,又譯為內核空間)這兩個區段。
這是記憶體保護機制中的一環。內核、核心擴充(kernel extensions)、以及驅動程式,運行在核心空間上。而其他的應用程式,則運行在使用者空間上。所有運行在使用者空間的應用程式,都被統稱為用戶級(userland)。

2. 內核空間 需要 root 權限 應該沒有爭議
使用者空間 供 應用程式使用 其權限由各應用程式安排 最好詳讀各應用程式說明文件
許多使用者空間的 應用程式 指定 uid 必須大於 0 的某個整數 例如 501
這樣的程式 root 登入 就樣樣走不通
2-1. uid 參見
https://www.debian.org/doc/debian-polic ... .html#s9.2
Users and groups
這是 Debian 的使用手冊 裡面就舉了許多例子 規定 uid > 0
rosynirvana
帖子: 893
注册时间: 2011-02-14 17:46

Re: zswap的enabled是只读?什么情况?

#10

帖子 rosynirvana » 2016-04-30 19:26

科学之子 写了:
rosynirvana 写了:因为正确的启动方式是用modprobe
https://www.kernel.org/doc/Documentation/vm/zswap.txt
但这个文档上面丝毫没说modprobe的事情
看地址,貌似还是挺权威的文档.
:Aadterboom
我的意思是,在有专用的command line tool的时候,为什么还要用直接改sysfs这种tricky的方法?
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: zswap的enabled默认是只读权限?什么情况?

#11

帖子 vickycq » 2016-04-30 19:31

https://lkml.org/lkml/2015/6/2/712
这个 patch 添加了 Enabling/disabling zswap at runtime 功能。楼主使用的内核是否包含此功能?
如果是 jessie 的默认内核,未必有此功能。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: zswap的enabled是只读?什么情况?

#12

帖子 科学之子 » 2016-04-30 19:36

rosynirvana 写了:
科学之子 写了:
rosynirvana 写了:因为正确的启动方式是用modprobe
https://www.kernel.org/doc/Documentation/vm/zswap.txt
但这个文档上面丝毫没说modprobe的事情
看地址,貌似还是挺权威的文档.
:Aadterboom
我的意思是,在有专用的command line tool的时候,为什么还要用直接改sysfs这种tricky的方法?
因为内核文档里是这么写的...
感觉看内核文档会比较靠谱
再说zswap还有工具?只听说过zram-config,没听说过zswap还有什么命令工具
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: zswap的enabled是只读?什么情况?

#13

帖子 vickycq » 2016-04-30 19:44

---
上次由 vickycq 在 2016-04-30 19:52,总共编辑 1 次。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: zswap的enabled默认是只读权限?什么情况?

#14

帖子 poloshiao » 2016-04-30 19:45

root@debian:/etc/init.d# echo 1 > /sys/module/zswap/parameters/enabled
-bash: /sys/module/zswap/parameters/enabled: Permission denied
https://wiki.archlinux.org/index.php/Zs ... ling_zswap
You can enable zswap at runtime by executing the following command as root:
echo 1 > /sys/module/zswap/parameters/enabled

在許多 Linux 或 Unix-Like 作業系統
列出來的指令 通常告訴你 as root (指 root 權限)
但是沒有說 必須是使用 root 身份 (uid=0)

ubuntu 則比較明確 在幾乎大部分的文章 如果需要 as root 都會在指令前面加 sudo 因為 Ubuntu 預設 關閉 root 登入
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: zswap的enabled默认是只读权限?什么情况?

#15

帖子 科学之子 » 2016-04-30 20:10

vickycq 写了:https://lkml.org/lkml/2015/6/2/712
这个 patch 添加了 Enabling/disabling zswap at runtime 功能。楼主使用的内核是否包含此功能?
如果是 jessie 的默认内核,未必有此功能。
您搜索的关键词是什么呢?
我根据您的提示搜索"zswap runtime"
没有找到您的结果,但找到了另一个结果
https://lkml.org/lkml/2013/7/22/515
这个结果貌似说明jessie默认内核很可能具有这个功能,因为这个补丁其实很早就出来了
回复