一.文件权限管理讲解
1.权限介绍
Linux针对文件权限分为三组:用户,用户组,其他。我们使用命令ls -l或者ll,以列表的格式化形式,即可查看文件或者目录对应的权限信息
文件列表信息的字符意义,文件权限共10个字符,其意义分别为:
A、 第一个字符,文件类型
B、 d:表示文件目录
C、 -:表示文件
D、 |:表示连接文件
E、 b:表示设备文件里的可供存储的接口设备
F、 c:表示设备文件里面的串行端口设备,如键盘
G、 第2~4个字符:用户权限
H、 第5~7个字符:用户组权限
I、 第8~10个字符,其他用户权限
对于文件权限可以分为三种
权限种类 | 值 | 描述 |
---|---|---|
r | 4 | 可读 |
w | 2 | 可写 |
x | 1 | 可执行 |
例
由上信息可以看出:
该文件属于用户test,属于用户组tlgroup
该文件对于用户权限为rw-,即为可读写权限
该文件对于用户组的权限为r–,即为可读权限
该文件对于其他的权限为r–,即为可读权限
shell脚本编码与可执行权限
-
之前课程使用过的脚本,增强工具的安装脚本:./VBoxLinuxAddtions.run
-
shell脚本编写,实现shell脚本输出HelloWorld
新建start.sh,touch start.sh。编写shell源码:
#!/bin/bash
echo “HelloWorld!”
- 给脚本赋值可执行权限,chmod 744 start.sh
- shell脚本执行
A、在当前路径下执行,cd到start.sh所在的目录中,执行./start.sh
B、还可以使用绝对路径执行,/root/tianliang/start.sh
C、sh脚本直接调用执行
D、source执行脚本,直接影响当前会话窗口
2.常用命令
chmod:更改文件、文件夹权限。权限设置分2种,分别可以使用数字和符号。
语法:chmod [-R] 权限
文件/目录
选项与参数:-R递归的持续更改,连同子目录下的所有文件一起更改
数字修改法
使用ll input.txt查看文件原来权限,使用chmod 755 input.txt更改权限,修改后,使用ll input.txt再次查看文件权限。
符号修改法
使用ll input.txt查看原始权限,使用chmod u=rwx,g=rwx,o=rwx
input.txt,修改后再次使用ll input.txt查看文件权限。
chown:更改文件所有者。此命令是change owner的简称,不过要被改变的用户要在/etc/passwd文件内存在才行,否则会报错,一般为root用户调用较多。
语法:chown [-R] 用户
文件/目录 或者 chown [-R] 用户:组名 文件/目录
选项与参数:-R递归参数(recursive)的级联更改,连同子目录下的所有文件一起更改。
更改文件的用户名和所属组:chown test:test
input.txt
更改文件夹的所属用户名:chown -R test data
更改文件夹所属的用户组:chown -R :test data
chgrp:更改文件所属用户组。此命令是change group的简称,要求被改变的组名要在/etc/group文件内存在才行,否则会报错。
语法:chgrp [-R] 用户组 文件/目录
选项与参数:-R 递归的级联更改,连同子目录下的所有文件一起更改。
递归更改文件夹所属用户组:chgrp -R test data
二.系统常用服务与管理
1.常用服务
- 防火墙服务-开启与关停
service iptables restart/stop/status
- ssh服务-开启与关停
service sshd restart/stop
- httpd服务-开启与关停
service httpd restart/stop
- network服务-开启与关停
service network restart/stop
- 网络时间同步服务ntpd-开启与关停
service ntpd restart/stop
2.永久改变服务的状态-重启机器后依然后效
解决方法
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行信息。切记chkconfig不是立即自动禁止或者激活一个服务,它只是简单的改变了符号连接。如果想及时生效,必须用service来start和stop。
使用语法
chkconfig
[–add][–del][–list][系统服务] 或
chkconfig
[–level<等级代号>] [系统服务]
[on/off/reset]
参数用法
-
add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
-
del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
-
level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关闭。
等级0:表示关机
等级1:单用户模式
等级2:无网络连接的多用户命令行模式
等级3:有网络连接的多用户命令行模式
等级4:不可用
等级5:带图形界面的多用户模式
等级6:重新启动
需要说明的是,level选项可以指定要查看的运行级不一定是当前的运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。
使用范例
chkconfig
–list:列出所有的系统服务
chkconfig
–add httpd:增加httpd服务
chkconfig
–del httpd:删除httpd服务
chkconfig
–level httpd 2345 on:设置httpd在运行级为2、3、4、5的情况下都是开启on的状态。
chkconfig
–list mysqld:列出mysqld服务设置的情况
chkconfig
mysqld on:设定mysqld在各运行级都为开启