linux用户权限设置有哪些

1. 权限的基本概述

什么是权限   系统对用户所能执行的功能的限制        为什么要有权限  为了保护每个用户的自己的工作环境和隐私    权限跟用户有什么关系    属主    User        u  属组    Group       g  其他人  others      o            a    所有            对应了三个基础权限  r    可读    readable        4  w    可写    writable        2  x    可执行    executable      1  -    没有权限  权限位占位符      0  [root@qls ~]# ls -l total 61152 -rw-r--r--. 1 root root       39 Jul 17 19:16 123.txt -rw-r--r--. 1 root root  9272936 Jul 17 12:01 access.log   -               rw-     r--     r--     644  文件的类型       属主     属组     匿名   每三个为一组  第一个对应 可读  r  第二个对应  可写 w  第三个对应  可执行 x  没有此权限则用-代替    为什么要设置权限,如何设置权限   设置某个用户对于系统的某个资源拥有什么样管理权力   chmod    #设置权限的命令   选项:      -R    #针对目录设置权限  赋予目录及目录以下所有文件的权限

2. 权限的设置案例

#添加权限  -    #收回某个权限  =    #覆盖之前的权限    #添加权限  [root@qls ~]# ll total 4 -rw-r--r-- 1 root root 158 Jul 23 09:06 hosts [root@qls ~]# chmod  u+x  hosts  [root@qls ~]# ll total 4 -rwxr--r-- 1 root root 158 Jul 23 09:06 hosts [root@qls ~]# chmod g+wx hosts [root@qls ~]# ll total 4 -rwxrwxr-- 1 root root 158 Jul 23 09:06 hosts [root@qls ~]# chmod  o+w  hosts  [root@qls ~]# ll total 4 -rwxrwxrw- 1 root root 158 Jul 23 09:06 hosts   [root@qls ~]# chmod a+x  hosts  [root@qls ~]# ll total 4 -rwxrwxrwx 1 root root 158 Jul 23 09:06 hosts   #收回权限  #a可以省略   [root@qls ~]# chmod   -x  hosts  [root@qls ~]# ll total 4 -rw-rw-rw- 1 root root 158 Jul 23 09:06 hosts   [root@qls ~]# chmod u-w  hosts  [root@qls ~]# ll total 4 -r--rw-rw- 1 root root 158 Jul 23 09:06 hosts [root@qls ~]# chmod  g-w,o-rw  hosts [root@qls ~]# ll total 4 -r--r----- 1 root root 158 Jul 23 09:06 hosts [root@qls ~]#   #覆盖之前的所有权限  [root@qls ~]# chmod a=rw  hosts  [root@qls ~]# ll total 4 -rw-rw-rw- 1 root root 158 Jul 23 09:06 hosts   [root@qls ~]# chmod  o=-  hosts [root@qls ~]# ll total 4 -rw-rw---- 1 root root 158 Jul 23 09:06 hosts    根据数字进行修改    会把原来的权限全部覆盖掉   -R    #给目录的权限及目录以下的所有文件或者子目录都设置统一权限  [root@qls ~]# chmod 644  hosts  [root@qls ~]# ll total 4 -rw-r--r-- 1 root root 158 Jul 23 09:06 hosts  [root@qls ~]# mkdir  data [root@qls ~]# ll total 4 drwxr-xr-x 2 root root   6 Jul 23 09:35 data -rw-r--r-- 1 root root 158 Jul 23 09:06 hosts [root@qls ~]# cp /etc/hosts  data/ [root@qls ~]# ll data/ total 4 -rw-r--r-- 1 root root 158 Jul 23 09:35 hosts [root@qls ~]# ll -d data/ drwxr-xr-x 2 root root 19 Jul 23 09:35 data/ [root@qls ~]# chmod 700  data/ [root@qls ~]# ll -d data/ drwx------ 2 root root 19 Jul 23 09:35 data/ [root@qls ~]# ll data/ total 4 -rw-r--r-- 1 root root 158 Jul 23 09:35 hosts [root@qls ~]# chmod -R  755  data/ [root@qls ~]# ll -d data/ drwxr-xr-x 2 root root 19 Jul 23 09:35 data/ [root@qls ~]# ll data/ total 4 -rwxr-xr-x 1 root root 158 Jul 23 09:35 hosts   #权限设置案例  /opt/test   针对于此目录      属主为root  属组为dev     dev01  dev02    属主拥有所有权限  属组拥有可读 可写权限  其他人没有任何权限   [root@qls ~]# mkdir  /opt/test [root@qls ~]# ll /opt/ total 0 drwxr-xr-x 2 root root 6 Jul 23 09:40 test [root@qls ~]# groupadd   dev [root@qls ~]# chgrp  dev  /opt/test/ [root@qls ~]# ll /opt/ total 0 drwxr-xr-x 2 root dev 6 Jul 23 09:40 test [root@qls ~]# chmod 760  /opt/test/ [root@qls ~]# ll /opt/ total 0 drwxrw---- 2 root dev 6 Jul 23 09:40 test

3. 权限对文件或者目录的影响

cat head tail               浏览目录及子目录的列表  ls tree         w    可以新增,修改文件内容的权利 vim echo > >>    可以新建或者删除,移动目录中的文件的权利   x    可以执行文件的权利 脚本                         可以进入目录   cd

4. 文件权限设置案例

