您的位置:首页 > 运维架构 > Linux

【2018.03.28学习笔记】【linux基础知识2.14-2.17】

2018-03-29 00:00 597 查看
摘要: 文件目录权限chmod、更改所属主、组chown、umask、隐藏权限lsattr-chattr

2.14 更改文件目录权限chmod

ls -l 查看文件或目录的详细信息,包含了权限信息

[root@lgs-01 ~]# ls -l ~
总用量 4
drwxr-xr-x. 2 root root    6 3月  28 16:43 a
-rw-------. 1 root root 1418 3月  20 09:22 anaconda-ks.cfg
drwxr-xr-x. 5 root root   60 3月  28 16:47 b
drwxr-xr-x. 2 root root   45 3月  28 16:45 c
drwxr-xr-x. 2 root root    6 3月  28 16:47 d

第一列的第一位为文件类型,中间9位是权限:rwxr-xr-x,最后一位点号 . 是与selinux有关的标志

权限位分为三段:rwx:所有者的权限;r-x:所属组的权限;r-x:其他用户的权限

r:读权限,w:写权限,x:执行权限,-:无权限。

chmod:修改权限的命令

用数字修改权限,其中:r=4,w=2,x=1

[root@lgs-01 ~]# chmod 700 a
[root@lgs-01 ~]# ls -dl a/
drwx------. 2 root root 6 3月  28 16:43 a/

分组赋值修改:u(user),g(group),o(others)

[root@lgs-01 ~]# ls -l ~
总用量 4
drwx------. 2 root root    6 3月  28 16:43 a
-rw-------. 1 root root 1418 3月  20 09:22 anaconda-ks.cfg
drwxr-xr-x. 5 root root   60 3月  28 16:47 b
drwxr-xr-x. 2 root root   45 3月  28 16:45 c
drwxr-xr-x. 2 root root    6 3月  28 16:47 d
[root@lgs-01 ~]# chmod u=rwx,g=r,o=r b
[root@lgs-01 ~]# ls -dl b
drwxr--r--. 5 root root 60 3月  28 16:47 b

直接加减权限修改,a代表所有权限位

[root@lgs-01 ~]# ls -dl c
drwxr-xr-x. 2 root root 45 3月  28 16:45 c
[root@lgs-01 ~]# chmod a-x c
[root@lgs-01 ~]# ls -dl c
drw-r--r--. 2 root root 45 3月  28 16:45 c

chmod -R: 把目录及其子文件子目录的权限一起修改

[root@lgs-01 ~]# ls -l c
总用量 0
-rw-r--r--. 1 root root 0 3月  28 00:24 1.txt
-rw-r--r--. 1 root root 0 3月  28 16:40 4.txt
-rw-r--r--. 1 root root 0 3月  28 16:36 6.txt
[root@lgs-01 ~]# ls -ld c
drw-r--r--. 2 root root 45 3月  28 16:45 c
[root@lgs-01 ~]# chmod -R a+x c/
[root@lgs-01 ~]# ls -ld c
drwxr-xr-x. 2 root root 45 3月  28 16:45 c
[root@lgs-01 ~]# ls -l c
总用量 0
-rwxr-xr-x. 1 root root 0 3月  28 00:24 1.txt
-rwxr-xr-x. 1 root root 0 3月  28 16:40 4.txt
-rwxr-xr-x. 1 root root 0 3月  28 16:36 6.txt

2.15 更改所属主和所属组chown

查看系统有哪些用户:

[root@lgs-01 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
lgs:x:1000:1000::/home/lgs:/bin/bash

chown:修改所属主和所属组命令

[root@lgs-01 ~]# ls -dl a
drwx------. 2 root root 6 3月  28 16:43 a
[root@lgs-01 ~]# chown lgs a
[root@lgs-01 ~]# ls -dl a
drwx------. 2 lgs root 6 3月  28 16:43 a

所有者与所属组一起修改:chown 主名:组名

[root@lgs-01 ~]# ls -dl b
drwxr--r--. 5 root root 60 3月  28 16:47 b
[root@lgs-01 ~]# chown lgs:lgs b
[root@lgs-01 ~]# ls -dl b
drwxr--r--. 5 lgs lgs 60 3月  28 16:47 b

只修改所属组:chgrp或者 chown :组名

[root@lgs-01 ~]# chgrp lgs a
[root@lgs-01 ~]# ls -dl a
drwx------. 2 root lgs 6 3月  28 16:43 a

[root@lgs-01 ~]# ls -dl b
drwxr--r--. 5 root root 60 3月  28 16:47 b
[root@lgs-01 ~]# chown :lgs b
[root@lgs-01 ~]# ls -dl b
drwxr--r--. 5 root lgs 60 3月  28 16:47 b

chown -R 把目录及其子文件子目录一起修改

[root@lgs-01 ~]# ls -dl b
drwxr--r--. 5 root root 60 3月  28 16:47 b
[root@lgs-01 ~]# chown -R lgs:lgs b
[root@lgs-01 ~]# ls -dl b
drwxr--r--. 5 lgs lgs 60 3月  28 16:47 b
[root@lgs-01 ~]# ls -al b/
总用量 4
drwxr--r--. 5 lgs  lgs   60 3月  28 16:47 .
dr-xr-x---. 7 root root 183 3月  28 16:45 ..
-rw-r--r--. 1 lgs  lgs    0 3月  28 16:41 1.txt
-rw-r--r--. 1 lgs  lgs    7 3月  27 22:30 2.txt
drwxr-xr-x. 2 lgs  lgs    6 3月  27 22:39 a1
drwxr-xr-x. 2 lgs  lgs   19 3月  28 00:20 c
drwxr-xr-x. 2 lgs  lgs   32 3月  28 16:42 z
[root@lgs-01 ~]# ls -al b/z/
总用量 0
drwxr-xr-x. 2 lgs lgs 32 3月  28 16:42 .
drwxr--r--. 5 lgs lgs 60 3月  28 16:47 ..
-rw-r--r--. 1 lgs lgs  0 3月  28 16:42 1.txt
-rw-r--r--. 1 lgs lgs  0 3月  28 16:42 2.txt

2.16 umask

umask码,是决定文件和目录创建的时候的默认权限的

文件默认权限:644,目录默认权限:755

系统默认的umask为:0022

[root@lgs-01 ~]# umask
0022

可以修改umask

[root@lgs-01 ~]# umask 0002
[root@lgs-01 ~]# umask
0002

文件和目录与umask的关系是:
文件默认权限=666-umask=(rw- rw- rw-)-(--- --- -w-)=(rw- rw- r--)=664

[root@lgs-01 ~]# touch 1.txt
[root@lgs-01 ~]# ls -l 1.txt
-rw-rw-r--. 1 root root 0 3月  29 12:37 1.txt

目录默认权限=777-umask=(rwx rwx rwx)-(--- --- -w-)=(rwx rwx r-x)=775

[root@lgs-01 ~]# mkdir x
[root@lgs-01 ~]# ls -dl x
drwxrwxr-x. 2 root root 6 3月  29 12:37 x

2.17 隐藏权限lsattr、chattr

lsattr:查看隐藏权限,-d选项查看目录本身

[root@lgs-01 ~]# lsattr -d a/
---------------- a/

[root@lgs-01 ~]# lsattr b
---------------- b/2.txt

---------------- b/a1

---------------- b/z

---------------- b/c

---------------- b/1.txt

chattr:设置隐藏权限

i权限:不能编辑、不能移动、不能删除、不能touch、可修改目录原有文件的内容

[root@lgs-01 ~]# lsattr -d a/
---------------- a/
[root@lgs-01 ~]# chattr +i -d a/
[root@lgs-01 ~]# lsattr -d a/
----i----------- a/
[root@lgs-01 ~]# touch a/1.txt
touch: 无法创建"a/1.txt": 权限不够
[root@lgs-01 ~]# mv a/ z/
mv: 无法将"a/" 移动至"z/": 不允许的操作
[root@lgs-01 ~]# rm -df a/
rm: 无法删除"a/": 不允许的操作

+a权限:可以追加文件内容,可以touch

[root@lgs-01 ~]# chattr +a -d a/
[root@lgs-01 ~]# lsattr -d a/
-----a---------- a/
[root@lgs-01 ~]# touch a/1.txt
[root@lgs-01 ~]# echo 'abc' >> a/1.xt
[root@lgs-01 ~]# echo "abc" >> a/1.txt
[root@lgs-01 ~]# cat a/1.txt
abc
abc

lsattr -R:查看目录下多层目录的隐藏权限,不加-R,只能看1层

[root@lgs-01 ~]# lsattr -R b
---------------- b/2.txt

---------------- b/a1

b/a1:

---------------- b/z

b/z:
---------------- b/z/1.txt

---------------- b/z/2.txt

---------------- b/c

b/c:
---------------- b/c/1.txt

---------------- b/1.txt

lsattr -a:加-a选项,隐藏目录的隐藏权限也能看

[root@lgs-01 ~]# lsattr -a a/
-----a---------- a/.

---------------- a/..

---------------- a/1.txt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: