权限概述
什么是Linux权限
在Linux
系统中,权限是控制用户对文件或目录进行访问的一种机制。这种权限定义了谁可以访问文件,以及他们可以做什么。
为什么要有权限
保护文件和目录:通过权限设置,可以保护系统的文件和目录不被未授权的用户访问或修改,从而确保系统安全。
防止误操作:对于一些敏感的文件或目录,通过设置权限,可以防止误删除或误修改,从而避免意外情况的发生。
如何查看权限
在Linux
系统中,针对文件定义了三种身份,分别是属主(owner
)、属组(group
)、其他人(others
),每一种身份又对应三种权限,分别是可读(readable
)、可写(writable
)、可执行(excutable
)。
1
2
|
[root@localhost ~]# ll
drwxrwxrwx. 2 root root 16 Aug 6 19:52 test
|
用户对文件资源,有三种角色ugo
,当一个用户访问文件流程如下:
- 判断用户是否为文件所有者,如果是则按所有者的权限进行访问。
- 判断用户是否为文件所有组成员,如果是则按组的权限进行访问。
- 如果不是所有者,也不是该文件所属组,则按匿名权限进行访问。
权限中rwx的含义
字母 |
含义 |
对应权限 |
r(read) |
读取权限 |
4 |
w(write) |
写入权限 |
2 |
x(execute) |
执行权限 |
1 |
-(占位符) |
没有权限 |
0 |
权限设置
chmod命令
chmod
命令用于改变文件或目录的权限,可以使用数字或符号模式来指定权限。
数字模式:数字模式使用三位数字来表示所有者、组和其他用户的权限,每位数字的范围是0
到7
。通过数字模式对file.txt
权限进行变更。
1
2
3
4
5
|
root@localhost ~]# ll file.txt
-rw-r--r-- 1 root root 0 Dec 18 07:52 file.txt
[root@localhost ~]# chmod 640 file.txt
[root@localhost ~]# ll file.txt
-rw-r----- 1 root root 0 Dec 18 07:52 file.txt
|
符号模式:符号模式使用字母r
、w
和x
来表示读、写和执行权限。通过符号模式,恢复file.txt
的权限。
1
2
3
4
5
|
[root@localhost ~]# ll file.txt
-rw-r----- 1 root root 0 Dec 18 07:52 file.txt
[root@localhost ~]# chmod u=rw,g=r,o=r file.txt
[root@localhost ~]# ll file.txt
-rw-r--r-- 1 root root 0 Dec 18 07:52 file.txt
|
符号模式还可以使用+
来添加权限,-
来移除权限。
1
2
3
4
5
6
7
8
|
[root@localhost ~]# ll file.txt
-rw-r--r-- 1 root root 0 Dec 18 07:52 file.txt
[root@localhost ~]# chmod a+x file.txt
[root@localhost ~]# ll file.txt
-rwxr-xr-x 1 root root 0 Dec 18 07:52 file.txt
[root@localhost ~]# chmod o-x file.txt
[root@localhost ~]# ll file.txt
-rwxr-xr-- 1 root root 0 Dec 18 07:52 file.txt
|
chmod
常用的选项有-R
,表示递归地改变文件或目录的权限。
1
2
3
4
5
6
7
8
9
|
[root@localhost ~]# mkdir -p testdir/dir1
[root@localhost ~]# touch testdir/file
# 递归修改文件权限
[root@localhost ~]# chmod -R 700 testdir/
# 验证权限
[root@localhost ~]# ll testdir/
total 0
drwx------ 2 root root 6 Dec 19 23:09 dir1
-rwx------ 1 root root 0 Dec 19 23:09 file
|
权限验证
在Linux
中权限对文件和对目录的影响是有不同区别的,取别如下表:
权限 |
对文件的影响 |
对目录的影响 |
r |
具有读取文件内容权限。 |
具有浏览目录及子目录的权限。 |
w |
具有修改文件内容的权限。 |
具有增加和删除目录内文件权限。 |
x |
具有执行文件的权限。 |
具有进入目录的权限。 |
文件权限验证
准备一个普通用户和一个文件。文件不要放到用户家目录中。
1
2
3
4
5
6
7
|
[root@localhost ~]# id snoopy
uid=5106(snoopy) gid=5107(snoopy) groups=5107(snoopy)
[root@localhost ~]# touch /opt/file.txt
[root@localhost ~]# echo "date" > /opt/file.txt
[root@localhost ~]# ll /opt/file.txt
-rw-r--r-- 1 root root 10 Dec 18 08:08 /opt/file.txt
|
r
权限: 切换到普通用户,当用户对文件只有r的权限时,用户仅能查看文件,无法对文件进行修改、复制、删除等更多的操作。
可用的命令有:cat
、more
、less
、head
、tail
。
[snoopy@localhost opt]$ ll file.txt
-rw-r--r-- 1 root root 10 Dec 18 08:08 file.txt
[snoopy@localhost opt]$ cat file.txt
date
w
权限:可以对文件进行写入操作,但是不能查看或者进行其他操作。
1
2
3
4
5
6
|
[snoopy@localhost opt]$ ll file.txt
-rw-r---w- 1 root root 10 Dec 18 08:08 file.txt
# 仅可做写入操作。
[snoopy@localhost opt]$ echo "date" >> file.txt
[snoopy@localhost opt]$ cat file.txt
cat: file.txt: Permission denied
|
x
权限:普通用户执行x
权限时,同时需要具有r
权限,否则不能执行成功。
1
2
3
4
|
[snoopy@localhost opt]$ ll file.txt
-rw-r----x 1 root root 5 Dec 18 08:13 file.txt
[snoopy@localhost opt]$ ./file.txt
bash: ./file.txt: Permission denied
|
rw
权限:可对文件进行读写,但是不能进行执行、复制、移动、删除等操作。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[snoopy@localhost opt]$ ll file.txt
-rw-r--rw- 1 root root 5 Dec 18 08:13 file.txt
# 可编辑查看文件。
[snoopy@localhost opt]$ vim file.txt
[snoopy@localhost opt]$ cat file.txt
date
date
date
# 不可执行文件或操作文件。
[snoopy@localhost opt]$ ./file.txt
-bash: ./file.txt: Permission denied
[snoopy@localhost opt]$ cp file.txt file.txt.bak
cp: cannot create regular file ‘file.txt.bak’: Permission denied
|
rx
权限:可进行查看和执行操作,但是不能编辑、移动、删除等。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
[snoopy@localhost opt]$ ll file.txt
-rw-r--r-x 1 root root 15 Dec 18 08:44 file.txt
# 可以查看或执行文件
[snoopy@localhost opt]$ cat file.txt
date
date
date
[snoopy@localhost opt]$ ./file.txt
Mon Dec 18 08:47:51 CST 2023
Mon Dec 18 08:47:51 CST 2023
Mon Dec 18 08:47:51 CST 2023
# 不能编辑文件
[snoopy@localhost opt]$ echo "hello" > file.txt
-bash: file.txt: Permission denied
# 不能操作文件
[snoopy@localhost opt]$ cp file.txt file.txt.bak
cp: cannot create regular file ‘file.txt.bak’: Permission denied
[snoopy@localhost opt]$ rm -f file.txt
rm: cannot remove ‘file.txt’: Permission denied
|
rwx
权限:能查看、编辑、执行文件,但是不能对文件进行删除、移动、复制等操作。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[snoopy@localhost opt]$ ll file.txt
-rw-r--rwx 1 root root 15 Dec 18 08:44 file.txt
# 可以编辑或执行文件
[snoopy@localhost opt]$ vim file.txt
[snoopy@localhost opt]$ ./file.txt
Mon Dec 18 08:59:24 CST 2023
Mon Dec 18 08:59:24 CST 2023
Mon Dec 18 08:59:24 CST 2023
# 不能对文件删除复制等
[snoopy@localhost opt]$ cp file.txt file.txt.bak
cp: cannot create regular file ‘file.txt.bak’: Permission denied
[snoopy@localhost opt]$ rm -f file.txt
rm: cannot remove ‘file.txt’: Permission denied
|
目录权限验证
r
权限:具有浏览目录的权限,无法进入目录。使用ls
查看目录下的文件会报错,但会显示文件名称,如果使用 ls -l
只能看到文件名称,其他的全部无法查看。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[snoopy@localhost /]$ ll -d /opt
drwxr-xr--. 2 root root 22 Dec 18 08:07 /opt
# 可以查看目录内容。
[snoopy@localhost /]$ ls /opt/
ls: cannot access /opt/file.txt: Permission denied
file.txt
[snoopy@localhost /]$ ls -l /opt/
ls: cannot access /opt/file.txt: Permission denied
total 0
-????????? ? ? ? ? ? file.txt
# 不能做其他操作。
[snoopy@localhost /]$ cd /opt/
-bash: cd: /opt/: Permission denied
[snoopy@localhost /]$ rm -rf /opt/
rm: cannot remove ‘/opt/file.txt’: Permission denied
|
w
权限:单独的w
权限不能进行任何操作。
1
2
3
4
5
6
7
8
9
|
[snoopy@localhost /]$ ll -d /opt/
drwxr-x-w-. 2 root root 22 Dec 18 08:07 /opt/
# 不能做任何操作。
[snoopy@localhost /]$ cd /opt/
-bash: cd: /opt/: Permission denied
[snoopy@localhost /]$ ls /opt/
ls: cannot open directory /opt/: Permission denied
[snoopy@localhost /]$ mv /opt/file.txt /opt/file.txt.bak
mv: failed to access ‘/opt/file.txt.bak’: Permission denied
|
x
权限:可以进入目录,不能操作其他东西。
1
2
3
4
5
6
7
8
9
|
[snoopy@localhost /]$ ll -d /opt/
drwxr-x--x. 2 root root 22 Dec 18 08:07 /opt/
# 可以进入目录。
[snoopy@localhost /]$ cd /opt/
# 不能查看目录内容或操作文件。
[snoopy@localhost opt]$ ls
ls: cannot open directory .: Permission denied
[snoopy@localhost opt]$ rm -f file.txt
rm: cannot remove ‘file.txt’: Permission denied
|
rx
权限:能进入目录,能查看目录下的文件。至于操作文件,需要看文件本身的权限。不能进行新建文件、目录等操作。
1
2
3
4
5
6
7
8
9
10
11
12
|
[snoopy@localhost /]$ ll -d /opt/
drwxr-xr-x. 2 root root 22 Dec 18 08:07 /opt/
# 可以进入目录并查看文件列表。
[snoopy@localhost /]$ cd /opt/
[snoopy@localhost opt]$ ll
total 4
-rw-r--rwx 1 root root 10 Dec 18 08:59 file.txt
# 不能新建文件或目录
[snoopy@localhost opt]$ touch file1.txt
touch: cannot touch ‘file1.txt’: Permission denied
[snoopy@localhost opt]$ mkdir test
mkdir: cannot create directory ‘test’: Permission denied
|
rw
权限:只能查看目录内文件列表。
1
2
3
4
5
6
7
8
9
10
11
12
|
[snoopy@localhost /]$ ll -d /opt/
drwxr-xrw-. 2 root root 22 Dec 18 08:07 /opt/
# 可以查看目录内文件列表。
[snoopy@localhost /]$ ll /opt/
ls: cannot access /opt/file.txt: Permission denied
total 0
-????????? ? ? ? ? ? file.txt
# 不能进入目录或操作文件。
[snoopy@localhost /]$ cd /opt/
-bash: cd: /opt/: Permission denied
[snoopy@localhost /]$ touch /opt/file1.txt
touch: cannot touch ‘/opt/file1.txt’: Permission denied
|
rwx
权限:如果目录赋予了w
权限,则该目录下的文件可以复制、删除、移动、修改。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[snoopy@localhost /]$ ll -d /opt/
drwxr-xrwx. 2 root root 22 Dec 18 08:07 /opt/
[snoopy@localhost /]$ ll /opt/file.txt
-rw-r----- 1 root root 10 Dec 18 08:59 /opt/file.txt
# 可以进入目录并修改文件。
[snoopy@localhost /]$ cd /opt/
[snoopy@localhost opt]$ echo "date" > file.txt
[snoopy@localhost opt]$ cat file.txt
date
# 可以复制或删除文件
[snoopy@localhost opt]$ cp file.txt file.txt.bak
[snoopy@localhost opt]$ rm file.txt
[snoopy@localhost opt]$ ls
file.txt.bak
|
文件最多使用的是rw权限和rx权限(文件的权限通常会设置为644)。
目录最多使用的是rx权限(目录的权限通常会设置为755)。
chown命令
chown
可用于更改文件或目录的属主及属组。
修改file.txt
的属主为snoopy
。
1
2
3
4
5
6
|
[root@localhost opt]# ll file.txt
-rw-r--r-- 1 root root 0 Dec 19 22:58 file.txt
root@localhost opt]# chown snoopy file.txt
[root@localhost opt]# ll file.txt
-rw-r--r-- 1 snoopy root 0 Dec 19 22:58 file.txt
|
修改file.txt
的属组为snoopy
。
1
2
3
|
[root@localhost opt]# chown .snoopy file.txt
[root@localhost opt]# ll file.txt
-rw-r--r-- 1 snoopy snoopy 0 Dec 19 22:58 file.txt
|
递归修改目录及目录下所有文件的属主和属组为snoopy
。
1
2
3
4
5
|
[root@localhost opt]# mkdir testdir
[root@localhost opt]# touch testdir/test1
[root@localhost opt]# touch testdir/test2
[root@localhost opt]# chown -R snoopy.snoopy testdir/
|
特殊权限
SUID
在学习SUID
之前,我们先要了解一个重要的概念。
进程能够以何种形式访问文件,取决于运行这个进程的用户对这个文件有没有相应的权限。
比如:需要使用vim
修改/opt/file.txt
,要看运行vim
这条命令的人对/opt/file.txt
用怎么样的权限。
认识SUID
SUID
(Set UID
)是Linux
中的一种特殊权限,无论谁运行具有suid
权限的二进制文件的时候,都可以使得调用者暂时获得该文件"属主"的权限。只有可执行文件才能设定SUID
权限,对目录设定SUID
,是无效的。
我们知道在Linux
中,每个用户可以通过passwd
命令更改自己的密码。密码存放的位置为/etc/shadow
。我们可以查看一下/etc/shadow
的权限。
1
2
|
[root@localhost ~]# ll /etc/shadow
---------- 1 root root 14217 Dec 11 01:36 /etc/shadow
|
通过上结果,我们可以知道任何人对/etc/shawow
都是没有任何权限的。当然root
除外,因为root
在Linux
系统中有着最高的权限。
我们是通过passwd
这个命令来修改密码的,我们可以查看一下passwd
这个命令的权限。
1
2
|
[root@localhost ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27856 Apr 1 2020 /usr/bin/passwd
|
我们发现属主的权限中有个s
(若原先权限为为空的话,会显示S
),这就是SUID
,这表示当任何人想要执行passwd
这条命令时,都会以该命令的属主身份运行该命令。
使用普通用户snoopy
执行passwd
修改密码。
1
2
3
4
|
[snoopy@localhost ~]$ passwd
Changing password for user snoopy.
Changing password for snoopy.
(current) UNIX password:
|
我们发现其实是以root
的身份在运行这条命令,这就是SUID
的作用。
1
2
3
|
[root@localhost ~]# ps -ef | grep passwd
root 1329 1306 0 00:01 pts/0 00:00:00 passwd
root 1365 1334 0 00:01 pts/1 00:00:00 grep --color=auto passwd
|
设置SUID
数字模式:可通过chmod 4XXX filename
对文件设置SUID
权限。
1
2
3
4
5
6
7
8
9
10
|
[root@localhost ~]# ll /usr/bin/cat
-rwxr-xr-x. 1 root root 54080 Aug 20 2019 /usr/bin/cat
# 对文件设置suid
[root@localhost ~]# chmod 4755 /usr/bin/cat
[root@localhost ~]# ll /usr/bin/cat
-rwsr-xr-x. 1 root root 54080 Aug 20 2019 /usr/bin/cat
# 取消suid设置
[root@localhost ~]# chmod 755 /usr/bin/cat
[root@localhost ~]# ll /usr/bin/cat
-rwxr-xr-x. 1 root root 54080 Aug 20 2019 /usr/bin/cat
|
符号模式:可通过chmod u+s filename
或 chmod u-s filename
变更文件的SUID
。
1
2
3
4
5
6
7
8
9
10
|
[root@localhost ~]# ll /usr/bin/cat
-rwxr-xr-x. 1 root root 54080 Aug 20 2019 /usr/bin/cat
# 对文件设置suid
[root@localhost ~]# chmod u+s /usr/bin/cat
[root@localhost ~]# ll /usr/bin/cat
-rwsr-xr-x. 1 root root 54080 Aug 20 2019 /usr/bin/cat
# 取消suid设置
[root@localhost ~]# chmod u-s /usr/bin/cat
[root@localhost ~]# ll /usr/bin/cat
-rwxr-xr-x. 1 root root 54080 Aug 20 2019 /usr/bin/cat
|
SGID
认识SGID
将目录设置为SGID
(Set Group ID
)权限后,如果在该目录下创建文件,都将与该目录的所属组保持一致。
设置SGID
创建用户和组。
1
2
3
|
[root@localhost opt]# groupadd devops
[root@localhost opt]# useradd zhangsan -G devops
[root@localhost opt]# useradd lisi -G devops
|
在/opt
目录下创建一个share
目录,并赋予777
权限,使用zhangsan
和lisi
用户在这个目录下创建文件,并观察其权限。
1
2
|
[root@localhost opt]# mkdir share
[root@localhost opt]# chmod 777 share/
|
可通过chmod 2XXX dirname
对目录设置SGID
权限。
1
2
3
4
5
6
|
[root@localhost opt]# chown .devops share/
[root@localhost opt]# chmod 2777 share
# 也可通过符号模式设置sgid,命令为:
# chmod g+s share/
[root@localhost opt]# ll -d share/
drwxrwsrwx 2 root devops 17 Dec 22 01:01 share/
|
切换用户在share
中创建文件,就会拥有share
属组的权限。
1
2
|
[zhangsan@localhost share]$ ll zs1.txt
-rw-rw-r-- 1 zhangsan devops 0 Dec 22 03:17 zs1.txt
|
这时候,我们发现 zs1.txt
的属组已经变成了devops
。
SBIT
认识SBIT
SBIT
(Sticky Bit
)也叫粘滞位,它仅对目录有效,一旦目录设定了SBIT
权限,用户在此目录下创建的文件或目录,就只有自己和root
才有权利修改或删除该文件。
设置SBIT
可通过chmod 1XXX dirname
对文件设置SBIT
权限。
给share
目录设置粘滞位。
1
2
3
4
5
6
7
|
[root@localhost opt]# ll -d share/
drwxrwxrwx 2 root devops 49 Dec 22 03:20 share/
[root@localhost opt]# chmod 1777 share/
# 也可通过符号模式设置sbit,命令为:
# chmod o+t share/
[root@localhost opt]# ll -d share/
drwxrwxrwt 2 root devops 49 Dec 22 03:20 share/
|
zhangsan
在该目录下创建文件。
1
2
3
|
[zhangsan@localhost share]$ touch z1.txt
[zhangsan@localhost share]$ ll z1.txt
-rw-rw-r-- 1 zhangsan zhangsan 0 Dec 22 04:04 z1.txt
|
lisi
用户虽然对目录share
有足够的权限,但是仍然无法删除z1.txt
。
1
2
|
[lisi@localhost share]$ rm -f z1.txt
rm: cannot remove ‘z1.txt’: Operationz not permittedlisi
|
取消粘滞位后,test
用户可以删除z1.txt
。
1
2
3
4
5
|
[root@localhost opt]# chmod o-t share/
[root@localhost opt]# ll -d share/
drwxrwxrwx 2 root devops 63 Dec 22 04:04 share/
# 使用lisi用户删除文件
[lisi@localhost share]$ rm -f z1.txt
|
隐藏属性
Linux
系统中的文件除了具备一般权限和特殊权限之外,还有一种隐藏权限。
既然叫隐藏权限,那么使用常规的ls
命令肯定不能看到它的真面目。隐藏权限的专用的命令有chattr
和lsattr
。
chattr命令
只有root
用户可以使用,用于修改文件系统的隐藏属性,此权限凌驾于rwx
基础权限之上。
常用的选项如下表:
选项 |
解释 |
i |
锁定文问,任何人无法对文件进行操作。 |
a |
无法写入和删除文件,可追加文件内容。 |
lsattr命令
用于查看文件的特殊属性。
锁定文件
当文件被+i
后,包括root
在内的所有用户无法对文件进行操作。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[root@localhost opt]# touch snoopy.txt
[root@localhost opt]# lsattr snoopy.txt
---------------- snoopy.txt
[root@localhost opt]# chattr +i snoopy.txt
[root@localhost opt]# lsattr snoopy.txt
----i----------- snoopy.txt
# 加了i属性后,文件不可被删除。
[root@localhost opt]# rm -f snoopy.txt
rm: cannot remove ‘snoopy.txt’: Operation not permitted
# 文件不可被修改。
[root@localhost opt]# echo "hello" >> snoopy.txt
-bash: snoopy.txt: Permission denied
# 取消i属性。
[root@localhost opt]# chattr -i snoopy.txt
[root@localhost opt]# lsattr snoopy.txt
---------------- snoopy.txt
|
限制文件仅可追加内容
文件使用了+a
选项后,仅可追加文件内容,不可进行其他任何操作。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[root@localhost opt]# chattr +a snoopy.txt
[root@localhost opt]# lsattr snoopy.txt
-----a---------- snoopy.txt
# 加了a属性后,文件不可被删除。
[root@localhost opt]# rm -f snoopy.txt
rm: cannot remove ‘snoopy.txt’: Operation not permitted
# 文件仍可追加新内容。
[root@localhost opt]# echo "hello" >> snoopy.txt
[root@localhost opt]# echo "My Name is Snoopy" >> snoopy.txt
[root@localhost opt]# cat snoopy.txt
hello
My Name is Snoopy
# 取消a属性。
[root@localhost opt]# chattr -a snoopy.txt
[root@localhost opt]# lsattr snoopy.txt
---------------- snoopy.txt
|
掩码umask
什么是umask
我们知道当我们创建目录或文件时,系统会分配一个默认权限,目录默认权限为755,文件默认权限为644。这些默认权限就是通过umask
实现的。
通过umask
命令可查看当前登陆用户的掩码。
1
2
|
[root@localhost ~]# umask
0022
|
创建文件的默认权限为666-umask
。
创建目录的默认权限为777-umask
。
umask的应用
默认权限
Linux
在/etc/bashrc
中定义了umask
的值。
1
2
3
4
5
6
|
[root@localhost ~]# grep -A 4 "UID" /etc/bashrc
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
|
用户也可以通过umask
命令临时设置umask
的值。
1
2
3
|
[root@localhost ~]# umask 002
[root@localhost ~]# umask
0002
|
创建文件时,默认权限为奇数的,要通过+1
变成偶数。创建目录不受影响。
1
2
3
4
5
6
7
8
9
|
[zhangsan@localhost opt]$ umask 045
[zhangsan@localhost opt]$ mkdir umask_dir
# 777-045=732 所以umask_dir权限为732。
[zhangsan@localhost opt]$ ll -d umask_dir/
drwx-wx-w- 2 zhangsan zhangsan 6 Dec 22 05:35 umask_dir/
[zhangsan@localhost opt]$ touch umask_file
# 666-045=621,创建文件时,遇到奇数要+1,所以最终权限为622。
[zhangsan@localhost opt]$ ll umask_file
-rw--w--w- 1 zhangsan zhangsan 0 Dec 22 05:35 umask_file
|
再来看一组案例。
1
2
3
4
5
6
7
8
9
|
[zhangsan@localhost opt]$ umask 035
[zhangsan@localhost opt]$ mkdir umask_dir_1/
# 777-035=742 所以umask_dir权限为742。
[zhangsan@localhost opt]$ ll -d umask_dir_1/
drwxr---w- 2 zhangsan zhangsan 6 Dec 22 05:42 umask_dir_1/
[zhangsan@localhost opt]$ touch umask_file_1
# 666-035=631,创建文件时,遇到奇数要+1,所以最终权限为642。
[zhangsan@localhost opt]$ ll umask_file_1
-rw-r---w- 1 zhangsan zhangsan 0 Dec 22 05:42 umask_file_1
|
用户家目录权限
用户家目录的umask
可以通过/etc/login.defs
指定。
1
2
3
4
|
[root@localhost ~]# grep "UMASK" /etc/login.defs
UMASK 077
[root@localhost ~]# ll -d /home/snoopy
drwx------ 2 snoopy snoopy 99 Dec 22 01:06 /home/snoopy
|