chown
功能:chown就是change owner的意思,主要作用就是改变文件或者目录的所有者,而所有者包含用户和用户组,其实chown就是对文件所属的用户和用户组进行的一系列设置。
chown -R liao:liao liao#修改属组和属主


chown -R liao liao2 #修改属主

chown -R :liao liao3#修改属组

-R : 进行递归式的权限更改,也就是将目录下的所有文件、子目录都更新成为指定的用户组权限。常常用于变更某一目录的情况。 如果是文件的话,就不需要加
文件的权限属性解读
通过“ls –al”可以显示文件或者目录的权限信息,看下面的输出:
[root@localhost oracle]# ls -al
drwxr-xr– 3 oracle oinstall 4096 Mar 20 2024 oradata

第一列显示文档类型与执行权限,有十个字符组成,分为4个部分,下面将文档oradata权限分解

在Linux中常见的有7种文件类型:
普通文件(-表示)
目录(d表示)
字符设备文件(c)
块设备文件(b)
套接字文件(s)
管道(p)
符号链接文件(l)

chmod
功能:chmod用于改变文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的字符设定法;另一种是包含数字的数字设定法。
1、字符表示法
chmod [who] [+ | – | =] [mode] 文件名
who表示操作对象,可以是下面字母中的任何一个或者它们的组合。
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“用户组(group)”,即文件或目录所属的用户组。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号含义如下:
“+”表示添加某个权限。
“-”表示取消某个权限。
“=”表示赋予给定的权限,同时取消文档以前的所有权限。
mode表示可以执行的权限:
可以是“r“(只读)、“w”(可写)和“x”(可执行),以及它们的组合。
chmod -R xxxx 是递归权限,给当前目录下的文件也加上或减去权限
2、数字表示法
chmod [属主权限的数字组合] [用户组权限的数字组合] [其它用户权限的数字组合] 文件名
0表示没有任何权限
1表示有可执行权限,与上面字符表示法中的“x”有相同的含义。
2表示有可写权限,与“w”对应
4表示有可读权限,对应与“r“
如果想让文件的属主拥有读和写的权限,可以通过4(可读)+2(可写)=6(可读可写)的方式来实现,那么用数字6就表示拥有读写权限。
| 目录权限 | 文件权限 | ls 目录 | cat 目录/文件 | 说明 |
| 755 (rwxr-xr-x) | 777 (rwxrwxrwx) | 可列出 | 可访问 | 完全正常 |
| 644 (rw-r–r–) | 777 (rwxrwxrwx) | 不可列出 | 不可访问 | 目录缺x权限 |
| 111 (–x–x–x) | 777 (rwxrwxrwx) | 不可列出 | 可访问(已知文件名) | 隐藏目录内容 |
| 000 (———) | 777 (rwxrwxrwx) | 拒绝访问 | 拒绝访问 | 完全无法进入 |
| 755 (rwxr-xr-x) | 000 (———) | 可列出 | 拒绝访问 | 能看到但打不开 |
目录的x和w需要配合使用
关于特殊位
| 权限位 | 文件 | 文件夹 |
| SUID (4) | 执行时获得文件所有者权限(需要o有x) | 无效(目录不能执行) |
| SGID (2) | 执行时获得文件所属组权限(需要o有x) | 有效:新建文件继承目录的组 (而不是创建者的组) |
| Sticky (1) | 无效(只对目录有意义) | 有效:只能删除自己的文件 |
| 实际效果 | 7777危险的特权文件 | 7777高度开放的共享目录 |
关于Sticky Bit
Sticky Bit是Linux或Unix系统下的一种特殊的权限标识位,它可以赋予文件或者目录。而被赋予此权限位的文件或者目录可以实现只有Owner或者root才可以进行移动、删除或者重命名操作。
例如/tmp目录默认是drwxrwxrwt权限,含义是:任何人都可以在此目录拥有写权限,但是不能删除别人拥有的文件。
如果是777的话,那么所以人都可以恶意删除
777目录 = 自由搏击场(谁都能打谁)
1777目录 = 有规则的擂台(只能打自己)
对于共享目录,永远应该用1777而不是777
su
功能:su命令主要用于改变用户身份。
| 特性 | su – liao | su liao |
| 登录方式 | 完全登录 (login shell) | 非登录切换 (non-login shell) |
| 环境变量 | 加载liao用户完整环境 | 保持当前用户部分环境 |
| 当前目录 | 切换到liao的家目录 | 保持当前目录 |
| 配置文件 | 加载所有登录配置文件 | 只加载部分配置文件 |
在实际环境中要使用su – 不然很可能出现一系列问题
kill,killall
功能:kill命令用来终止一个进程,kill命令后面跟进程pid。
kill命令的使用语法为:
kill [信号类型] 进程PID
信号类型有很多种,可以通过kill –l查看所有信号类型。常用的信号类型有SIGKILL,对应的数字为9,还有SIGTERM和SIGINT,对应的数字分别为15和2。
kill -9 进程PID:表示强制结束进程
kill -2 进程PID:表示结束进程,但是并不是强制性的,常用的ctrl+c组合键发出的就是一个kill -2的信号。
kill -15 进程PID:表示正常结束进程,是kill的缺省选项,也就是kill不加任何信号类型时,默认类型就是15。
kill -9 PID # PID就是要关闭的进程号码
功能:killall也是关闭进程的一个命令,与kill不同的是,killall后面跟的是进程的名字,而不是进程的PID,因而,killall可以终止一组进程。
例子:killall -9 java、killall -9 httpd
Killall一般适用与有主进程和子进程的批量关闭场景下。
发表回复