[root@qls ~]# echo  "hostname"  >> /opt/file.txt  [root@qls ~]# ll /opt/ total 4 -rw-r--r-- 1 root root 9 Jul 23 09:57 file.txt  [root@qls ~]# useradd   qls01 [root@qls ~]#  [root@qls ~]# echo "1" | passwd  --stdin  qls01 Changing password for user qls01. passwd: all authentication tokens updated successfully.   [root@qls ~]# su  -  qls01 Last login: Thu Jul 23 09:59:14 CST 2020 on pts/0 [qls01@qls ~]$ ll /opt/ total 4 -rw-r--r-- 1 root root 9 Jul 23 09:57 file.txt drwxrw---- 2 root dev  6 Jul 23 09:40 test [qls01@qls ~]$ cat /opt/file.txt  hostname [qls01@qls ~]$ head /opt/file.txt hostname [qls01@qls ~]$ tail /opt/file.txt hostname   [qls01@qls ~]$ vim  /opt/file.txt [qls01@qls ~]$ echo "123"  >> /opt/file.txt -bash: /opt/file.txt: Permission denied [qls01@qls ~]$ /opt/file.txt  -bash: /opt/file.txt: Permission denied   #文件只有r权限时,是可以正常查看文件内容的,不可以修改或者执行文件的权限   w权限   [root@qls ~]# chmod  o=w  /opt/file.txt  [root@qls ~]# ll /opt/file.txt -rw-r---w- 1 root root 9 Jul 23 09:57 /opt/file.txt  [root@qls ~]# su - qls01 Last login: Thu Jul 23 10:00:14 CST 2020 on pts/0 [qls01@qls ~]$ cat /opt/file.txt  cat: /opt/file.txt: Permission denied [qls01@qls ~]$ vim /opt/file.txt [qls01@qls ~]$ cat /opt/file.txt cat: /opt/file.txt: Permission denied [qls01@qls ~]$ /opt/file.txt -bash: /opt/file.txt: Permission denied  [root@qls ~]# cat  /opt/file.txt  uirethruie  [qls01@qls ~]$ echo "test"  >> /opt/file.txt  [qls01@qls ~]$ echo "test"  > /opt/file.txt   [root@qls ~]# cat  /opt/file.txt  uirethruie test [root@qls ~]# cat  /opt/file.txt  test   #只有w权限时, 无法查看和执行文件的权限  使用vim编辑文件文件时,无法查看里面的内容,可以进行编辑,但是需要强制保存,但是保存之后,原来的内容被覆盖了  可以使用echo命令进行追加或者重定向内容进去   x权限  [root@qls ~]# chmod o=x  /opt/file.txt  [root@qls ~]# ll /opt/file.txt -rw-r----x 1 root root 5 Jul 23 10:09 /opt/file.txt [root@qls ~]# su - qls01 Last login: Thu Jul 23 10:08:38 CST 2020 on pts/0 [qls01@qls ~]$ ll /opt/file.txt  -rw-r----x 1 root root 5 Jul 23 10:09 /opt/file.txt [qls01@qls ~]$ cat /opt/file.txt cat: /opt/file.txt: Permission denied [qls01@qls ~]$ echo "123" >> /opt/file.txt -bash: /opt/file.txt: Permission denied [qls01@qls ~]$ /opt/file.txt bash: /opt/file.txt: Permission denied  #文件只有x权限  什么都干不了     rw权限   [root@qls ~]# chmod   o=rw  /opt/file.txt  [root@qls ~]# ll /opt/file.txt -rw-r--rw- 1 root root 5 Jul 23 10:09 /opt/file.txt [root@qls ~]# su - qls01 Last login: Thu Jul 23 10:11:27 CST 2020 on pts/0 [qls01@qls ~]$ cat /opt/file.txt  test [qls01@qls ~]$ echo "hostname"  > /opt/file.txt [qls01@qls ~]$ vim /opt/file.txt [qls01@qls ~]$ cat /opt/file.txt hostname pwd [qls01@qls ~]$ /opt/file.txt -bash: /opt/file.txt: Permission denied   #经过测试,文件w权限需要r权限的配合  才能正常的修改文件内容     rx权限   [root@qls ~]# chmod  o=rx  /opt/file.txt  [root@qls ~]# ll /opt/file.txt -rw-r--r-x 1 root root 13 Jul 23 10:14 /opt/file.txt [root@qls ~]# su - qls01 Last login: Thu Jul 23 10:14:16 CST 2020 on pts/0 [qls01@qls ~]$ cat /opt/file.txt  hostname pwd [qls01@qls ~]$ echo "123" > /opt/file.txt -bash: /opt/file.txt: Permission denied [qls01@qls ~]$ vim /opt/file.txt [qls01@qls ~]$ /opt/file.txt qls /home/qls01    #经过测试,文件的x权限需要r权限的配合    wx权限  没有什么用处    rwx权限      权限太大      Permission denied    #权限不足 没有权限

5. 目录权限设置案例

