麒麟OS限制目录写入应优先用chmod 555设基础只读权限;其次可组合chown专用用户、挂载选项remount,ro、ACL显式拒绝或安全中心图形策略。

如果您需要在麒麟操作系统中限制对某个目录的写入操作,以增强数据安全性或防止误修改,则可能是由于该目录承载关键配置、日志或共享资源。以下是设置目录只读权限的具体操作步骤:
一、使用chmod命令设置目录基础只读权限
该方法通过标准Linux权限模型,将目录权限设为仅允许读取与进入(执行),禁止写入,适用于大多数静态资源目录的保护场景。
1、打开终端,执行ls -ld /path/to/directory确认当前目录权限及归属。
2、执行sudo chmod 555 /path/to/directory,使所有者、所属组及其他用户均具备读和执行权限,但无写权限。
3、执行sudo chmod 550 /path/to/directory,仅允许所有者与所属组读取和进入,其他用户完全无访问权限。
4、若需递归应用至目录内全部子项,执行sudo chmod -R 555 /path/to/directory,注意此操作不影响文件的执行位含义,仅控制访问能力。
二、使用chown与chmod组合实现属主只读隔离
该方法先将目录所有权转移至专用管理账户,再限制其写权限,从而在不改变现有用户权限结构的前提下,实现逻辑上的只读锁定。
1、创建专用只读管理用户:sudo adduser --disabled-password --gecos "" readonlymgr。
2、将目标目录所有者更改为该用户:sudo chown readonlymgr:readonlymgr /path/to/directory。
3、设置目录权限为555:sudo chmod 555 /path/to/directory。
4、确保当前操作用户不在readonlymgr组中,避免因组权限获得意外写入能力。
三、通过挂载选项强制只读挂载目录所在文件系统
该方法作用于整个挂载点,从内核层面禁止任何写操作,适用于需绝对保障不可变性的目录(如固件库、审计日志根目录)。
1、确认目录所在设备:df /path/to/directory | tail -1 | awk '{print $1}'。
2、查看当前挂载参数:findmnt -n -o OPTIONS /path/to/directory。
3、临时重新挂载为只读:sudo mount -o remount,ro /path/to/directory。
4、如需永久生效,编辑/etc/fstab,在对应设备行末尾添加,ro选项,并确保该行第4字段含defaults,ro或明确指定ro。
四、启用ACL并显式拒绝写权限
该方法在保留原有权限基础上,为特定用户或组单独添加拒绝(deny)规则,适合多用户协作环境中对个别账户实施精准只读约束。
1、确认文件系统支持ACL:mount | grep "$(df . | tail -1 | awk '{print $1}')" | grep acl,输出含acl即有效。
2、为指定用户显式拒绝写权限:sudo setfacl -m u:targetuser:--- /path/to/directory。
3、为指定组拒绝写及执行权限:sudo setfacl -m g:targetgroup:r-- /path/to/directory。
4、验证ACL是否生效:getfacl /path/to/directory,检查输出中是否存在user:targetuser:---条目。
五、通过安全中心图形界面配置目录访问策略
该方法面向非命令行用户,利用麒麟桌面环境内置安全模块对挂载路径实施策略级只读管控,尤其适用于U盘、移动硬盘等外设挂载点。
1、点击开始菜单,启动安全中心。
2、进入设备安全 → 高级配置。
3、定位到USB移动存储或本地磁盘挂载策略模块。
4、在对应目录挂载路径的策略项中,将访问模式由读写切换为只读,并保存配置。
5、重新插拔设备或执行sudo systemctl restart kylin-device-manager使策略即时生效。


















