Linux服务和权限

ssh服务(重点)

ssh(secureshell,安全外壳协议),该协议有2个常用的作用:远程连接协议、远程文件传输协议。
协议使用端口号:默认是22可以是被修改的,如果需要修改,则需要修改ssh服务的配置文件:
#/etc/ssh/ssh_config
端口号可以修改,
但是得注意2个事项:a.注意范围,端口范围是从0-65535;b.不能使用别的服务已经占用的端口;
服务启动/停止/重启
#servicesshdstart/stop/restart
#/etc/init.d/sshdstart/stop/restart1、远程终端终端工具主要帮助运维人员连接远程的服务器,
常见终端工具有:Xshell、secureCRT、Putty等。以putty为例:①获取服务器ip地址,可以通过ifconfig命令进行查看,然后顺手测试ip的连接相通性

Linux自有服务

一、设置主机名回顾:

①临时设置主机名(立竿见影),需要切换用户使之生效#hostname设置的主机名

②永久设置主机名(需要重启)先找到一个文件/etc/sysconfig/network【主机名的配置文件】,修改其中的HOSTNAME为自己需要设置的永久主机名

③修改linux服务器的hosts文件,将yunwei指向本地(设置FQDN)Hosts文件的位置:/etc/hosts(修改映射)

二、chkconfig作用:

相当于windows下“安全卫士”、“电脑管家”之类的安全辅助工具提供“开机启动项”的一个管理服务。
在linux下不是所有的软件安装完成之后都有开机启动服务,有的可能需要自己去添加。除此之外还可以查看和删除。
①开机启动服务查询
#chkconfig--list

其中0-6表示各个启动级别例如:以httpd为例,其3级别为关闭(off),则表示其在3启动形式下默认开机不启动5对应的也是关闭,则表示其在桌面环境下也是开机不启动。再例如:kdump服务,在2,3,4,5的级别下默认开机启动的,其他级别下默认开机不启动

②删除服务
#chkconfig--del服务名
③添加开机启动服务
#chkconfig--add服务名【必须要保证服务正常运行,才可以添加】
④设置服务在某个级别下开机启动/不启动【重点命令】
#chkconfig--level 连在一起的启动级别 服务名 on/off

三、ntp服务

作用:ntp主要是用于对计算机的时间同步管理操作。时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如果时间不准,则可能造成很大的影响。

四、防火墙服务

防火墙:防范一些网络攻击。有软件防火墙、硬件防火墙之分。
防火墙选择让请求通过,从而保证网络安全性。在当前的centos6.5中防火墙有一个名称:iptables【7.x中默认使用的是firewalld】
①查看iptables是否开机启动
②iptables服务启动/重启/关闭
#serviceiptablesstart/restart/stop/
etc/init.d/iptablesstart/restart/stop
③查看iptables的状态(规则)]
#serviceiptablesstatus如果iptables没有启动,则提示服务没启动,如果已经启动,则显示防火墙的相关的规则信息
④查看规则的命令#iptables-L-n含义:-L:表示列出规则
-n:表示将单词表达形式改成数字形式显示
 
⑤简单设置防火墙规则例如,需要允许80端口通过防火墙,则规则可以用以下的命令来设置
#iptables-IINPUT-ptcp--dport80-jACCEPT#允许访问80端口Iptables:主命令
-I:表示将规则放到最前面
-A:add,添加规则(最后)
INPUT:进站请求【出站output】
-p:protocol,指定协议(icmp/tcp/udp)
--dport:指定端口号
-j:指定行为结果,允许(accept)/禁止(reject)/丢弃(drop)

 

添加完成之后需要保存操作:
/etc/init.d/iptablessave

Linux的权限管理操作

Linux的权限操作与用户、用户组是兄弟操作。

一、权限概述

总述:Linux系统一般将文件可存/取访问的身份分为3个类别:owner、group、others,且3种身份各有read、write、execute等权限。

1、权限介绍

什么是权限?

在多用户(可以不同时)计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权力,像是文件夹、特定系统指令的使用或存储量的限制。

 

在Linux中分别有读、写、执行权限:

读权限:

       对于文件夹来说,读权限影响用户是否能够列出目录结构

       对于文件来说,读权限影响用户是否可以查看文件内容

 

