Linux不同的字符来区分文件类型。常见如下:
- -:普通文件
- d:目录文件
- l:链接文件
- b:块设备文件
- c:字符设备文件
- p:管道文件
对应目录文件,“可读”表示能够读取目录内的文件列表;“可写”表示能够在目录内新增、删除、重命名文件;而“可执行”表示能够进入该目录。
文件的读、写、执行权限简写为rwx,数字分别4、2、1表示。文件所有者,所属组及其他用户权限之间无关联
文件权限的字符与数字表示
权限分配
文件所有者
文件所属组
其他用户
权限项
读
写
执行
读
写
执行
读
写
执行
字符表示
r
w
x
r
w
x
r
w
x
数字表示
4
2
1
4
2
1
4
2
1
![Image](https://box.kancloud.cn/9b45e827befb5cd306b45b2f628257f5_702x168.png)
#### SUID
SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。**用户密码保存在/etc/shadow文件中。**在使用passwd命令时如果加上SUID特殊权限位,就可让普通用户**临时获得程序所有者的身份**,把变更的密码信息写入到shadow文件中。
查看passwd命令属性时发现所有者得权限由rwx变成了rws,其中x变成了s意味着该文件被赋予了SUID权限。如果原本的权限是rw-,原先权限位上没有x执行权限,那么被赋予特殊权限后将变成大写的S。
如:ls -l /etc/shadow ; ls -l /bin/passwd
#### SGID
SGID主要实现两种功能:
- 让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置);
- 在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)。
如:在某个目录中创建文件自动继承该目录的用户组
cd /tmp
mkdir testdir
ls -ald testdir
chmod -Rf 777 testdir/
chmod -Rf g+s testdir/
ls -ald testdir/
# 上述命令是设置好目录777权限(确保普通用户可以向其写入文件),并设置了SGID
\# 特殊权限位。下面切换普通用户,并在该目录中创建文件,查看是否继承新创建的文# 件所在的目录的所属组名称。
su -linuxprobe
cd /tmp/testdir/
echo “linuxprobe.com” > test
ls -al test
**chmod是用来设置文件或目录的权限,格式为“chmod \[参数\] 权限 文件或目录名称”**
如:chmod 760 test
**chown是设置文件或目录的所有者和所属组,格式为“chown \[参数\] 所有者:所属组 文件或目录名称”**
**chmod****和chown共性,就是针对目录进行操作时需要加上大写参数-R表示递归。**
如:ls -l test ; chown root:bin test ; ls -l test(结果是所有者为root和所属组为bin)
#### SBIT
SBIT(粘滞位)特殊权限位可确保用户只删除自己的文件,而不能删除其他用户的文件。
当目录被设置SBIT特殊权限后,文件其他人权限部分的x执行权限就会被替换成t或者T,原本有x执行权限则会写成t,原本没有x执行权限则会被写成T。
其实文件能否被删除并不取决于自身的权限,而是看其所在目录是否有写入权限。
如:su – linuxprobe ; ls – ald /tmp ; cd /tmp ; ls -ald ;
echo “Welcome to linuxprobe.com” > test ; chmod 777 test ;
su – blackshield ; cd /tmp ; rm -f test (rm:cannot remove `test`:Operation not permitted)
**要是也想对其他目录来设置SBIT特殊权限位,用chmod命令就可以了。对应的参数o+t代表设置SBIT粘滞位权限**
如:cd ~ ; mkdir linux ; chmod -R o+t linux/ ; ls -ld linux/
- 常用的RPM软件包命令
- 常见的Yum命令
- Linux开机过程
- Systemd初始化进程服务的劣势:
- system 与 system V init 的区别以及作用
- systemctl管理服务的启动、重启、停止、重载、查看状态等常用命令
- systemctl设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令
- 主流 Linux 系统选择 Bash 解释器作为命令行终端主要有以下 4 项优势
- 常见执行Linux命令的格式:
- man命令中常用按键以及用途
- man命令帮助信息的接个欧以及意义
- 常用系统命令(10)
- 系统状态检测命令(8)
- 工作目录切换命令(3)
- 文本文件编辑命令(9)
- 文件目录管理命令(7)
- 打包压缩与搜索命令(3)
- 输入输出重定向
- 管道命令符
- 命令行的通配符
- 常用的转义字符
- 重要的环境变量
- Vim文本编辑器
- 编写Shell脚本
- 流程控制语句
- 计划任务服务程序
- 用户身份与文件权限
- 文件权限与归属
- 文件的隐藏属性
- 文件访问控制列表
- su命令与sudo服务
- 存储结构与磁盘划分
- 使用RAID与LVM磁盘阵列技术
- iptables与firewalld防火墙
- 使用SSH服务管理远程主机