1. Linux 应用程序基础
Linux命令与应用程序的关系
1):文件位置
系统命令:一般在/bin和/sbin目录中,或为Shell内部指令
应用程序:通常在/usr/bin和/usr/sbin目录中
2):主要用途
系统命令:完成对系统的基本管理工作,例如IP配置工具
应用程序:完成相对独立的其他辅助任务,例如网页浏览器
3):适用环境
系统命令:一般只在字符操作界面中运行
应用程序:根据实际需要,有些程序可在图形界面中运行
4):运行格式
系统命令:一般包括命令字、命令选项和命令参数
应用程序:通常没有固定的执行格式
典型应用程序的目录结构:
文件类型 | 保存目录 |
---|---|
普通执行程序文件 | /usr/bin |
服务器执行程序文件和管理程序文件 | /usr/sbin |
应用程序配置文件 | /etc |
日志文件 | /var/log |
应用程序文档文件 | /usr/share/doc |
应用程序手册页文件 | /usr/share/man |
2. 文件/目录的权限和归属
访问权限
读取r:允许查看文件内容、显示目录列表
写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行x:允许运行程序、切换目录
归属(所有权):
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号
3. 设置目录和文件的权限chmod
语法1:chmod [ugoa] [+-=] [rwx] 文件或目录...(+、-、= 分别表示增加、去除、设置权限)(u、g、o、a 分别表示属主、属组、其他用户、所有用户(ugo的总和))(r,w,x权限字符可分别表示为8进制字符4,2,1,表示一个权限组合时需要将数字进行累加;如rwx=7,rw-r-r=644)
语法22:chmod nnn 文件或目录...(3位八进制数)
常用命令选项:-R:递归修改指定目录下所有子项的权限
设置目录和文件的归属chown
语法:chown 属主 文件或目录
Chown :属组 文件或目录
Chown 属主:属组 文件或目录
常用命令选项:-R:递归修改指定目录下所有文件、子目录的归属
4. 用户/用户组相关命令
- 用户相关命令
使用useradd命令主要完成在/etc/passwd和/etc/shadow文件末尾添加该用户的账号记录;若未指定用户宿主目录,则在/home目录下创建与账号同名的宿主目录;若未指定用户所属的组,则自动创建与用户账号同名的基本组,保存在/etc/group. /etc/gshadow中。
1):useradd命令:添加用户账号
语法:useradd [选项]... 用户名
2):usermod命令:修改用户账户属性
语法:usermod [选项]... 用户名
3):userdel命令:删除用户账号
语法:userdel [-r] 用户名
添加-r 选项时,表示连用户的宿主目录一并删除
主要的用户初始配置文件
~/.bash_profile:用户每次登录时执行
~/.bashrc:每次进入新的Bash环境时执行
~/.bash_logout:用户每次退出登录时执行
- 组相关命令
1):groupadd命令:添加组账号
语法:groupadd [-g GID] 组账号名
2):gpasswd命令:添加. 设置. 删除组成员
语法:gpasswd [选项]... 组帐号名
常用命令选项:-a:向组内添加一个用户;-d:从组内删除一个用户成员;-M:定义组成员列表,以逗号分隔
3):groupdel命令:删除组账号
语法:groupdel组帐号名 (删除组帐号后,从/etc/group文件中将查不到相应的记录)
5. 在Linux中安装MySQL并创建用户组mysql的作用
让MySQL运行的时候使用一个独立的账号
如果MySQL被黑了那么开始拿到的权限就是那个创建的账号而不是默认的root
我们在编译安装的时候创建一个mysql组和一个mysql用户,并把datadir和安装目录属主改为mysql
(执行命令 cd /usr/local/mysql,执行命令 chown -R mysql:mysql ./)
在MySQL启动的时候,单进程mysqld,该进程的属主就是mysql
这样就保证了mysql服务的独立性,即使mysql服务被黑掉,得到了mysql用户权限,也不会影响整个系统的安全