学习find & chown & chmod

以目的为指向,引导学习
(题目源于实验楼小测试 https://www.shiyanlou.com/courses/1)
1.改变sources.list的所有者为shiyanlou
2.改变sources.list的权限为只允许所有者读写
3.sources.list 在/etc下
—————————————————————————————————————
思考思路
1.找到文件所在——需要用到find指令
2.改变权限——chmod
3.改变所有者——chown
改变所有者那首先得是系统用户中的一员,通过百度可知道文件passwd内存有所有系统名字。
————————————————————————————————————
指令介绍
/etc = editable text configuration 放置系统文件配置文件的地方
具体请man xxx
find : 查询指令
find /etc -name "sour.list" //是正则匹配中表示任意字符
find /etc -name "passwd"

cat 可以查看文档内容
cat passwd

chown :change owner(改变用户)
作用改变文件/文件夹的所有者信息
chown 用户名:组名 文件路径(可以是就对路径也可以是相对路径)
例1:chown root:root /tmp/tmp1
就是把tmp下的tmp1的用户名和用户组改成root和root(只修改了tmp1的属组).
例2:chown -R root:root /tmp/tmp1
就是把tmp下的tmp1下的所有文件的属组都改成root和root。

chmod(参考网络高手分享)
用来修改某个目录或文件的访问权限。
语法:chmod [who] [+ | - | =] [mode] 文件名
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
  u 表示“用户(user)”,即文件或目录的所有者。
  g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
  o 表示“其他(others)用户”。
  a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
  + 添加某个权限。
  - 取消某个权限。
  = 赋予给定权限并取消其他所有权限(如果有的话)。
设置 mode 所表示的权限可用下述字母的任意组合:
  r 可读。
  w 可写。
 x 可执行。
  X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
  s 在文件执行时把进程的属主或组ID置为该文件的文件属主。
方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
  t 保存程序的文本到交换设备上。
  u 与文件属主拥有一样的权限。
  g 与和文件属主同组的用户拥有一样的权限。
  o 与其他用户拥有一样的权限。

文件名:以空格分开的要改变权限的文件列表,支持通配符。

chmod :
drwxr-xr-x 3 hdfs hdfs 4096 4月 14 16:19 nameservice1
权限 所属用户 所属组别 大小 时间 文件名
第1位:d :目录 - :文件
第2-4 所有者权限
第5-7 组权限
第8-10 其他用户权限

r:可读——4
w:可写——2
x:可执行——1
-:未授予权限—— 0
选项
+:添加
-:删除
=:唯一
-rw-------(600):所有者才有读写权利

————————————————————————————————————
具体实现过程
1.查找 passwd 和 sources.list 文件
passwd 我们需要的在/etc目录下的这一个
find /etc -name "sources.list"

root@dijia-X550CC:/etc# find /etc -name "sources.list"
/etc/apt/sources.list

2.查看用户信息
cat passwd

3.进入sources.list 所在目录
cd /etc/apt

4.改变所有者
先查看现在的文件信息
ls -l sources.list
-rw-r--r-- 1 root root 3009 4月 29 20:16 sources.list

改变所有者
chown shiyanlou sources.list

5.改变权限信息
以下命令都可以实现目的

chmod 600 goalfile

chmod -rw------- goalfile

chmod a= goalfile #先取消所有权限
chmod u=rw goalfile

你可能感兴趣的:(学习find & chown & chmod)