写权限:

       对文件夹来说,写权限影响用户是否可以在文件夹下“创建/删除/复制到/移动到”文档

       对于文件来说,写权限影响用户是否可以编辑文件内容

 

执行权限:

       一般都是对于文件来说,特别脚本文件。

2、身份介绍

Owner身份(文件所有者,默认为文档的创建者)

由于Linux是多用户、多任务的操作系统,因此可能常常有多人同时在某台主机上工作,但每个人均可在主机上设置文件的权限,让其成为个人的“私密文件”,即个人所有者。因为设置了适当的文件权限,除本人(文件所有者)之外的用户无法查看文件内容。

 

例如某个MM给你发了一封Email情书,你将情书转为文件之后存档在自己的主文件夹中。为了不让别人看到情书的内容,你就能利用所有者的身份去设置文件的适当权限,这样,即使你的情敌想偷看你的情书内容也是做不到的。

Group身份(与文件所有者同组的用户)

与文件所有者同组最有用的功能就体现在多个团队在同一台主机上开发资源的时候。例如主机上有A、B两个团体,A中有a1,a2,a3三个成员,B中有b1,b2两个成员,这两个团体要共同完成一份报告F。由于设置了适当的权限,A、B团体中的成员都能互相修改对方的数据,但是团体C的成员则不能修改F的内容,甚至连查看的权限都没有。同时,团体的成员也能设置自己的私密文件,让团队的其它成员也读取不了文件数据。Linux中,每个账户支持多个用户组。如用户a1、b1即可属于A用户组,也能属于B用户组【主组和附加组】

Others身份(其他人,相对于所有者)

这个是个相对概念。打个比方,大明、二明、小明一家三兄弟住在一间房,房产证上的登记者是大明(owner所有者),那么,大明一家就是一个用户组,这个组有大明、二明、小明三个成员;另外有个人叫张三,和他们三没有关系,那么这个张三就是其他人了。

同时,大明、二明、小明有各自的房间,三者虽然能自由进出各自的房间,但是小明不能让大明看到自己的情书、日记等,这就是文件所有者(用户)的意义。

Root用户(超级用户)

在Linux中,还有一个神一样存在的用户,这就是root用户,因为在所有用户中它拥有最大的权限 ,所以管理着普通用户。

 

3、Linux的权限介绍

要设置权限,就需要知道文件的一些基本属性和权限的分配规则。在Linux中,ls命令常用来查看文件的属性,用于显示文件的文件名和相关属性。

#ls -l 路径            【ls -l  等价于 ll】

 

标红的部分就是Linux的文档权限属性信息。

 

Linux中存在用户、用户组和其他人概念,各自有不同的权限,对于一个文档来说,其权限具体分配如下:

 

十位字符表示含义:

第1位:表示文档类型,取值常见的有“d表示文件夹”、“-表示文件”、“l表示软连接”、“s表示套接字”等等;

第2-4位:表示文档所有者的权限情况,第2位表示读权限的情况,取值有r、-;第3位表示写权限的情况,w表示可写,-表示不可写,第4位表示执行权限的情况,取值有x、-。

第5-7位:表示与所有者同在一个组的用户的权限情况,第5位表示读权限的情况,取值有r、-;第6位表示写权限的情况,w表示可写,-表示不可写,第7位表示执行权限的情况,取值有x、-。

第8-10位:表示除了上面的前2部分的用户之外的其他用户的权限情况,第8位表示读权限的情况,取值有r、-;第9位表示写权限的情况,w表示可写,-表示不可写,第10位表示执行权限的情况,取值有x、-。

 

权限分配中,均是rwx的三个参数组合,且位置顺序不会变化。没有对应权限就用 – 代替。

 

例如:以下一个文档权限是怎么样的?

 

a. 其是文件夹类型

b. 所有者:拥有全部权限(读写执行)

c. 同组用户:可读、可执行

d. 其他用户:可读、可执行

二、权限设置

语法:#chmod 选项 权限模式 文档

注意事项:

         常用选项:

                            -R:递归设置权限 (当文档类型为文件夹的时候)

         权限模式:就是该文档需要设置的权限信息

         文档:可以是文件,也可以是文件夹,可以是相对路径也可以是绝对路径。

注意点:如果想要给文档设置权限,操作者要么是root用户,要么就是文档的所有者。

1、字母形式