权限对目录的影响    r权限     具有可以浏览目录及其子目录下的列表  属性信息     [root@qls ~]# chmod o=r  /opt/test/ [root@qls ~]# ll /opt/ total 4 -rw-r--r-x 1 root root 13 Jul 23 10:14 file.txt drwxrw-r-- 2 root root  6 Jul 23 09:40 test [root@qls ~]# touch  /opt/test/data.{txt,log,sh} [root@qls ~]# mkdir  /opt/test/oldboy{01..03} [root@qls ~]# ll /opt/test/ total 0 -rw-r--r-- 1 root root 0 Jul 23 10:51 data.log -rw-r--r-- 1 root root 0 Jul 23 10:51 data.sh -rw-r--r-- 1 root root 0 Jul 23 10:51 data.txt drwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy01 drwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy02 drwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy03  [root@qls ~]# su  -  qls01 Last login: Thu Jul 23 10:51:09 CST 2020 on pts/0  [qls01@qls ~]$ ls   /opt/test/ ls: cannot access /opt/test/data.txt: Permission denied ls: cannot access /opt/test/data.log: Permission denied ls: cannot access /opt/test/data.sh: Permission denied ls: cannot access /opt/test/oldboy01: Permission denied ls: cannot access /opt/test/oldboy02: Permission denied ls: cannot access /opt/test/oldboy03: Permission denied data.log  data.sh  data.txt  oldboy01  oldboy02  oldboy03   [qls01@qls ~]$ ls -l  /opt/test/ ls: cannot access /opt/test/data.txt: Permission denied ls: cannot access /opt/test/data.log: Permission denied ls: cannot access /opt/test/data.sh: Permission denied ls: cannot access /opt/test/oldboy01: Permission denied ls: cannot access /opt/test/oldboy02: Permission denied ls: cannot access /opt/test/oldboy03: Permission denied total 0 -????????? ? ? ? ?            ? data.log -????????? ? ? ? ?            ? data.sh -????????? ? ? ? ?            ? data.txt d????????? ? ? ? ?            ? oldboy01 d????????? ? ? ? ?            ? oldboy02 d????????? ? ? ? ?            ? oldboy03  [qls01@qls ~]$ rm -f  /opt/test/data.log  rm: cannot remove ‘/opt/test/data.log’: Permission denied [qls01@qls ~]$ touch /opt/test/data.conf touch: cannot touch ‘/opt/test/data.conf’: Permission denied [qls01@qls ~]$ mv /opt/test/data.log  /tmp mv: cannot stat ‘/opt/test/data.log’: Permission denied  [qls01@qls ~]$ cd  /opt/test/ -bash: cd: /opt/test/: Permission denied  [qls01@qls ~]$ tree  /opt/test/  #没有任何统计  /opt/test/  0 directories, 0 files   #目录只有r权限,使用ls -l命令查看目录下的列表,会出现一堆的权限不足,但是文件名和文件类型显示出来了,其他的属性信息都是问号   不能对此目录下的文件进行新建或者删除及其移动的操作    也不能切换到这个目录    w权限   [root@qls ~]# chmod  o=w  /opt/test/ [root@qls ~]# ll /opt/ total 4 -rw-r--r-x 1 root root  13 Jul 23 10:14 file.txt drwxrw--w- 5 root root 101 Jul 23 10:51 test   [root@qls ~]# su  -  qls01 Last login: Thu Jul 23 10:52:22 CST 2020 on pts/0 [qls01@qls ~]$ ls /opt/test/ ls: cannot open directory /opt/test/: Permission denied [qls01@qls ~]$ ls -l /opt/test/ ls: cannot open directory /opt/test/: Permission denied [qls01@qls ~]$ cd /opt/test/ -bash: cd: /opt/test/: Permission denied [qls01@qls ~]$ touch  /opt/test/123.txt touch: cannot touch ‘/opt/test/123.txt’: Permission denied [qls01@qls ~]$ rm -f  /opt/test/data.log rm: cannot remove ‘/opt/test/data.log’: Permission denied [qls01@qls ~]$ mv /opt/test/data.log  /tmp/ mv: cannot stat ‘/opt/test/data.log’: Permission denied [qls01@qls ~]$ cp /opt/test/data.log /tmp cp: cannot stat ‘/opt/test/data.log’: Permission denied [qls01@qls ~]$ cp /opt/test/data.log /tmp cp: cannot stat ‘/opt/test/data.log’: Permission denied [qls01@qls ~]$ mv /opt/test/data.log  /tmp/ mv: cannot stat ‘/opt/test/data.log’: Permission denied [qls01@qls ~]$ rm -f  /opt/test/data.log rm: cannot remove ‘/opt/test/data.log’: Permission denied [qls01@qls ~]$ ll -d /opt/ drwxrwxrwx 3 root root 34 Jul 23 09:57 /opt/  #只有w权限时,目录什么都做不了    x权限    进入目录  [root@qls ~]# su - qls01 Last login: Thu Jul 23 10:57:51 CST 2020 on pts/0 [qls01@qls ~]$ cd  /opt/test/ [qls01@qls test]$ ls ls: cannot open directory .: Permission denied [qls01@qls test]$ ls -l ls: cannot open directory .: Permission denied [qls01@qls test]$ rm -f  data.log rm: cannot remove ‘data.log’: Permission denied [qls01@qls test]$ touch  data.conf touch: cannot touch ‘data.conf’: Permission denied [qls01@qls test]$ mv data.log /tmp/ mv: cannot move ‘data.log’ to ‘/tmp/data.log’: Permission denied [qls01@qls test]$ cp data.log  /tmp/ [qls01@qls test]$ ll /tmp/ total 4 drwxr-xr-x. 2 root  root   51 Jul 17 17:59 data1 drwxr-xr-x. 2 root  root   51 Jul 17 17:59 data2 drwxr-xr-x. 2 root  root   51 Jul 17 17:59 data3 -rw-r--r--  1 qls01 qls01   0 Jul 23 11:03 data.log  #目录只有x权限时,可以切换到目录中,无法查看目录列表信息  也无法进行删除、新建、移动等操作   可以进行复制操作    rw权限       [root@qls ~]# chmod o=rw  /opt/test/ [root@qls ~]# ll /opt/ total 4 -rw-r--r-x 1 root root  13 Jul 23 10:14 file.txt drwxrw-rw- 5 root root 101 Jul 23 10:51 test [root@qls ~]# su - qls01 Last login: Thu Jul 23 11:06:21 CST 2020 on pts/0 [qls01@qls ~]$ cd /opt/test/ -bash: cd: /opt/test/: Permission denied [qls01@qls ~]$ ls /opt/test/ ls: cannot access /opt/test/data.txt: Permission denied ls: cannot access /opt/test/data.log: Permission denied ls: cannot access /opt/test/data.sh: Permission denied ls: cannot access /opt/test/oldboy01: Permission denied ls: cannot access /opt/test/oldboy02: Permission denied ls: cannot access /opt/test/oldboy03: Permission denied data.log  data.sh  data.txt  oldboy01  oldboy02  oldboy03 [qls01@qls ~]$ ls -l /opt/test/ ls: cannot access /opt/test/data.txt: Permission denied ls: cannot access /opt/test/data.log: Permission denied ls: cannot access /opt/test/data.sh: Permission denied ls: cannot access /opt/test/oldboy01: Permission denied ls: cannot access /opt/test/oldboy02: Permission denied ls: cannot access /opt/test/oldboy03: Permission denied total 0 -????????? ? ? ? ?            ? data.log -????????? ? ? ? ?            ? data.sh -????????? ? ? ? ?            ? data.txt d????????? ? ? ? ?            ? oldboy01 d????????? ? ? ? ?            ? oldboy02 d????????? ? ? ? ?            ? oldboy03 [qls01@qls ~]$ touch  /opt/test/data.conf touch: cannot touch ‘/opt/test/data.conf’: Permission denied [qls01@qls ~]$ rm -f /opt/test/data.log rm: cannot remove ‘/opt/test/data.log’: Permission denied [qls01@qls ~]$ mv /opt/test/data.log /tmp/ mv: cannot stat ‘/opt/test/data.log’: Permission denied [qls01@qls ~]$ cp /opt/test/data.txt  /tmp/ cp: cannot stat ‘/opt/test/data.txt’: Permission denied   #rw权限 跟只有r权限作用是一样的     rx权限     [root@qls ~]# chmod o=rx  /opt/test/ [root@qls ~]# ll /opt/ total 4 -rw-r--r-x 1 root root  13 Jul 23 10:14 file.txt drwxrw-r-x 5 root root 101 Jul 23 10:51 test [root@qls ~]# su - qls01 Last login: Thu Jul 23 11:10:14 CST 2020 on pts/0 [qls01@qls ~]$ cd  /opt/test/ [qls01@qls test]$ ls data.log  data.sh  data.txt  oldboy01  oldboy02  oldboy03 [qls01@qls test]$ ls -l total 0 -rw-r--r-- 1 root root 0 Jul 23 10:51 data.log -rw-r--r-- 1 root root 0 Jul 23 10:51 data.sh -rw-r--r-- 1 root root 0 Jul 23 10:51 data.txt drwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy01 drwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy02 drwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy03 [qls01@qls test]$ touch  data.conf touch: cannot touch ‘data.conf’: Permission denied [qls01@qls test]$ rm -f data.log  rm: cannot remove ‘data.log’: Permission denied [qls01@qls test]$ mv data.txt /tmp/ mv: cannot move ‘data.txt’ to ‘/tmp/data.txt’: Permission denied [qls01@qls test]$ cp  data.txt  /tmp/ [qls01@qls test]$ ll /tmp/ total 4 drwxr-xr-x. 2 root  root   51 Jul 17 17:59 data1 drwxr-xr-x. 2 root  root   51 Jul 17 17:59 data2 drwxr-xr-x. 2 root  root   51 Jul 17 17:59 data3 -rw-r--r--  1 qls01 qls01   0 Jul 23 11:03 data.log -rw-r--r--  1 qls01 qls01   0 Jul 23 11:13 data.txt   #目录拥有rx权限时,可以正常的查看目录列表信息,属性信息,也可以进入目录,可以复制文件到其他目录,但是不能执行新建、删除、移动等操作     wx权限  [root@qls ~]# chmod o=wx  /opt/test/ [root@qls ~]# ll /opt/ total 4 -rw-r--r-x 1 root root  13 Jul 23 10:14 file.txt drwxrw--wx 5 root root 101 Jul 23 10:51 test [root@qls ~]# su - qls01 Last login: Thu Jul 23 11:12:31 CST 2020 on pts/0 [qls01@qls ~]$ cd /opt/test/ [qls01@qls test]$ ls ls: cannot open directory .: Permission denied [qls01@qls test]$ touch  123.txt [qls01@qls test]$ ls ls: cannot open directory .: Permission denied [qls01@qls test]$ rm -f data.log [qls01@qls test]$ mv data.txt  /tmp/ [qls01@qls test]$ ls ls: cannot open directory .: Permission denied   #目录拥有wx权限时,可以进入目录,可以新建,删除、移动文件的权利  但是查看不了目录的列表及属性信息

