教程

管理文件权限(图形、命令、改变文件权限、umask介绍等)- 文件管理 - Deepin深度系统用户手册

方砖大叔
08月27日 13:55
此文约为1793字,阅读需要5分钟

管理文件权限(图形、命令、改变文件权限、umask介绍等)- 文件管理 - Deepin深度系统用户手册

图形管理

终端执行:

sudo nautilus
即可打开带root权限的文件管理器(此为鹦鹉螺),右键需要更改权限的文件或者目录的属性,即可以简单的改变文件权限。注意:请务必小心使用以root权限打开的文件管理器!

命令管理

改变属主和属组

要更改文件拥有者,可使用chown命令或者chgrp命令.

chown命令可修改文件的属主,chgrp命令可修改文件的属组,终端输入:

sudo chown root /etc/passwd ##改变/etc/passwd的属主改为root 

sudo chgrp wheel /etc/passwd ##改变/etc/passwd的属组改为wheel chown命令可同时修改文件的属主和数组,属主和数组之间需要用.来分隔,终端输入: 

 sudo chown root.wheel /etc/passwd ##改变/etc/passwd的属主改为root,并且改变属组改为wheel递归所有权更改.

chown命令和chgrp命令都有一个-R选项来使其对于一个目录树来实现递归更改。例如终端输入:

sudo chown -R root /home/drobbins ##改变/home/drobbins目录下所有文件的属主为root 

sudo chgrp -R wheel /home/drobbins ##改变/home/drobbins目录下所有文件的属组为wheel

改变文件权限

更改文件权限

你可以使用chmod命令去改变文件与目录的权限,设置方式可以使用字符或数字两种方式。 

使用语法:

chmod [-cfvR] [--help] [--version] mode file...

权限范围的表示法如下:

u:User,即文件或目录的拥有者。 

g:Group,即文件或目录的所属群组。 

o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。 

a:All,即全部的用户,包含拥有者,所属群组以及其他用户。

权限代号表示法如下:

r:读取权限,数字代号为"4"。 

w:写入权限,数字代号为"2"。 

x:执行或切换权限,数字代号为"1"。 

-:不具任何权限,数字代号为"0"。 

s:特殊权限。 

t: 粘滞位,仅对目录有效。

更多选项请看man文档,终端输入

man chmod

例子解释:

范例一 :

chmod ugo+r file1.txt ##将文件file1.txt 设为所有人皆可读取 

 chmod a+r file1.txt  ##将文件file1.txt 设为所有人皆可读取 

 chmod ug+w,o-w file1.txt file2.txt ##将文件file1.txt与file2.txt设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 

 chmod u+x ex1   ##将ex1.设定为只有该档案拥有者可以执行 

 chmod -R a+r *   ##将目前目录下的所有文件与子目录皆设为任何人可读取 chmod u+s 

sqlplus  ##当其他用户执行oracle的sqlplus这个程序时,他的身份因这个程序暂时变成oracle

注释:语法为:chmod abc file,chmod也可以用数字来表示权限如 chmod 777 file,其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

范例二:

chmod a=rwx file 等于 chmod 777 file chmod ug=rwx,o=x file 等于 chmod 771 file chmod 4755 filename ##可使filename程序具有root的权限

范例三:

如果在终端输入:

cd /media/amasun/java/develop/array chmod 777 ./
是将本目录(即/media/amasun/java/develop/array)设为任何人可读,写,执行,如果是管理员也就是常说的ROOT用户的话,基本上有可以查看所有文件的权力.

重设文件权限

chmod命令可以重设权限,使用=算符,我们可以告诉 chmod 我们只想要指定的权限: 例子解释:

字符方式:

chmod =rx scriptfile.sh 

设置scriptfile.sh文件具有读与执行的权限,取消写入权限

设定重设特定的用户的权限,终端输入:

chmod u=rx scriptfile.sh 

##设置scriptfile.sh文件的属主具有具有读与执行的权限,取消写入权限

数字方式

在你想要为某个文件指定权限时,数字权限句法尤其有用,如下面的例子:

$ chmod 0755 scriptfile.sh $ ls -l scriptfile.sh -rwxr-xr-x 1 drobbins drobbins 0 Jan 9 17:44 scriptfile.sh

在本例中,我们使用了模式0755,展开为 rwxr-xr-x 的权限设置。

系统默认文件权限

umask介绍

当一进程创建一个新文件,它指定了给新文件的权限。这个模式经常为0666(所有用户可读写),这个权限非常不安全,但是Linux会在一文件创建时查询一个叫做umask的东西。 系统使用umask值来使原指定权限更合理安全。你可以在命令行键入umask来查看当前的umask设置,终端输入:

$ umask 0022
在Linux系统上umask通常默认为0022,umask会有4组数字:第一组(0)是特殊权限用的,可以先不理会 第二组(022)是正常用户使用的,我们具体解说此处

那么在系统默认的umask下:

我们创建的文件的权限为0666(最大权限)-umask(0022)=0644,所以我们创建的文件夹的权限为0777-0022=0755。 我们创建的文件的权限为0777(最大权限)-umask(0022)=0755,所以我们创建的文件夹的权限为0777-0022=0755。

注释:

若用户建立为文件则默认没有可执行(x)项目”,即只有rw这两个项目,也就是最大为0666,默认属性为:-rw-rw-rw-

若用户建立为目录,则由于x与是否可以进入此目录有关,因此默认为所有权限均开放,即为0777,默认属性为:drwxrwxrwx

umask设置

为使新文件更安全,我们更改umask设置为0077,终端输入:

umask 0077
此时umask对文件则为0066,对文件夹则为0077,那么设置完成后: 我们创建的文件的权限为0600 我们创建的文件夹的权限为0700
发表评论
评论列表
共0条
点击加载更多