给谁设置:

         u:表示所有者身份owner(user)

         g:表示给所有者同组用户设置(group)

         o:表示others,给其他用户设置权限

         a:表示all,给所有人(包含ugo部分)设置权限

                   如果在设置权限的时候不指定给谁设置,则默认给所有用户设置

 

权限分配方式:

         +:表示给具体的用户新增权限(相对当前)

         -:表示删除用户的权限(相对当前)

         =:表示将权限设置成具体的值(注重结果)【赋值】

权限字符:

         r:读

         w:写

         x:表示执行

         -:表示没有权限

 

 

例如:需要给anaconda-ks.cfg文件(-rw-------.)设置权限,要求所有者拥有全部的权限,同组用户拥有读和执行权限,其他用户只读权限。

答案:

①#chmod  u+x,g+rx,o+r  anaconda-ks.cfg

 

         ②#chmod  u=rwx,g=rx,o=r  anaconda-ks.cfg

 

提示:当文档拥有执行权限(任意部分),则其颜色在终端中是绿色。

#chmod ug=rwx  形式,如果有两部分权限一样则可以合在一起写的

例如:如果anaconda-ks.cfg文件什么权限都没有,可以使用root用户设置所有人都有执行权限,则可以写成

         ①#chmod  +x  anaconda-ks.cfg

         ②#chmod  a=x  anaconda-ks.cfg

         ③#chmod  a+x  anaconda-ks.cfg

2、数字形式

经常会在一些技术性的网页上看到类似于#chmod  777  a.txt  这样的一个权限,这种形式称之为数字形式权限(777)。

 

读:r          4

写:w              2

执行:x           1

没有任何权限:0

  

例如:需要给anaconda-ks.cfg设置权限,权限要求所有者拥有全部权限,同组用户拥有读执行权限,其他用户只读。

全部权限(u):读+写+执行=4+2+1=7

读和执行(g):读+执行=4+1=5

读权限(o):读=4

由上得知权限为:754

#chmod 754 anaconda-ks.cfg

 

面试题:用超级管理员设置文档的权限命令是#chmod -R 731 aaa,请问这个命令有没有什么不合理的地方?

拥有者:7=4+2+1=读+写+执行

同组用户:3=2+1=写+执行

其他用户:1=1=执行

 

注意:在写权限的时候千万不要设置类似于上面的这种“奇葩权限”。如果一个权限数字中但凡出现2与3的数字,则该权限有不合理的情况。

3、注意事项

使用root用户创建一个文件夹(/oo),权限默认,权限如下:

 

需要在oo目录下创建文件(oo/xx.txt),需要给777权限:

 

切换到test用户(不是文档所有者,也不是同组用户,属于other部分):

问题1:test用户是否可以打开oo/xx.txt文件?【能打开】

问题2:test用户是否可以编辑oo/xx.txt文件?【可以】

问题3:test用户是否可以删除oo/xx.txt文件?【不可以,同样还不允许创建文件/文件夹、移动文件、重命名文件】

 

在Linux中,如果要删除一个文件,不是看文件有没有对应的权限,而是看文件所在的目录是否有写权限,如果有才可以删除

三、属主与属组设置

属主:所属的用户(文件的主人)

属组:所属的用户组

 

前面的那个root就是属主

后面的那个root就是属组

 

这两项信息在文档创建的时候会使用创建者的信息(用户名、用户所属的主组名称)。

 

如果有时候去删除某个用户,则该用户对应的文档的属主和属组信息就需要去修改。

1、chown(重点)

作用:更改文档的所属用户

语法:#chown  -R  username 文档路径

案例:将刚才root用户创建的oo目录,所有者更改为test

#chown  test  oo/

 

2、chgrp(了解)

作用:更改文档的所属用户组

语法:#chgrp  -R  groupname  文档的路径

案例:将刚才root用户创建的oo目录,所有者更改为test,并且将所属用户组也改为test

#chgrp  test  oo/

 

思考,如何通过一个命令实现既可以更改所属的用户,也可以修改所属的用户组呢?

答:可以实现的,通过chown命令

       语法:#chown  -R  username:groupname   文档路径

 

案例:要求只使用chown指令,将oo目录的所属用户和用户组改回成root,并且包含其子目录

 

 

 

 

 

 
 
posted @   文明老人  阅读(96)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示