


Apakah tetapan kebenaran pengguna linux?
May 11, 2023 pm 04:43 PM1. 权限的基本概述
什么是权限 系统对用户所能执行的功能的限制 为什么要有权限 为了保护每个用户的自己的工作环境和隐私 权限跟用户有什么关系 属主 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的文件
Atas ialah kandungan terperinci Apakah tetapan kebenaran pengguna linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Android TV Box mendapat peningkatan Ubuntu 24.04 tidak rasmi

DeepSeek Web Versi Pintu Masuk Laman Web Rasmi DeepSeek

Alamat muat turun aplikasi dompet BitPie Bitpie

Pemasangan Laman Web Rasmi Bitget (Panduan Pemula 2025)

Penjelasan terperinci: Perintah parameter pertimbangan pembolehubah skrip Shell

Pemasangan penyusunan kod sumber Zabbix 3.4

Pakej pemasangan OUYI OKX disertakan secara langsung