6. 属主属组设置

chown  #设置属主属组   只有root管理员才可以进行设置      选项:    -R    #递归设置 设置目录及其目录以下的所有文件  [root@qls ~]# ll /opt/ total 4 -rw-r--r-x 1 root root 13 Jul 23 10:14 file.txt drwxrw--wx 5 root root 84 Jul 23 11:17 test [root@qls ~]# chown qls01   /opt/file.txt     #默认设置的是属主   [root@qls ~]# ll /opt/ total 4 -rw-r--r-x 1 qls01 root 13 Jul 23 10:14 file.txt drwxrw--wx 5 root  root 84 Jul 23 11:17 test  [root@qls ~]# chown  .qls01  /opt/file.txt    #设置属组  [root@qls ~]# ll /opt/ total 4 -rw-r--r-x 1 qls01 qls01 13 Jul 23 10:14 file.txt drwxrw--wx 5 root  root  84 Jul 23 11:17 test  [root@qls ~]# chown  root.root  /opt/file.txt   #同时设置属主属组  [root@qls ~]# ll /opt/ total 4 -rw-r--r-x 1 root root 13 Jul 23 10:14 file.txt drwxrw--wx 5 root root 84 Jul 23 11:17 test  [root@qls ~]# chown  qls01.qls01  /opt/test/    #只设置目录 [root@qls ~]# ll -d /opt/test/ drwxrw--wx 5 qls01 qls01 84 Jul 23 11:17 /opt/test/ [root@qls ~]# ll /opt/test/ total 0 -rw-rw-r-- 1 qls01 qls01 0 Jul 23 11:17 123.txt -rw-r--r-- 1 root  root  0 Jul 23 10:51 data.sh drwxr-xr-x 2 root  root  6 Jul 23 10:51 oldboy01 drwxr-xr-x 2 root  root  6 Jul 23 10:51 oldboy02 drwxr-xr-x 2 root  root  6 Jul 23 10:51 oldboy03 [root@qls ~]# chown -R  qls01.qls01  /opt/test/   #递归设置  [root@qls ~]# ll /opt/test/ total 0 -rw-rw-r-- 1 qls01 qls01 0 Jul 23 11:17 123.txt -rw-r--r-- 1 qls01 qls01 0 Jul 23 10:51 data.sh drwxr-xr-x 2 qls01 qls01 6 Jul 23 10:51 oldboy01 drwxr-xr-x 2 qls01 qls01 6 Jul 23 10:51 oldboy02 drwxr-xr-x 2 qls01 qls01 6 Jul 23 10:51 oldboy03   chgrp    #设置属组      [root@qls ~]# chgrp   root  /opt/test/ [root@qls ~]# ll -d /opt/test/

7. Umask控制权限

[root@qls ~]# ll total 4 drwxr-xr-x 2 root root   6 Jul 23 11:21 123 -rw-r--r-- 1 root root   0 Jul 23 11:21 123.txt  系统中为什么新创建的目录的权限为755,文件的权限为644  都是由系统的控制权限所控制的  umask    #控制权限的命令   [root@qls ~]# umask 0022   系统中是如何计算权限   系统新创建的目录的权限由最大权限777减去umask控制权限022得到的就是755,所以说新创建的目录的权限为755,新创建文件的权限由文件最大权限666减去umask控制权限022,得到644权限,所以说新创建的文件的权限为644,当文件权限遇到奇数时,在奇数为加一      [root@qls ~]# umask 0022 [root@qls ~]# umask  033 [root@qls ~]# umask  0033 [root@qls ~]# mkdir  oldboy [root@qls ~]# ll total 4 drwxr-xr-x 2 root root   6 Jul 23 11:21 123 -rw-r--r-- 1 root root   0 Jul 23 11:21 123.txt drwxr--r-- 2 root root   6 Jul 23 12:02 oldboy [root@qls ~]# touch oldboy.txt [root@qls ~]# ll

8. 用户练习题

