linux用户权限设置有哪些
时间:2023-05-12 03:14
以上就是linux用户权限设置有哪些的详细内容,更多请关注Gxl网其它相关文章!1. 权限的基本概述
什么是权限 系统对用户所能执行的功能的限制 为什么要有权限为了保护每个用户的自己的工作环境和隐私 权限跟用户有什么关系 属主 User u属组 Group g其他人 others o a 所有 对应了三个基础权限r 可读 readable 4w 可写 writable 2x 可执行 executable 1- 没有权限 权限位占位符 0[root@qls ~]# ls -ltotal 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 ~]# lltotal 4-rw-r--r-- 1 root root 158 Jul 23 09:06 hosts[root@qls ~]# chmod u+x hosts [root@qls ~]# lltotal 4-rwxr--r-- 1 root root 158 Jul 23 09:06 hosts[root@qls ~]# chmod g+wx hosts[root@qls ~]# lltotal 4-rwxrwxr-- 1 root root 158 Jul 23 09:06 hosts[root@qls ~]# chmod o+w hosts [root@qls ~]# lltotal 4-rwxrwxrw- 1 root root 158 Jul 23 09:06 hosts[root@qls ~]# chmod a+x hosts [root@qls ~]# lltotal 4-rwxrwxrwx 1 root root 158 Jul 23 09:06 hosts#收回权限#a可以省略 [root@qls ~]# chmod -x hosts [root@qls ~]# lltotal 4-rw-rw-rw- 1 root root 158 Jul 23 09:06 hosts[root@qls ~]# chmod u-w hosts [root@qls ~]# lltotal 4-r--rw-rw- 1 root root 158 Jul 23 09:06 hosts[root@qls ~]# chmod g-w,o-rw hosts[root@qls ~]# lltotal 4-r--r----- 1 root root 158 Jul 23 09:06 hosts[root@qls ~]# #覆盖之前的所有权限[root@qls ~]# chmod a=rw hosts [root@qls ~]# lltotal 4-rw-rw-rw- 1 root root 158 Jul 23 09:06 hosts[root@qls ~]# chmod o=- hosts[root@qls ~]# lltotal 4-rw-rw---- 1 root root 158 Jul 23 09:06 hosts根据数字进行修改 会把原来的权限全部覆盖掉 -R #给目录的权限及目录以下的所有文件或者子目录都设置统一权限[root@qls ~]# chmod 644 hosts [root@qls ~]# lltotal 4-rw-r--r-- 1 root root 158 Jul 23 09:06 hosts[root@qls ~]# mkdir data[root@qls ~]# lltotal 4drwxr-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 0drwxr-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 0drwxr-xr-x 2 root dev 6 Jul 23 09:40 test[root@qls ~]# chmod 760 /opt/test/[root@qls ~]# ll /opt/total 0drwxrw---- 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 qls01Changing password for user qls01.passwd: all authentication tokens updated successfully.[root@qls ~]# su - qls01Last 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.txtdrwxrw---- 2 root dev 6 Jul 23 09:40 test[qls01@qls ~]$ cat /opt/file.txt hostname[qls01@qls ~]$ head /opt/file.txthostname[qls01@qls ~]$ tail /opt/file.txthostname[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 - qls01Last 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.txtcat: /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 uirethruietest[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 - qls01Last 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.txtcat: /opt/file.txt: Permission denied[qls01@qls ~]$ echo "123" >> /opt/file.txt-bash: /opt/file.txt: Permission denied[qls01@qls ~]$ /opt/file.txtbash: /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 - qls01Last 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.txthostnamepwd[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 - qls01Last login: Thu Jul 23 10:14:16 CST 2020 on pts/0[qls01@qls ~]$ cat /opt/file.txt hostnamepwd[qls01@qls ~]$ echo "123" > /opt/file.txt-bash: /opt/file.txt: Permission denied[qls01@qls ~]$ vim /opt/file.txt[qls01@qls ~]$ /opt/file.txtqls/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.txtdrwxrw-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.txtdrwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy01drwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy02drwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy03[root@qls ~]# su - qls01Last 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 deniedls: cannot access /opt/test/data.log: Permission deniedls: cannot access /opt/test/data.sh: Permission deniedls: cannot access /opt/test/oldboy01: Permission deniedls: cannot access /opt/test/oldboy02: Permission deniedls: cannot access /opt/test/oldboy03: Permission denieddata.log data.sh data.txt oldboy01 oldboy02 oldboy03[qls01@qls ~]$ ls -l /opt/test/ls: cannot access /opt/test/data.txt: Permission deniedls: cannot access /opt/test/data.log: Permission deniedls: cannot access /opt/test/data.sh: Permission deniedls: cannot access /opt/test/oldboy01: Permission deniedls: cannot access /opt/test/oldboy02: Permission deniedls: cannot access /opt/test/oldboy03: Permission deniedtotal 0-????????? ? ? ? ? ? data.log-????????? ? ? ? ? ? data.sh-????????? ? ? ? ? ? data.txtd????????? ? ? ? ? ? oldboy01d????????? ? ? ? ? ? oldboy02d????????? ? ? ? ? ? oldboy03[qls01@qls ~]$ rm -f /opt/test/data.log rm: cannot remove ‘/opt/test/data.log’: Permission denied[qls01@qls ~]$ touch /opt/test/data.conftouch: cannot touch ‘/opt/test/data.conf’: Permission denied[qls01@qls ~]$ mv /opt/test/data.log /tmpmv: 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.txtdrwxrw--w- 5 root root 101 Jul 23 10:51 test[root@qls ~]# su - qls01Last 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.txttouch: cannot touch ‘/opt/test/123.txt’: Permission denied[qls01@qls ~]$ rm -f /opt/test/data.logrm: 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 /tmpcp: cannot stat ‘/opt/test/data.log’: Permission denied[qls01@qls ~]$ cp /opt/test/data.log /tmpcp: 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.logrm: 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 - qls01Last login: Thu Jul 23 10:57:51 CST 2020 on pts/0[qls01@qls ~]$ cd /opt/test/[qls01@qls test]$ lsls: cannot open directory .: Permission denied[qls01@qls test]$ ls -lls: cannot open directory .: Permission denied[qls01@qls test]$ rm -f data.logrm: cannot remove ‘data.log’: Permission denied[qls01@qls test]$ touch data.conftouch: 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 4drwxr-xr-x. 2 root root 51 Jul 17 17:59 data1drwxr-xr-x. 2 root root 51 Jul 17 17:59 data2drwxr-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.txtdrwxrw-rw- 5 root root 101 Jul 23 10:51 test[root@qls ~]# su - qls01Last 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 deniedls: cannot access /opt/test/data.log: Permission deniedls: cannot access /opt/test/data.sh: Permission deniedls: cannot access /opt/test/oldboy01: Permission deniedls: cannot access /opt/test/oldboy02: Permission deniedls: cannot access /opt/test/oldboy03: Permission denieddata.log data.sh data.txt oldboy01 oldboy02 oldboy03[qls01@qls ~]$ ls -l /opt/test/ls: cannot access /opt/test/data.txt: Permission deniedls: cannot access /opt/test/data.log: Permission deniedls: cannot access /opt/test/data.sh: Permission deniedls: cannot access /opt/test/oldboy01: Permission deniedls: cannot access /opt/test/oldboy02: Permission deniedls: cannot access /opt/test/oldboy03: Permission deniedtotal 0-????????? ? ? ? ? ? data.log-????????? ? ? ? ? ? data.sh-????????? ? ? ? ? ? data.txtd????????? ? ? ? ? ? oldboy01d????????? ? ? ? ? ? oldboy02d????????? ? ? ? ? ? oldboy03[qls01@qls ~]$ touch /opt/test/data.conftouch: cannot touch ‘/opt/test/data.conf’: Permission denied[qls01@qls ~]$ rm -f /opt/test/data.logrm: 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.txtdrwxrw-r-x 5 root root 101 Jul 23 10:51 test[root@qls ~]# su - qls01Last login: Thu Jul 23 11:10:14 CST 2020 on pts/0[qls01@qls ~]$ cd /opt/test/[qls01@qls test]$ lsdata.log data.sh data.txt oldboy01 oldboy02 oldboy03[qls01@qls test]$ ls -ltotal 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.txtdrwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy01drwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy02drwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy03[qls01@qls test]$ touch data.conftouch: 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 4drwxr-xr-x. 2 root root 51 Jul 17 17:59 data1drwxr-xr-x. 2 root root 51 Jul 17 17:59 data2drwxr-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.txtdrwxrw--wx 5 root root 101 Jul 23 10:51 test[root@qls ~]# su - qls01Last login: Thu Jul 23 11:12:31 CST 2020 on pts/0[qls01@qls ~]$ cd /opt/test/[qls01@qls test]$ lsls: cannot open directory .: Permission denied[qls01@qls test]$ touch 123.txt[qls01@qls test]$ lsls: cannot open directory .: Permission denied[qls01@qls test]$ rm -f data.log[qls01@qls test]$ mv data.txt /tmp/[qls01@qls test]$ lsls: 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.txtdrwxrw--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.txtdrwxrw--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.txtdrwxrw--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.txtdrwxrw--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.shdrwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy01drwxr-xr-x 2 root root 6 Jul 23 10:51 oldboy02drwxr-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.shdrwxr-xr-x 2 qls01 qls01 6 Jul 23 10:51 oldboy01drwxr-xr-x 2 qls01 qls01 6 Jul 23 10:51 oldboy02drwxr-xr-x 2 qls01 qls01 6 Jul 23 10:51 oldboy03chgrp #设置属组 [root@qls ~]# chgrp root /opt/test/[root@qls ~]# ll -d /opt/test/
7. Umask控制权限
[root@qls ~]# lltotal 4drwxr-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 ~]# umask0022系统中是如何计算权限 系统新创建的目录的权限由最大权限777减去umask控制权限022得到的就是755,所以说新创建的目录的权限为755,新创建文件的权限由文件最大权限666减去umask控制权限022,得到644权限,所以说新创建的文件的权限为644,当文件权限遇到奇数时,在奇数为加一 [root@qls ~]# umask0022[root@qls ~]# umask 033[root@qls ~]# umask 0033[root@qls ~]# mkdir oldboy[root@qls ~]# lltotal 4drwxr-xr-x 2 root root 6 Jul 23 11:21 123-rw-r--r-- 1 root root 0 Jul 23 11:21 123.txtdrwxr--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.05USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot pts/0 10.0.0.1 Wed09 50:37 0.30s 0.00s -bashroot pts/1 10.0.0.1 12:03 5.00s 0.00s 0.00s wroot pts/2 10.0.0.1 12:09 34.00s 0.00s 0.00s -bashroot pts/3 10.0.0.1 12:09 32.00s 0.00s 0.00s -bashqls01 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 -bashroot pts/1 10.0.0.1 12:03 1.00s 0.00s 0.00s wroot pts/2 10.0.0.1 12:09 46.00s 0.00s 0.00s -bashroot pts/3 10.0.0.1 12:09 44.00s 0.00s 0.00s -bashqls01 pts/4 10.0.0.1 12:10 16.00s 0.00s 0.00s -bash[root@qls ~]# w | awk 'NR>2{print $1}'rootrootrootrootqls01[root@qls ~]# w | awk 'NR>2{print $1}' | sort qls01rootrootrootroot[root@qls ~]# w | awk 'NR>2{print $1}' | sort |uniq -c 1 qls01 4 root[root@qls ~]# 3.创建用户olddir,其ID号为1005,基本组为oldgroupadd olduseradd -u1005 -g old olddir 4.显示当前登录的用户的UID号,你有几种方法实现?idgrep 'user' /etc/passwd echo $UID5.对于用户来说,组有几种类别?有什么区别?基本组 每个用户只能有一个基本组附加组 用户可以拥有多个附加组 6./etc/group文件以:为分隔符,分为四列,解释其每列的含义?7./etc/gshadow文件以:为分隔符,分为四列,解释其每列的含义?8.如果想从root用户切换到普通用户,使用什么命令?su - username9.切换到普通用户后,想返回到root用户,怎么做?有几种方法,有什么区别?su - Ctrl + D logoutexit10.Shell主要分为哪几类?交互式非交互式登录式非登录式11.Bash Shell的个人及全局配置文件有哪些?哪个优先级别高?个人高12.登录式Shell配置文件执行顺序?13.非登录式shell配置文件执行顺序?14.在root用户下,以普通用户身份执行"pwd"命令。[root@qls ~]# su - qls01 -c "pwd"/home/qls0115.什么是sudo?用来提权 给普通用户提权16.可以根据哪个文件对sudo提权?/etc/sudoers17.登录到普通用户,查看/etc/shadow文件的内容,发现查看不了,怎么办?提权 切换到root用户查看设置权限 18.登录到普通用户,删除/opt目录,若无法删除,该怎么解决?提权切换到root用户删除 设置权限要删除一个目录,要看上一级目录的权限 要将一个文件移动或者拷贝到另一个目录时,也需要查看另一个目录的权限19.登录到普通用户,使用sudo命令时,不想输出密码,怎么解决?NOPASSWD: 20.怎样查看普通用户的sudo权限?sudo -l21.配置好了sudo授权,怎么检查语法是否正确?visudo -c22.禁止root用户远程登录,怎么实现?[root@qls ~]# grep 'RootLogin' /etc/ssh/sshd_configPermitRootLogin no23.修改远程连接端口号为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_configPort 2222#GatewayPorts no[root@qls ~]# [root@qls ~]# systemctl restart sshd[root@qls ~]# getenforce Disabled[root@qls ~]# setenforce 0setenforce: 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 firewalldssh qls01@10.0.0.100 222224.把对sshd的设置修改成原来的设置。[root@qls ~]# sed -i '/^Port/s#.*##Port 22#g' /etc/ssh/sshd_config[root@qls ~]# !grepgrep 'Port' /etc/ssh/sshd_config#Port 22#GatewayPorts no[root@qls ~]# systemctl restart sshd25.说出下面几个特殊符号的含义 * > >> # .. . ^ $ `` ! * #所有> #标准输出重定向 会清空文件的内容之后再将你的内容重定向进去>> #标准输出追加重定向 不会清空文件的内容,将文件内容追加到文件的底部 # #注释 管理员命令行提示符 .. #当前目录的上一级目录. #当前目录 ^ #逻辑概念 开头 $ #结尾 最后一行`` #优先执行反引号里面的命令,把命令的执行结果交给外面的命令 里面必须是命令 跟 $()! #非 取反
9. 用户权限练习题
1.用户基础权限为9位,每三位为一组,每组代表着谁的权限?属主 属组 其他用户2.权限中的rwx-,每个字符所代表什么意思?对应的数字是什么?r 可读 4w 可写 2x 可执行 1- 没有权限 03.-rwxr-xr-x,写出对应数字权限7554.-rwxr--r--,写出对应数字权限7445.-r-xr-x--x,写出对应数字权限5516.-rw-r-xr-x,写出对应数字权限6557.-r--r--r--,写出对应数字权限4448.-r-xr-----,写出对应数字权限5409.---x-w-r--,写出对应数字权限12410.-rwxr--rw-,写出对应数字权限74611.-rw-r--r--,写出对应数字权限64412.---xr--rwx,写出对应数字权限14713.777,写出对应字母权限-rwxrwxrwx14.545,写出对应字母权限-r-xr--r-x15.744,写出对应字母权限-rwxr--r--16.600,写出对应字母权限-rw-------17.641,写出对应字母权限-rw-r----x18.711,写出对应字母权限-rwx--x--x19.700,写出对应字母权限-rwx------20.555,写出对应字母权限-r-xr-xr-x21.733,写出对应字母权限-rwx-wx-wx22.713,写出对应字母权限-rwx--x-wx23.建一个目录/test,查看这个目录的默认权限是?75524.进入/test目录中,建一个文件abc,查看其默认的权限为?64425.创建一个文件test.txt,并其将权限改为600.chmod 600 test.txt26.将test.txt文件的权限改为755.chmod 755 test.txt27.将test.txt文件的权限改为000.chmod 000 test.txt28.修改test.txt文件的权限为644.chmod 644 test.txt29.给test.txt文件的属主加上x权限。chmod u+x test.txt30.给test.txt文件的其他用户加上x权限。chmod o+x test.txt31.去除test.txt文件的所有执行权限。chmod -x test.txt32.给/test目录及目录下的所有文件或目录的权限统一改为744。chmod -R 744 /test33.给/test目录及目录下的所有文件或目录加上x权限(属主、属组、其他用户都执行权限)。chmod -R +x /test34.使用stat命令查看test.txt文件的权限,并使用awk将权限取出来,比如:755[root@qls ~]# stat /etc/hosts File: ‘/etc/hosts’ Size: 158 Blocks: 8 IO Block: 4096 regular fileDevice: 803h/2051d Inode: 67125348 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2020-07-27 16:29:57.708000982 +0800Modify: 2013-06-07 22:31:32.000000000 +0800Change: 2020-07-06 02:13:36.028996182 +0800 Birth: -[root@qls ~]# stat /etc/hosts | awk -F '[(/]' 'NR==4{print $2}'064435.使用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 user01useradd user02mkdir /web01 /web02chown user01.user02 /web01chown user02.user01 /web022.复制/etc/fstab文件到/opt下,设置文件所有者为tomcat读写权限,所属组为apps组有读写权限,其他人无权限cp /etc/fstab /optgroupadd appsuseradd tomcat chown tomcat.apps /opt/fstab chmod 660 /opt/fstab3.将以下权限翻译成数字,将数字权限用字母表示rw-r-xr-- 654rw-r--r-- 644rwx--x--x 711rw------- 600rwxr--r-- 744rw-rw-r-- 664rwxrwxrwx 777751 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-x4.假设公司研发部的用户david和peter属于组A,财务部的用户life和laowang属于组B,根据要求创建用户及组。groupadd A groupadd Buseradd -g A daviduseradd -g A peteruseradd -g B lifeuseradd -g B laowang5.接第4题,建立目录file1,该目录里面的文件只能由研发部人员读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何操作mkdir -m 770 file1chown .A file1或chgrp A file16.接第4题,建立目录file2,该目录里面的文件只能由财务部人员读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何操作mkdir file2 chown .B file2 chmod 770 file27.接第4题,建立目录file3,该目录里面的文件研发部人员可以读取、增加、删除、修改以及执行,其他部门只能做查看操作mkdir -m 775 file3chgrp A file38.接第4题,建立目录file4,该目录里面的文件只有研发部的经理David拥有所有操作权限,研发部的其他人只有查看权限,其他部门不能进行任何操作mkdir -m 750 file4chown David.A file49.新建用户组,shengchan,demo,要求如下: 01、tom是shengchan组的附加成员 02、leo是demo组的附加成员 03、新建用户admin不属于以上任何一个组 groupadd shengchangroupadd demouseradd -g shengchan tomuseradd -g demo leouseradd admin 10.新建目录要求如下: 01、/pub/目录为公共存储目录,所有用户可以读写执行 02、/sc目录是生产部的目录,生产部的成员读写执行,并且生产部人员建立的文件自动归属到 shengchan组中 03、admin用户可以在/sc目录中可以读mkdir -m 777 /pubmkdir -m 2770 /scchgrp shengchan /scchmod o=rx /sc 11.新建目录/www01,/www02,/www03mkdir /www{01..03}12.接第11题,更改/www01目录的权限,使其他用户对它没有任何权限;chmod o=- /www0113.接第11题,更改/www02目录的权限,使所属组对它拥有读写执行权限;chmod g=rwx /www0214.接第11题,更改/www03目录的权限,任何用户都可以读写,但是在/www03目录中创建的任何文件都属于grp1组chmod 2777 /www03 groupadd grp1chgrp -R grp1 /www0315.新建用户zhangsan,lisi,wangergou,三个用户都属于同一个用户组f4,密码都为oldboygroupadd f4 useradd -g f4 zhangsanuseradd -g f4 lisiuseradd -g f4 wangergou echo "oldboy" |passwd --stdin zhangsanecho "oldboy" |passwd --stdin lisiecho "oldboy" |passwd --stdin wangergou16.接15题,上述用户和组都能在/data/code目录,访问,创建,删除文件,其他用户无法访问该目录mkdir -p -m 770 /data/codechown -R .f4 /data/code17.接15题,/data/code目录下创建的所有文件自动归属于f4组所有chmod g+s /data/code18.接15题,现在新增了一批用户,属于默认组,需要开放其他用户在code目录的读权限chmod o=rx /data/code19.接15题,新增的所有其他用户在code目录下创建的文件自动归属f4组chmod o=rwx /data/code20.有两个用户组,分别为python组、linux组,python组的人可以修改读取python组的文件,但不能让linux组的人读取;linux组的人可以修改读取linux组的文件,但不能让python组的人读取。groupadd linuxgrouadd python touch python.txt chmod 770 python.txtchgrp python python.txttouch linux.txt chmod 770 linux.txtchgrp python linux.txt21.在当前目录中新建文件text,假设该文件的权限为614。现要求设置该文件属主(u)增加执行权限,属组(g)增加写权限,其他用户(o)删除读权限,应该如何操作,另外修改后的权限用字母应该如何表示touch text chmod 614 textchmod 730 text -rwx-wx--- 22.在当前目录中创建目录aaa,并把该目录的权限设置为只有文件主有读、写和执行权限mkdir -m 700 aaa23.设某文件myfile的权限为-rw-r--r--,若要增加所有人可执行的权限,应该怎么做chmod +x myfile24.登录到普通用户user01,删除/opt这个目录,提示权限不足,如果要删除/opt这个目录,不使用root用户删除的话,你该怎么解决?sudo提权 chmod u+s /usr/bin/rm25.创建目录/test,要求所有用户对这个目录有所有权限,现在只想让每个用户在这个目录只能对属于自己的文件进行操作,怎么实现?mkdir -m 1777 /test 26.创建一个文件/opt/file.txt,这个文件很重要,现要求所有人只能查看和追加内容进去,不允许有其他的操作,怎么实现?chattr +a /opt/file.txt27.取消上题的设置,现要求所有人只能查看此文件,不允许有其他的操作,怎么实现?chattr -a /opt/file.txtchattr -i /opt/file.txt28.请问在当前系统中新创建的目录和文件,权限各是多少,为什么?目录755文件644因umask 控制权限 29.如果我想要在系统中新创建的目录权限为555,文件为444,怎么实现?umask 22230.umask怎么计算目录及文件权限的?目录最大777 减去umask权限 文件最大666 减去umask 文件权限遇到奇数时,在奇数为加1 31.在你修改了test.txt文件之后,如何知道在你下次要修改这个文件时,这个文件有没有被别人修改过?[root@qls ~]# cp /etc/hosts ./[root@qls ~]# lltotal 4drwxr-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.txt54fb6627dbaa37721048e4549db3224d hosts[root@qls ~]# md5sum -c figer.txt hosts: OK[root@qls ~]# echo "1" >> hosts [root@qls ~]# md5sum -c figer.txt hosts: FAILEDmd5sum: WARNING: 1 computed checksum did NOT match32.输入时间命令"date"将当前系统时间输出到/data/1.txt[root@qls ~]# dateTue Jul 28 10:31:47 CST 2020[root@qls ~]# mkdir -p /data[root@qls ~]# date > /data/1.txt[root@qls ~]# cat /data/1.txtTue Jul 28 10:32:22 CST 202033.输入时间命令"date"将当前系统时间追加到/data/1.txt[root@qls ~]# date >> /data/1.txt34.在当前系统能ping通百度的情况下,使用" ping -c3 baidu.com "将返回的信息输出到/data/1.txt[root@qls ~]# ping -c3 baidu.com >/data/1.txt[root@qls ~]# cat /data/1.txtPING 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 ms64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=128 time=33.6 ms64 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 2004msrtt min/avg/max/mdev = 30.939/32.112/33.623/1.140 ms35.使用“ls /ta”将错误的信息输出到/data/1.txt[root@qls ~]# ls /ta 2>/data/1.txt[root@qls ~]# cat /data/1.txtls: cannot access /ta: No such file or directory36.将/data/1.txt的文件内容,标准输出到/data/2.txt[root@qls ~]# cat /data/1.txt > /data/2.txt[root@qls ~]# cat /data/2.txtls: cannot access /ta: No such file or directory37.使用"seq 10 50"将以0结尾的行标准输出到3.txt[root@qls ~]# seq 10 50 | grep '0$' > 3.txt[root@qls ~]# cat 3.txt1020304050[root@qls ~]# seq 10 50 | sed -n '/0$/p' 1020304050[root@qls ~]# seq 10 50 | awk '/0$/'102030405038.把/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 0UUID=70df4a5b-091c-4aaa-9cc7-d745201ec394 /boot xfs defaults 0 0UUID=6aefd444-30dc-4c0e-9a8d-75a8b1d9856b swap swap defaults 0 039.把字符"hello world"追加到/tmp/fstab.out文件尾部[root@qls ~]# echo "hello world" >> /tmp/fstab.out 40.输入df -h,取出当前系统根分区已用磁盘空间的百分比,并将取出来的数值输出到/data/1.txt[root@qls ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 98G 1.4G 97G 2% /devtmpfs 980M 0 980M 0% /devtmpfs 991M 0 991M 0% /dev/shmtmpfs 991M 9.6M 981M 1% /runtmpfs 991M 0 991M 0% /sys/fs/cgroup/dev/sda1 497M 120M 378M 25% /boottmpfs 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.txt41.使用命令ping测试10.0.0.100是否通畅,把输出的结果不管是正确的还是错误的都追加到/data/1.txt[root@qls ~]# ping -c4 10.0.0.100 &> /data/1.txt [root@qls ~]# cat /data/1.txtPING 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 ms64 bytes from 10.0.0.100: icmp_seq=2 ttl=64 time=0.038 ms64 bytes from 10.0.0.100: icmp_seq=3 ttl=64 time=0.038 ms64 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 3000msrtt min/avg/max/mdev = 0.034/0.061/0.134/0.042 ms42.使用重定向从文件/etc/passwd中读取数据。[root@qls ~]# cat < /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologin43.用 << 举个命令的使用例子。[root@qls ~]# cat >123.txt<<EOF> 12> EOF[root@qls ~]# cat 123.txt 1244.改变文件所有者的命令是?chown45.新建用户oldboy,oldgirl,属同一用户组edugroupadd eduuseradd -g edu oldboyuseradd -g edu oldgirl46.修改文件1.txt的所有者为oldboy,属组为educhown oldboy.edu 1.txt47.除所有者以外,属组和其他用户均没有任何权限(要求普通用户进行验证)48.复制/etc/fstab文件到/var/tmp下,设置文件所有者为wangcai读写权限,所属组为sysadmins组有读写权限,其他人无权限cp /etc/fstab /var/tmpuseradd wangcaigroupadd sysadmins chmod 660 /var/tmp/fstab49.创建下面的用户、组和组成员关系,用户natasha,使用admins作为附属组,用户harry,也使用admins作为附属组,用户sh,不可以登录系统,natasha,harry,sh密码都是centosgroupadd adminsuseradd -G admins natashauseradd -G admins harry useradd -M -s /sbin/nologin echo "centos" | passwd --stdin natashaecho "centos" | passwd --stdin harryecho "centos" | passwd --stdin sh50.新建一个用户rose,uid为555,gid为500,注释信息为:linux,家目录在/rosegroupadd -g 500 roseuseradd -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.swp10).unrecognized option '--oldboy' #未知的选项 --oldboy11).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 -ls201345345 4 drwxrwxr-x 2 root mail 4096 Jul 24 09:08 /var/spool/mail201696091 4 -rw------- 1 root mail 1857 Jul 22 11:11 /var/spool/mail/root4.查找/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 oldboy11.查找/目录下属主是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 -deletefind /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 oldboy16.查找/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*" ) -ls818813 0 drwxrws--- 3 root ops_group 147 Jul 28 10:35 /data818804 4 -rw-r--r-- 1 root ops_group 432 Jul 28 10:44 /data/1.txt818807 4 -rw-r--r-- 1 root ops_group 49 Jul 28 10:35 /data/2.txt19.查找/tmp目录下所有文件并删除find /tmp -type f -delete 20.查找/etc目录下至少有一类用户没有写权限的文件find /etc -type f ! -perm -222[root@qls ~]# find /etc -type f ! -perm -222 -ls21.查找/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 ) -ls22.将/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目录中所有文件权限666cp -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]*" -delete26.解释如下每条命令含义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或者file9find /root/dir1 ! ( -name "file4" -o -name "file8" ) -exec rm -vf {} ;#删除文件名不叫file4或者file8的文件