携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第5天,点击查看活动详情
挑战:寻找文件
介绍
有一个非常重要的文件(sources.list)但是你忘了它在哪了,你依稀记得它在 /etc/ 目录下,现在要你把这个文件找出来,然后设置成自己(shiyanlou 用户)可以访问,但是其他用户并不能访问。
目标
- 找到
sources.list文件 - 把文件所有者改为自己(shiyanlou)
- 把权限修改为仅仅只有自己可读可写
提示语
- find
- chmod
- chown
- sudo
注意:如果是实验楼的海外用户,由于环境差异可能会找到两个 sources.list 文件,不需要修改 shiyanlou 目录下的 sources.list,因为这个文件是从实验环境外部挂载到环境中的,是无法修改的。
一.find:
Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:
# find . -name "*.c"
将当前目录及其子目录中的所有文件列出:
# find . -type f
将当前目录及其子目录下所有最近 20 天内更新过的文件列出:
# find . -ctime 20
sudo find /etc -name "sources.list"
二.chmod:
字母在 who 的位置来说明,如 who 的符号模式表所示:
| who | 用户类型 | 说明 |
|---|---|---|
| u | user | 文件所有者 |
| g | group | 文件所有者所在组 |
| o | others | 所有其他用户 |
| a | all | 所用用户, 相当于 ugo |
八进制语法
| # | 权限 | rwx | 二进制 |
|---|---|---|---|
| 7 | 读 + 写 + 执行 | rwx | 111 |
| 6 | 读 + 写 | rw- | 110 |
| 5 | 读 + 执行 | r-x | 101 |
| 4 | 只读 | r-- | 100 |
| 3 | 写 + 执行 | -wx | 011 |
| 2 | 只写 | -w- | 010 |
| 1 | 只执行 | --x | 001 |
| 0 | 无 | --- | 000 |
例如, 765 将这样解释:
- 所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如 rwx ,也就是 4+2+1 ,应该是 7。
- 用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如 rw- ,也就是 4+2+0 ,应该是 6。
- 其它用户的权限数字表达:其它用户权限位的数字相加的总和。如 r-x ,也就是 4+0+1 ,应该是 5。
sudo chmod 600 /etc/apt/sources.list
三.chown:
Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令。
把 /var/run/httpd.pid 的所有者设置 root:
chown root /var/run/httpd.pid
将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup :
chown runoob:runoobgroup file1.txt
chown shiyanlou /etc/apt/sources.list