day2_linux关机重启和文件权限

linux关机重启和文件权限

1 linux关机和重启命令

1.1 shutdown命令

   我们认为其他的关机命令都是不安全的,因为他们都不会在关机的时候正确保存正在执行的服务,只有shutdown命令可以正确保存正在运行的服务,所以虽然这个命令长,但是关机和重启时尽量使用这个命令。个人机一个人用,低速运行,强制关机时出问题的概率小;服务器成千上万人在访问,一直在高速运转,出问题的概率非常大,最长见的是硬盘损坏,甚至操作系统损坏,更严重的硬盘直接烧掉

用法:shutdown [选项] 时间
选项:

  • -c:取消前一个关机命令,后面不用再加时间了
  • -h:关机(在真实环境下,一般不会用这个关机命令,服务器一般会在电信或联通机房,关机了没法开机)
  • -r:重启 ```

时间:

  • now:马上,立刻
  • 具体时间(24小时制):定时关机或者重启
shutdown -r 05:30
shutdown -r 05:30 &
shutdown -c

说明:

  • 第一条指令是使系统在下一次的凌晨05:30重启
  • 第二条指令也是相同的目的,只不过是在后台运行(&:后台运行,别的命令也能使用),不过在centos7中好像没什么区别,在centos6中第一条指令输入后将不能进行别的操作,直到重启完成,所以需要第二条指令
  • 第三条指令是取消前一个重启(关机)指令

1.2 其他关机命令

  • halt
    说明:相当于直接断电,最好不要使用
  • poweroff
    说明:相当于直接断电,最好不要使用
  • init 0
    说明:init 可以调用系统的运行级别,0:表示关机,相当于shutdown -h now

1.3 其他重启命令

  • reboot
    说明:这个命令相对安全,可以替代 shutdown -r now
  • init 6

1.4 linux系统运行级别

  • 0:关机
  • 1:单用户 (相当于windows的安全模式,启动最小的程序,用来做系统修复,)
  • 2:不完全多用户,不含NFS服务 (NFS:表示文件共享服务)
  • 3:完全多用户(我们正常使用的,命令行模式,服务器使用的多)
  • 4:未分配
  • 5:图形界面 (前提是安装了图形界面)
  • 6:重启

可以通过 runlevel命令查看当前的系统运行级别

runlevel

N 5

  • 说明
    • N:在进入当前运行级别之前的运行级别,N表示null,表示开机进入的运行级别就是5级别,如果是从命令行切换到图形界面,则不会显示N,而是在N的位置上显示3
    • 5:表示当前运行级别
    • 在系统中运行级别的配置文件是:/etc/inittab 文件 cat /etc/inittab id:3:initdefault(centos6),在centos7中修改运行级别的方法可以看下面这篇博客:
      centos7中修改运行级别

2 登录和用户管理相关的命令

2.1 logout命令

  • 说明:退出当前登陆用户
  • 注意:如果一个用户没有正确退出,这个用户以后别人也就不能用了,如果操作系统允许远程登陆的用户比较少,如果用户没有正确退出,会造成所有用户都登陆不了操作系统

linux默认允许远程登陆的用户数是 256个,最大600多个

3 远程登录

通过远程连接的软件连接目标机器,连接软件可以使用xshell,这个软件使用ssh协议,可以加密传输。这样即使在家也能访问到学校或者公司的机器。

4 权限管理

4.1 用户管理

  • 用户添加
    useradd 用户名
  • 给用户添加密码
    passwd 用户名

4.2 文件基本权限

在服务器上只有一个管理员,每个程序员只是一个普通用户,每个用户的权限都不一样

4.2.1 基本权限的修改

文件权限说明
  • 语法

chmod [选项] 模式 文件名
选项:

  • -R:递归 【如果修改的是文件夹的权限,-R,表示将设置应用到子文件和子文件夹】
    模式:
  • ​[ugoa] [+-=] [rwx]
    模式说明:1. [ugoa] [+-=] [rwx] u:文件所属用户 g:文件所属用户所在的组 o:非用户组成员(其他人) a:所有用户 +:表示加上某个权限 -:表示减去某个权限 =:表示不管原来的权限,直接付给用户一个新的权限 r:给用户读的权限 w:给用户写的权限 x:给用户执行的权限
       举例说明: cd ~ touch kaven 【文件默认权限是 :-rw-r--r--】 chmod u+x kaven 【给文件所属用户加上执行的权限】 chmod g+w,o+w kaven 【给用户组加上写的权限,其他用户也加上写的权限】 chmod u-x,g-w,o-w kaven 【将用户的执行,组的写,其他用户的写权限都给删掉】 chmod u=rwx,g=rw kaven 【给文件所属用户全部权限,组给读写的权限】 chmod a=rw kaven 【给所有用户读写的权限,虽然简单,但是基本很少使用】
  • [mode=421]
    模式说明:权限的数字表示 r:4 w:2 x:1 0:表示没有任何权限
       举例: rwxr-xr-x 7 5 5 chmod 755 kaven.avi 【所属用户:读写执行,组:读和执行,其他:读和执行,可执行文件常用】 chmod 644 kaven 【所属用户:读写,组:读,其他:读,普通文件常用】 常用的数字权限:777:最高权限 755:执行文件权限 644:普通文件权限 在实际工作中467这种权限基本是不可能的,可以用大腿思考一下

4.2.2 权限的作用

  • 权限对文件的作用
    • r:表示可以读文件的内容(cat more head tail)
    • w:表示可以编辑(增删改查)文件的内容(vi echo【追加】),但是不包括删除文件和修改文件名称
    • x:可执行
  • 权限对目录(文件夹)的作用
    • r:表示可以查看目录下的文件列表(ls)
    • w:表示具有修改目录结构(里面内容)的权限,如:增删改文件或者文件夹,操作的是目录下的文件,而不是文件中的内容,但是不能修改目录自己的名称或者是删除自己这个文件夹,如果想要删除这个文件夹,需要设置父文件夹有写的权限
    • x:可以进入目录(cd)

注意: 对文件来讲:最高权限是 X(执行) 对目录来讲:最高权限是 W(写) 所以:对文件要少赋执行权限,对目录要少赋写权限

对目录来讲可以赋 0【没有权限】 5【rx:读和执行(进入)】7【最高权限】 但是不能设置 4 6 1,因为没有意义 4:只能读不能执行(cd),进都进不去,就没有办法读 6:没有执行(cd:不能进入到目录里),那还读写什么 1:这个倒是能执行(cd),但是没有读的权限,怎么能允许你进去呢
再次注意: 在实际的工作中不要给一个文件或者文件夹设置为非组内用户也设置为最高权限,如果这样设置了也就意味着这个文件,任何用户都可以修改,如果是一个文件夹设置所有用户都可以写那就更不好,谁都可以删这个文件夹里的文件,这是非常不安全的,如果想让一个某个用户对某个文件或者文件夹有最高权限,可以修改文件或者文件夹的所有者就可以

4.2.3 其它权限命令

  • chown 用户名[:所属组] 文件名
    说明:修改文件的所有者
    案例:
    chown kaven canglaoshi.av
    chown kaven:kaven canglaoshi.av 【第一个kaven:用户,第二个kaven:所属组】

如果在实际的工作当中想让一个普通的用户对某个文件拥有【7】的权限,最合理的办法是 1:将文件的所有者改为该普通用户【chown kaven canglaoshi.av】 2:将文件的权限改为所有者拥有最高权限【chmod 755 canglaoshi.av】

  • chgrp 组名 文件名
    说明:修改文件所属的用户组(同时也会改变这个文件所属的用户)
    案例:
    chgrp lovecang canglaoshi.av

扩展: 在linux中当我们创建一个用户时,默认就会创建一个跟该用户同名的用户组作为该用户的初始组。分配权限的基本核心原则: 在最小权限的情况下能够实现要求即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容