1.删除用户基本组shanghai03。发现无法正常删除,怎样才能将其删除掉,不能删除用户。  这个组是某个用户的基本组,所以删除不了   跟这里面的用户换个组再删除     2.打开多个xshell窗口连接登录同一虚拟机,使用不同的用户登录多次,分别使用w和who命令显示当前系统上的所有已经登录的用户,取出用户名这一列,注意:同一个用户登录多次,则只显示一次即可。  [root@qls ~]# w  12:10:05 up 3 days, 25 min,  5 users,  load average: 0.04, 0.03, 0.05 USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT root     pts/0    10.0.0.1         Wed09   50:37   0.30s  0.00s -bash root     pts/1    10.0.0.1         12:03    5.00s  0.00s  0.00s w root     pts/2    10.0.0.1         12:09   34.00s  0.00s  0.00s -bash root     pts/3    10.0.0.1         12:09   32.00s  0.00s  0.00s -bash qls01    pts/4    10.0.0.1         12:10    4.00s  0.00s  0.00s -bash [root@qls ~]# w | awk 'NR>2' root     pts/0    10.0.0.1         Wed09   50:49   0.30s  0.00s -bash root     pts/1    10.0.0.1         12:03    1.00s  0.00s  0.00s w root     pts/2    10.0.0.1         12:09   46.00s  0.00s  0.00s -bash root     pts/3    10.0.0.1         12:09   44.00s  0.00s  0.00s -bash qls01    pts/4    10.0.0.1         12:10   16.00s  0.00s  0.00s -bash [root@qls ~]# w | awk 'NR>2{print $1}' root root root root qls01 [root@qls ~]# w | awk 'NR>2{print $1}' | sort  qls01 root root root root [root@qls ~]# w | awk 'NR>2{print $1}' | sort  |uniq -c       1 qls01       4 root [root@qls ~]#      3.创建用户olddir,其ID号为1005,基本组为old  groupadd  old  useradd  -u1005  -g old  olddir     4.显示当前登录的用户的UID号,你有几种方法实现?  id  grep  'user'  /etc/passwd   echo $UID  5.对于用户来说,组有几种类别?有什么区别?  基本组   每个用户只能有一个基本组  附加组  用户可以拥有多个附加组   6./etc/group文件以:为分隔符,分为四列,解释其每列的含义? 7./etc/gshadow文件以:为分隔符,分为四列,解释其每列的含义? 8.如果想从root用户切换到普通用户,使用什么命令?  su -  username    9.切换到普通用户后,想返回到root用户,怎么做?有几种方法,有什么区别?  su  -   Ctrl +  D    logout  exit    10.Shell主要分为哪几类?  交互式  非交互式   登录式  非登录式  11.Bash Shell的个人及全局配置文件有哪些?哪个优先级别高?  个人高    12.登录式Shell配置文件执行顺序? 13.非登录式shell配置文件执行顺序?   14.在root用户下,以普通用户身份执行"pwd"命令。  [root@qls ~]# su  -  qls01  -c "pwd" /home/qls01   15.什么是sudo?  用来提权  给普通用户提权   16.可以根据哪个文件对sudo提权?   /etc/sudoers   17.登录到普通用户,查看/etc/shadow文件的内容,发现查看不了,怎么办?  提权   切换到root用户查看  设置权限   18.登录到普通用户,删除/opt目录,若无法删除,该怎么解决?  提权  切换到root用户删除   设置权限  要删除一个目录,要看上一级目录的权限   要将一个文件移动或者拷贝到另一个目录时,也需要查看另一个目录的权限    19.登录到普通用户,使用sudo命令时,不想输出密码,怎么解决?  NOPASSWD:    20.怎样查看普通用户的sudo权限?  sudo  -l   21.配置好了sudo授权,怎么检查语法是否正确?  visudo  -c   22.禁止root用户远程登录,怎么实现?   [root@qls ~]# grep  'RootLogin'  /etc/ssh/sshd_config PermitRootLogin no  23.修改远程连接端口号为2222,然后进行登录?  [root@qls ~]# grep  'Port'  /etc/ssh/sshd_config #Port 22 #GatewayPorts no [root@qls ~]# sed  -i  '/^#Port/s#.*#Port 2222#g'  /etc/ssh/sshd_config [root@qls ~]# grep  'Port'  /etc/ssh/sshd_config Port 2222 #GatewayPorts no [root@qls ~]#   [root@qls ~]# systemctl  restart  sshd    [root@qls ~]# getenforce  Disabled [root@qls ~]# setenforce  0 setenforce: SElinux is disabled [root@qls ~]# ll /etc/sysconfig/selinux  -rw-r--r--. 1 root root 543 Jul 15 20:28 /etc/sysconfig/selinux  [root@qls ~]# systemctl  stop  firewalld    ssh  qls01@10.0.0.100 2222   24.把对sshd的设置修改成原来的设置。  [root@qls ~]# sed  -i  '/^Port/s#.*##Port 22#g'  /etc/ssh/sshd_config [root@qls ~]# !grep grep  'Port'  /etc/ssh/sshd_config #Port 22 #GatewayPorts no [root@qls ~]# systemctl  restart sshd   25.说出下面几个特殊符号的含义  * > >>  # .. . ^  $ `` !    *  #所有  >  #标准输出重定向  会清空文件的内容之后再将你的内容重定向进去  >>  #标准输出追加重定向 不会清空文件的内容,将文件内容追加到文件的底部    # #注释  管理员命令行提示符   ..  #当前目录的上一级目录  .  #当前目录   ^  #逻辑概念 开头       $ #结尾 最后一行  ``  #优先执行反引号里面的命令,把命令的执行结果交给外面的命令  里面必须是命令  跟  $()  !  #非  取反

9. 用户权限练习题

1.用户基础权限为9位,每三位为一组,每组代表着谁的权限?  属主    属组    其他用户    2.权限中的rwx-,每个字符所代表什么意思?对应的数字是什么?  r    可读    4  w    可写    2  x    可执行    1  -    没有权限  0   3.-rwxr-xr-x,写出对应数字权限  755  4.-rwxr--r--,写出对应数字权限  744   5.-r-xr-x--x,写出对应数字权限  551  6.-rw-r-xr-x,写出对应数字权限  655  7.-r--r--r--,写出对应数字权限  444  8.-r-xr-----,写出对应数字权限  540  9.---x-w-r--,写出对应数字权限  124  10.-rwxr--rw-,写出对应数字权限  746   11.-rw-r--r--,写出对应数字权限  644  12.---xr--rwx,写出对应数字权限  147  13.777,写出对应字母权限  -rwxrwxrwx  14.545,写出对应字母权限  -r-xr--r-x   15.744,写出对应字母权限  -rwxr--r--  16.600,写出对应字母权限  -rw-------  17.641,写出对应字母权限  -rw-r----x  18.711,写出对应字母权限  -rwx--x--x  19.700,写出对应字母权限  -rwx------  20.555,写出对应字母权限  -r-xr-xr-x  21.733,写出对应字母权限  -rwx-wx-wx  22.713,写出对应字母权限  -rwx--x-wx  23.建一个目录/test,查看这个目录的默认权限是?  755    24.进入/test目录中,建一个文件abc,查看其默认的权限为?  644   25.创建一个文件test.txt,并其将权限改为600.  chmod   600    test.txt  26.将test.txt文件的权限改为755.  chmod  755  test.txt  27.将test.txt文件的权限改为000.  chmod  000   test.txt  28.修改test.txt文件的权限为644.  chmod  644   test.txt  29.给test.txt文件的属主加上x权限。   chmod  u+x  test.txt  30.给test.txt文件的其他用户加上x权限。  chmod  o+x  test.txt  31.去除test.txt文件的所有执行权限。  chmod   -x  test.txt  32.给/test目录及目录下的所有文件或目录的权限统一改为744。  chmod  -R  744  /test   33.给/test目录及目录下的所有文件或目录加上x权限(属主、属组、其他用户都执行权限)。   chmod -R  +x  /test  34.使用stat命令查看test.txt文件的权限,并使用awk将权限取出来,比如:755  [root@qls ~]# stat  /etc/hosts   File: ‘/etc/hosts’   Size: 158        Blocks: 8          IO Block: 4096   regular file Device: 803h/2051d  Inode: 67125348    Links: 1 Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root) Access: 2020-07-27 16:29:57.708000982 +0800 Modify: 2013-06-07 22:31:32.000000000 +0800 Change: 2020-07-06 02:13:36.028996182 +0800  Birth: - [root@qls ~]# stat  /etc/hosts | awk -F '[(/]' 'NR==4{print  $2}' 0644    35.使用stat命令查看test.txt文件的权限,并使用sed将权限取出来,比如:755  [root@qls ~]# stat  /etc/hosts | sed  -nr  '4s#(^.*()(.*)(/[-d].*$)#2#gp' 0644   [root@qls ~]# stat  /etc | sed  -nr  '4s#(^.*()(.*)(/[-d].*$)#2#gp'

