nautilus 新建文件权限不受 umask 022 控制

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
lon83129
帖子: 6
注册时间: 2023-09-13 4:44
系统: ubuntu

nautilus 新建文件权限不受 umask 022 控制

#1

帖子 lon83129 » 2023-11-17 14:31

用命令建的文件受 umask 022 控制
截图 2023-11-17 14-23-00.png
但是用nautilus新建的文件不受控制
截图 2023-11-17 14-22-40.png
上次由 lon83129 在 2023-11-17 19:21,总共编辑 1 次。
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: nautilus 新建文件权限不受 umask 022 控制

#2

帖子 astolia » 2023-11-17 16:54

版本?在23.10上试了一下是可以的。当然你要在umask的作用范围内运行nautilus才行。进程的umask默认是继承父进程的,一个常见错误原因是,在profile里加了umask,但nautilus的父进程并不会立刻去重新应用profile中的设置,需要你重登录或重启才行
lon83129
帖子: 6
注册时间: 2023-09-13 4:44
系统: ubuntu

Re: nautilus 新建文件权限不受 umask 022 控制

#3

帖子 lon83129 » 2023-11-17 19:24

.bashrc 和 .profile 都加入了,重启N遍了,命令下是完全可以,受控,就是nautilus文件管理器,不受这个参数控制
lon83129
帖子: 6
注册时间: 2023-09-13 4:44
系统: ubuntu

Re: nautilus 新建文件权限不受 umask 022 控制

#4

帖子 lon83129 » 2023-11-17 19:38

Ubuntu 22.04.3 LTS x86_64
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: nautilus 新建文件权限不受 umask 022 控制

#5

帖子 astolia » 2023-11-17 20:57

lon83129 写了: 2023-11-17 19:24 .bashrc 和 .profile 都加入了,重启N遍了,命令下是完全可以,受控,就是nautilus文件管理器,不受这个参数控制
对你这个结论的一个简单的反例是,你把现有的nautilus进程全部终结掉,再到终端下运行nautilus,就可以看到umask起效了。

现在的gnome桌面上运行程序,实际是由systemd --user来干的,而systemd不会去理这两个文件。要想设置针对当前用户的umask,可以这么干

代码: 全选

systemctl --user edit dbus
或者可以直接创建~/.config/systemd/user/dbus.service.d/override.conf文件,加入如下内容

代码: 全选

[Service]
UMask=0077
再重登录下就行
lon83129
帖子: 6
注册时间: 2023-09-13 4:44
系统: ubuntu

Re: nautilus 新建文件权限不受 umask 022 控制

#6

帖子 lon83129 » 2023-11-18 1:09

0077
不是0022???
lon83129
帖子: 6
注册时间: 2023-09-13 4:44
系统: ubuntu

Re: nautilus 新建文件权限不受 umask 022 控制

#7

帖子 lon83129 » 2023-11-18 1:24

astolia 写了: 2023-11-17 20:57
lon83129 写了: 2023-11-17 19:24 .bashrc 和 .profile 都加入了,重启N遍了,命令下是完全可以,受控,就是nautilus文件管理器,不受这个参数控制
对你这个结论的一个简单的反例是,你把现有的nautilus进程全部终结掉,再到终端下运行nautilus,就可以看到umask起效了。

现在的gnome桌面上运行程序,实际是由systemd --user来干的,而systemd不会去理这两个文件。要想设置针对当前用户的umask,可以这么干

代码: 全选

systemctl --user edit dbus
或者可以直接创建~/.config/systemd/user/dbus.service.d/override.conf文件,加入如下内容

代码: 全选

[Service]
UMask=0077
再重登录下就行

正解,换成我想要的0022,O了那个K :Haha
回复