权限管理
1 chmod
chmod 对于目录来说
r权限是列出目录内容,针对于ls命令
w权限是创建或删除文件,rm,rmdir,也就是说,如果用户只对文件拥有写权限,而对目录没有写权限,是不能删除文件的
x权限是进入目录 cd
2 ACL权限
解决用户身份不足的问题,使用ACL权限可以给某个特定的用户指定权限\
- 查看ACL权限
getfacl+文件名
- 设定ACL权限
setfacl -m u:用户名:权限 g:组名:权限 m:最大有效权限 文件名
- 默认ACL权限
新建的文件也会具有ACL权限 - 递归ACL权限
递归地设置ACL权限 -R
3 文件特殊权限
SetUID权限(仅限可执行文件 4)
- 只有二进制程序才能设定SetUID权限\
- 命令执行者要对该程序具有执行权限\
- 命令执行者在执行程序时获得程序属主的身份\
- SetUID权限只在程序执行过程中有效
典型例子
普通用户对于/etc/shadow文件并没有任何权限,但仍然可以更改自己的密码,是由于passwd命令具有SetUID权限,使用该命令时获得了root身份
SetGID权限(可用于目录和可执行文件 2)
用于可执行文件时与SetGID类似,不过在运行时获得文件属组身份
例子 普通用户并没有权限查看locatedb,但仍旧可以使用locate来查找文件,这是由于使用locate命令时获得了locate的属组身份
用于目录时
- 普通用户对于目录要有r和x权限\
- 普通用户在此目录的有效组会变成目录的属组\
- 如果普通用户对此目录有w权限,新建文件的默认属组是目录的属组
SetBIT权限(仅对目录使用 1)
如果普通用户对目录有写权限,则可以删除其他人的文件
启用粘着位可以防止目录中文件被非文件属主的用户误删
4 sudo权限
配置文件在/etc/sudoers
配置格式
用户名 被管理主机网段或ip=(身份) 命令的绝对路径\
root ALL=ALL ALL
5 文件系统属性chattr权限
- 设置了i属性的文件不能进行修改:你既不能删除它,也不能给它重新命名,你不能对该文件创建链接,而且也不能对该文件写入任何数据. 只有超级用户可以设置或清除该属性.\
- 设置了a属性的文件只能在添加模式下打开用于写入.只有超级用户可以设置或清除该属性.
该权限对于root也生效
6 默认权限umask
用户创建文件的默认权限 umask 用补码表示 -S可以人性化显示 设置时同样需要使用补码设置
用户管理
- useradd+用户名 添加用户
- passwd+用户名 改变用户密码
- chown 改变所属用户
- chgrp 改变所属用户组
- 用户的初始组和附加组
- 用户模板目录 /etc/skel
- 用户默认值文件 /etc/default/useradd 、etc/login.defs
- usermod 修改用户信息
- 切换用户 su - 用户名 连带环境变量一起切换
搜索与查找
find
- 按名称 -name(精准匹配)、大小 -size、所属用户(组)-user、修改时间
- -a and -o or 逻辑与或
locate
- 找不到 /tmp目录下的文件
- updatedb 更新locate数据库
which
搜索命令及命令别名
whereis
搜索命令及帮助文档 帮助文档一般存放在 /usr/share
帮助
man
- 1 查看命令的帮助
- 5 查看配置文件的帮助,直接使用配置文件名,不用加路径
whatis
查看命令简短信息
apropos
查看配置文件的简短信息
help
针对shell内置命令
服务管理
启动服务应使用绝对路径
1 源码包安装的服务
- 一般安装在 /usr/local/软件包名下
- 源码在 /usr/local/src下
2 rpm包服务
1)基于xinetd的服务
xinetd是一个独立服务,但是管理很多服务,被管理的服务不在内存中,需要靠xinetd唤起。拥有单独的配置文件
2) 使用service管理
service搜索的是 /etc/rc.d/init.d目录,该目录下有各个服务启动脚本的软链接
3 服务的自启动
- chkconfig --list 查看rpm包的自启动状态 –level 启动级别 设置在某启动级别下自启动
- 也可以修改 /etc/rc.d/rc.local实现自启动
文件系统
默认挂载配置文件 /etc/fstab
启动管理
启动级别
- runlevel 查看当前运行级别
- init 0-6 改变运行级别
- 可以修改配置文件 /etc/inittab来设置默认启动级别
启动过程
驱动一般在硬盘的/lib/module
可是加载SATA驱动就要读硬盘,没有SATA驱动又不能读硬盘
启动引导程序可以识别/boot分区
内核先加载initramfs,initramfs模拟了一个根目录,里面有常见驱动,将驱动加载至内核,内核就可以读取硬盘获取真正的根目录,随后内核启动init进程