10. 用户权限练习题

1.创建目录/web01,所有者是user01,所属组是user02;创建目录/web02,所有者是user02,所属组是user01。  useradd   user01  useradd   user02  mkdir   /web01   /web02  chown  user01.user02   /web01  chown  user02.user01  /web02    2.复制/etc/fstab文件到/opt下,设置文件所有者为tomcat读写权限,所属组为apps组有读写权限,其他人无权限   cp   /etc/fstab   /opt  groupadd  apps  useradd  tomcat   chown  tomcat.apps   /opt/fstab   chmod  660  /opt/fstab   3.将以下权限翻译成数字,将数字权限用字母表示  rw-r-xr--  654 rw-r--r--  644 rwx--x--x  711 rw-------  600 rwxr--r--  744 rw-rw-r--  664 rwxrwxrwx  777 751     rwxr-x--x   771    rwxrwx--x   632    rw--wx-w-   551    r-xr-x--x   622    rw--w--w-   746    rwxr--rw-   644    rw-r--r--     755    rwxr-xr-x     4.假设公司研发部的用户david和peter属于组A,财务部的用户life和laowang属于组B,根据要求创建用户及组。  groupadd  A   groupadd  B  useradd  -g A david  useradd  -g A peter  useradd  -g  B  life  useradd  -g  B  laowang     5.接第4题,建立目录file1,该目录里面的文件只能由研发部人员读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何操作  mkdir -m  770   file1  chown  .A  file1 或 chgrp  A  file1  6.接第4题,建立目录file2,该目录里面的文件只能由财务部人员读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何操作  mkdir file2    chown  .B  file2    chmod  770  file2  7.接第4题,建立目录file3,该目录里面的文件研发部人员可以读取、增加、删除、修改以及执行,其他部门只能做查看操作  mkdir  -m   775   file3  chgrp  A  file3     8.接第4题,建立目录file4,该目录里面的文件只有研发部的经理David拥有所有操作权限,研发部的其他人只有查看权限,其他部门不能进行任何操作   mkdir  -m  750  file4  chown  David.A    file4   9.新建用户组,shengchan,demo,要求如下:   01、tom是shengchan组的附加成员   02、leo是demo组的附加成员   03、新建用户admin不属于以上任何一个组    groupadd  shengchan  groupadd  demo  useradd  -g  shengchan  tom  useradd   -g  demo   leo  useradd  admin       10.新建目录要求如下:   01、/pub/目录为公共存储目录,所有用户可以读写执行   02、/sc目录是生产部的目录,生产部的成员读写执行,并且生产部人员建立的文件自动归属到     shengchan组中   03、admin用户可以在/sc目录中可以读  mkdir -m 777  /pub  mkdir  -m  2770  /sc  chgrp  shengchan  /sc  chmod  o=rx  /sc     11.新建目录/www01,/www02,/www03  mkdir  /www{01..03}  12.接第11题,更改/www01目录的权限,使其他用户对它没有任何权限;  chmod  o=-   /www01   13.接第11题,更改/www02目录的权限,使所属组对它拥有读写执行权限;  chmod  g=rwx  /www02   14.接第11题,更改/www03目录的权限,任何用户都可以读写,但是在/www03目录中创建的任何文件都属于grp1组  chmod   2777  /www03    groupadd  grp1  chgrp  -R  grp1  /www03   15.新建用户zhangsan,lisi,wangergou,三个用户都属于同一个用户组f4,密码都为oldboy  groupadd  f4   useradd  -g f4  zhangsan  useradd  -g f4  lisi  useradd  -g f4  wangergou    echo "oldboy" |passwd  --stdin  zhangsan  echo "oldboy" |passwd  --stdin  lisi  echo "oldboy" |passwd  --stdin  wangergou  16.接15题,上述用户和组都能在/data/code目录,访问,创建,删除文件,其他用户无法访问该目录  mkdir  -p  -m  770  /data/code  chown  -R  .f4  /data/code   17.接15题,/data/code目录下创建的所有文件自动归属于f4组所有  chmod  g+s   /data/code   18.接15题,现在新增了一批用户,属于默认组,需要开放其他用户在code目录的读权限  chmod  o=rx  /data/code   19.接15题,新增的所有其他用户在code目录下创建的文件自动归属f4组  chmod  o=rwx   /data/code   20.有两个用户组,分别为python组、linux组,python组的人可以修改读取python组的文件,但不能让linux组的人读取;linux组的人可以修改读取linux组的文件,但不能让python组的人读取。  groupadd   linux  grouadd   python    touch   python.txt    chmod  770  python.txt  chgrp  python  python.txt   touch   linux.txt    chmod  770  linux.txt  chgrp  python  linux.txt    21.在当前目录中新建文件text,假设该文件的权限为614。现要求设置该文件属主(u)增加执行权限,属组(g)增加写权限,其他用户(o)删除读权限,应该如何操作,另外修改后的权限用字母应该如何表示  touch  text    chmod  614  text  chmod 730  text   -rwx-wx---    22.在当前目录中创建目录aaa,并把该目录的权限设置为只有文件主有读、写和执行权限  mkdir  -m 700  aaa  23.设某文件myfile的权限为-rw-r--r--,若要增加所有人可执行的权限,应该怎么做  chmod +x  myfile   24.登录到普通用户user01,删除/opt这个目录,提示权限不足,如果要删除/opt这个目录,不使用root用户删除的话,你该怎么解决?  sudo提权   chmod  u+s   /usr/bin/rm     25.创建目录/test,要求所有用户对这个目录有所有权限,现在只想让每个用户在这个目录只能对属于自己的文件进行操作,怎么实现?  mkdir  -m  1777  /test     26.创建一个文件/opt/file.txt,这个文件很重要,现要求所有人只能查看和追加内容进去,不允许有其他的操作,怎么实现?  chattr  +a  /opt/file.txt   27.取消上题的设置,现要求所有人只能查看此文件,不允许有其他的操作,怎么实现?  chattr  -a  /opt/file.txt  chattr  -i  /opt/file.txt    28.请问在当前系统中新创建的目录和文件,权限各是多少,为什么?  目录755  文件644  因umask  控制权限     29.如果我想要在系统中新创建的目录权限为555,文件为444,怎么实现?  umask   222   30.umask怎么计算目录及文件权限的?  目录最大777  减去umask权限   文件最大666  减去umask    文件权限遇到奇数时,在奇数为加1      31.在你修改了test.txt文件之后,如何知道在你下次要修改这个文件时,这个文件有没有被别人修改过?  [root@qls ~]# cp  /etc/hosts  ./ [root@qls ~]# ll total 4 drwxr-xr-x 2 root root   6 Jul 27 12:12 data -rw-r--r-- 1 root root 158 Jul 28 10:29 hosts [root@qls ~]# md5sum  hosts   > figer.txt [root@qls ~]# cat figer.txt 54fb6627dbaa37721048e4549db3224d  hosts [root@qls ~]# md5sum  -c  figer.txt  hosts: OK [root@qls ~]# echo "1" >> hosts  [root@qls ~]# md5sum  -c  figer.txt  hosts: FAILED md5sum: WARNING: 1 computed checksum did NOT match    32.输入时间命令"date"将当前系统时间输出到/data/1.txt   [root@qls ~]# date Tue Jul 28 10:31:47 CST 2020 [root@qls ~]# mkdir  -p /data [root@qls ~]# date > /data/1.txt [root@qls ~]# cat /data/1.txt Tue Jul 28 10:32:22 CST 2020    33.输入时间命令"date"将当前系统时间追加到/data/1.txt   [root@qls ~]# date >> /data/1.txt    34.在当前系统能ping通百度的情况下,使用" ping -c3 baidu.com "将返回的信息输出到/data/1.txt  [root@qls ~]# ping -c3 baidu.com  >/data/1.txt [root@qls ~]# cat /data/1.txt PING baidu.com (39.156.69.79) 56(84) bytes of data. 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=31.7 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=128 time=33.6 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=128 time=30.9 ms  --- baidu.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 30.939/32.112/33.623/1.140 ms   35.使用“ls /ta”将错误的信息输出到/data/1.txt  [root@qls ~]# ls /ta  2>/data/1.txt [root@qls ~]# cat /data/1.txt ls: cannot access /ta: No such file or directory   36.将/data/1.txt的文件内容,标准输出到/data/2.txt  [root@qls ~]# cat /data/1.txt  >  /data/2.txt [root@qls ~]# cat /data/2.txt ls: cannot access /ta: No such file or directory   37.使用"seq 10 50"将以0结尾的行标准输出到3.txt   [root@qls ~]# seq  10 50 | grep  '0$'  > 3.txt [root@qls ~]# cat 3.txt 10 20 30 40 50 [root@qls ~]# seq  10 50 | sed -n '/0$/p'   10 20 30 40 50 [root@qls ~]# seq  10 50 | awk  '/0$/' 10 20 30 40 50   38.把/etc/fstab文件内容重定向到/tmp目录下文件名为fstab.out  [root@qls ~]# cat  /etc/fstab   > /tmp/fstab.out [root@qls ~]# cat /tmp/fstab.out  # # /etc/fstab # Created by anaconda on Mon Jul  6 02:13:15 2020 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=4aa02e85-ffe1-4783-9886-a328f923bee8 /                       xfs     defaults        0 0 UUID=70df4a5b-091c-4aaa-9cc7-d745201ec394 /boot                   xfs     defaults        0 0 UUID=6aefd444-30dc-4c0e-9a8d-75a8b1d9856b swap                    swap    defaults        0 0    39.把字符"hello world"追加到/tmp/fstab.out文件尾部   [root@qls ~]# echo  "hello world" >> /tmp/fstab.out   40.输入df -h,取出当前系统根分区已用磁盘空间的百分比,并将取出来的数值输出到/data/1.txt  [root@qls ~]# df -h Filesystem      Size  Used Avail Use% Mounted on /dev/sda3        98G  1.4G   97G   2% / devtmpfs        980M     0  980M   0% /dev tmpfs           991M     0  991M   0% /dev/shm tmpfs           991M  9.6M  981M   1% /run tmpfs           991M     0  991M   0% /sys/fs/cgroup /dev/sda1       497M  120M  378M  25% /boot tmpfs           199M     0  199M   0% /run/user/0 [root@qls ~]# df -h | awk  '//$/' /dev/sda3        98G  1.4G   97G   2% / [root@qls ~]# df -h | awk  '//$/{print $5}'  2% [root@qls ~]# df -h | awk  '//$/{print $(NF-1)}'   >/data/1.txt    41.使用命令ping测试10.0.0.100是否通畅,把输出的结果不管是正确的还是错误的都追加到/data/1.txt  [root@qls ~]# ping  -c4  10.0.0.100  &> /data/1.txt  [root@qls ~]# cat /data/1.txt PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data. 64 bytes from 10.0.0.100: icmp_seq=1 ttl=64 time=0.134 ms 64 bytes from 10.0.0.100: icmp_seq=2 ttl=64 time=0.038 ms 64 bytes from 10.0.0.100: icmp_seq=3 ttl=64 time=0.038 ms 64 bytes from 10.0.0.100: icmp_seq=4 ttl=64 time=0.034 ms  --- 10.0.0.100 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3000ms rtt min/avg/max/mdev = 0.034/0.061/0.134/0.042 ms   42.使用重定向从文件/etc/passwd中读取数据。   [root@qls ~]# 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  43.用 << 举个命令的使用例子。   [root@qls ~]# cat >123.txt<<EOF > 12 > EOF [root@qls ~]# cat 123.txt  12    44.改变文件所有者的命令是?  chown  45.新建用户oldboy,oldgirl,属同一用户组edu  groupadd   edu  useradd  -g edu  oldboy   useradd  -g edu  oldgirl   46.修改文件1.txt的所有者为oldboy,属组为edu  chown  oldboy.edu  1.txt   47.除所有者以外,属组和其他用户均没有任何权限(要求普通用户进行验证)    48.复制/etc/fstab文件到/var/tmp下,设置文件所有者为wangcai读写权限,所属组为sysadmins组有读写权限,其他人无权限  cp  /etc/fstab  /var/tmp  useradd  wangcai  groupadd   sysadmins     chmod  660  /var/tmp/fstab  49.创建下面的用户、组和组成员关系,用户natasha,使用admins作为附属组,用户harry,也使用admins作为附属组,用户sh,不可以登录系统,natasha,harry,sh密码都是centos  groupadd   admins  useradd    -G  admins   natasha  useradd    -G  admins   harry    useradd  -M  -s  /sbin/nologin    echo "centos" | passwd   --stdin  natasha  echo "centos" | passwd   --stdin  harry  echo "centos" | passwd   --stdin  sh   50.新建一个用户rose,uid为555,gid为500,注释信息为:linux,家目录在/rose  groupadd  -g  500  rose  useradd  -u 555  -g 500  -c "linux"  -d  /rose   rose     51.翻译题 01).command not found         #没有这个命令         02).No such file or directory     #没有这个文件或者目录         03).Permission denied         #权限不足         04).overwrite           #覆盖        05).File exists           #文件已存在               06).Is a directory          #这是个目录             07).Not a directory         #这不是个目录                    08).Warning: Changing a readonly file   #警告:改变了一个只读文件     09).Found a swap file by the name ".1.swp"  #找到一个交换文件,他的名字是.1.swp 10).unrecognized option '--oldboy'      #未知的选项  --oldboy 11).Operation not permitted         #操作不允许  12).invalid option              #无效的选项

11.用户权限练习题

1.找出/tmp目录下,属主不是root,且文件名不以f开头的文件   find  /tmp  -type f   !  -user  root  -name "[^f]*"   2.查找/etc/目录下,所有.conf后缀的文件  find  /etc/   -type f  -name "*.conf"  3.查找/var目录下属主为root,且属组为mail的所有文件  find  /var  -user  root  -a  -group  mail     [root@qls ~]# find  /var  -user  root  -a  -group  mail    -ls 201345345    4 drwxrwxr-x   2 root     mail         4096 Jul 24 09:08 /var/spool/mail 201696091    4 -rw-------   1 root     mail         1857 Jul 22 11:11 /var/spool/mail/root     4.查找/var目录下7天以前,同时属主不为root,也不是postfix的文件   find  /var  -type  f  -mtime +7 ! -user  root  -a  ! -user postfix  [root@qls ~]# find  /var  -type  f  -mtime +7  ! ( -user  root  -o -user postfix  ) -ls    5.查找/etc目录下大于1M且类型为普通文件的所有文件  find  /etc   -type  f  -size +1M     6.查找/etc目录下所有用户都没有写权限的文件   [root@qls ~]# find  /etc/   !  -perm    /222  -ls    7.查找/目录下最后创建时间是3天前,后缀是*.log的文件  find  /  -type  f   -mtime  +3   -name "*.log"  8.查找/目录下文件名包含txt的文件   find  /  -type   -name  "*txt*"  9.查找/目录下属主是oldboy并且属组是oldboy的文件  find   /    -user  oldboy  -group  oldboy     10.查找/目录下属主是oldboy但是属组不是oldboy的文件  find  /  -user oldboy  ! -group  oldboy  11.查找/目录下属主是oldboy或者属主是oldgirl的文件  find  /   (  -user  oldboy  -o  -user  oldgirl  )   12.查找/tmp目录下属主既不是oldboy,也不是oldgirl的文件  find  /tmp  -type  f   ! -user oldboy -a  ! -user oldgirl  [root@qls ~]# find  /tmp  -type  f    ! ( -user  oldboy  -o -user oldgirl  ) -ls    13.查找/var/log目录下7天以前的文件  find  /var/log  -type  f    -mtime  +7     14.查找/tmp目录下15天以前的文件删除  find  /tmp   -type  f   -mtime  +15  -delete  find  /tmp   -type  f   -mtime  +15  | xargs  rm -f   find  /tmp   -type  f   -mtime  +15  -exec  rm -f  {}  ;  rm -f  $(find  /tmp   -type  f   -mtime  +15 )  rm -f `find  /tmp   -type  f   -mtime  +15 `  15.查找/home目录下,类型是目录的,并且属主是oldboy的目录  find  /home  -type  d  -user  oldboy   16.查找/var/log下大于100kb且以log结尾的所有文件  find  /var/log  -type f  -size +100k  -name "*log"   17.查找tmp目录下所属组group1,所属主user1的目录  find  /tmp -type  d  -user user1  -a  -group  group1    18.同时查找根目录下名为1.txt,2.txt的文件和名字带a的目录  [root@qls ~]# find  /data  -type  f  -name "[12].txt"  -o -type  d  -name "*a*" /data /data/1.txt /data/2.txt  [root@qls ~]# find  /data ( -type  f  -name "[12].txt"  -o -type  d  -name "*a*" ) -ls 818813    0 drwxrws---   3 root     ops_group      147 Jul 28 10:35 /data 818804    4 -rw-r--r--   1 root     ops_group      432 Jul 28 10:44 /data/1.txt 818807    4 -rw-r--r--   1 root     ops_group       49 Jul 28 10:35 /data/2.txt   19.查找/tmp目录下所有文件并删除  find  /tmp  -type f  -delete    20.查找/etc目录下至少有一类用户没有写权限的文件  find  /etc -type  f   ! -perm   -222  [root@qls ~]# find  /etc  -type  f   ! -perm   -222  -ls  21.查找/var目录下不属于root、lp、gdm的所有文件  find   /var  -type  f  ! (  -user root -o -user lp  -o -user gdm  )  [root@qls ~]# find   /var  -type  f  ! (  -user root -o -user lp  -o -user gdm  )  -ls    22.将/etc/中的所有目录(仅目录)复制到/tmp下,目录结构不变  [root@qls ~]# find  /etc -type  d  |  xargs -I  {}  mkdir  -p  /tmp/{}   [root@qls ~]# find  /etc/ -type  d   -exec  mkdir  -p  /opt/{}  ;     23.将/etc目录复制到/var/tmp/,/var/tmp/etc的所有目录权限777  /var/tmp/etc目录中所有文件权限666  cp  -a  /etc  /var/tmp/  find  /var/tmp/etc/   -type  d  -exec  chmod 777  {}  ;  find  /var/tmp/etc/   -type  f  -exec  chmod  666  {} ;   24.保留/var/log/下最近7天的日志文件,其他全部删除  find  /var/log   ! -mtime  -7  -delete    25.创建touch file{1..10}10个文件, 保留file9,其他一次全部删除  [root@qls opt]# find  ./  -type f   !  -name  "file9"  -delete    [root@qls opt]# find  ./  -type f  -name  "file[^9]*"  -delete  26.解释如下每条命令含义   mkdir /root/dir1    #创建目录   touch /root/dir1/file{1..10}  #创建文件   find /root/dir1 -type f -name "file5"  #查找文件名为file5的文件   find /root/dir1 ! -name "file5"    #查找文件名不是file5的文件   find /root/dir1 -name "file5" -o -name "file9"  #查找文件名是file5或者是file9的文件   #错误写法 find /root/dir1 -name "file5" -o -name "file9" -ls  #查找文件名是file5或者是file9的文件并显示详细信息   find /root/dir1 ( -name "file5" -o -name "file9" ) -ls #查找文件名是file5或者是file9的文件并显示详细信息    find /root/dir1 ( -name "file5" -o -name "file9" ) -exec rm -rvf {} ;  #删除file5或者file9  find /root/dir1 ! ( -name "file4" -o -name "file8" ) -exec rm -vf {} ;  #删除文件名不叫file4或者file8的文件

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享