写在前面
本文主要讲解Linux
中的一些自有服务。
运行级别
在不同的Linux
操作系统中,有不同的文件结构,相关信息以百度为准
模式介绍
-
Ubuntu
的默认开机的runlevel
是 5,可以用runlevel
命令来查看当前的默认运行级别。
-
debian
的runlevel
级别定义如下:
- 0 – Halt,关机模式
- 1 – Single,单用户模式
- 2 - Full multi-user with display manager (GUI)
- 3 - Full multi-user with display manager (GUI)
- 4 - Full multi-user with display manager (GUI)
- 5 - Full multi-user with display manager (GUI)
- 6 – Reboot,重启
- S - 单用户恢复模式
- 运行级别
2~5
提供的服务是一样的,Ubuntu
系统下0
表示关机,1
表示维护模式,2~5
表示GUI界面的系统,6
表示重启系统。 - 该进程所对应的配置文件为
/etc/init/rc-sysinit.conf
Linux下自启动脚本
Ubutn
的自启脚本在 /etc
目录下的 rc0.d~rc6.d
分别对应操作系统 0-6
级运行状态下需要执行的脚本。
用户与用户组管理
概念介绍
Linux
系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。- 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
- 每个用户账号都拥有一个惟一的用户名和各自的密码。
- 用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。
- 要想实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除、修改以及用户密码的管理
- 用户组的管理
用户账户
- 超级账户
root
(0)- 默认是root用户,其UID和GID均为0。在每台unix/linux操作系统中都是唯一且真实存在的,通过它可以登录系统,可以操作系统中任何文件和命令,拥有最高的管理权限。
- 程序账户(1~499)
- 与真实用户区分开来,这类用户的最大特点是安装系统后默认就会存在的,且默认情况不能登录系统,它们是系统正常运行必不可少的,他们的存在主要是方便系统管理,满足相应的系统进程都文件属主的要求。例如系统默认的
bin
、adm
、nodoby
、mail
用户等。由于服务器角色的不同,有部分用不到的系统服务被禁止开机执行,因此,在做系统安全优化时,被禁止开机启动了的服务对应的虚拟用户也是可以处理掉的(删除或注释)。
- 与真实用户区分开来,这类用户的最大特点是安装系统后默认就会存在的,且默认情况不能登录系统,它们是系统正常运行必不可少的,他们的存在主要是方便系统管理,满足相应的系统进程都文件属主的要求。例如系统默认的
- 普通账户(500~655355)
- 这类用户一般是由具备系统管理员root的权限的运维人员添加的。
用户用户组
linux
系统中的用户组group
就是具有相同特性的用户user
集合;
用户和用户组的对应关系有:一对一、一对多、多对一和多对多.
一对一:即一个用户可以存在一个组中,也可以是组中的唯一成员。比如,root。
一对多:即一个用户可以存在多个组中,这个用户就具有这些组。
多对一:即多个用户可以存在一个组中,这些用户这些组的共同权限。
多对多:即多用户可以存在于多个组中。并且几个用户可以归属相同的组;其实多对多的关系是前面三条的扩展。
用户及用户组配置文件介绍
/etc/passwd
存储用户关键信息/etc/group
存储用户组关键信息/etc/shadow
存储用户密码信息
passwd
字段解释:
用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell
- 用户名:帐号名,这是用户登陆时使用的账户名称,在系统中是唯一的,不能重名
- 密码:密码占位符x,这里可以看到一个字母x,表示该用户的密码是
/etc/shadow
文件中保护的。- 用户ID:UID,用户的识别符
- 用户组ID:GID,该用户所属的主组ID,默认情况下会同时建立一个与用户同名且UID和GID相同的组。
- 注释:解释该用户是做什么用的
- 家目录:用户登陆后首先进入的目录,一般与
/home/用户名
这样的目录- 解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;
group
字段解释:
用户组名:密码:用户组ID:组内用户:
- 组内用户:附加组是该组的用户名称
用户管理
添加用户
-
常用语法:useradd 选项 用户名
- 常见选项:
-g
:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名-G
:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名-u
:uid
,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid
,如果不想使用系统分配的,可以通过该选项自定义- -
m
: 自动建立用户的登入目录; -c
comment:添加注释
- 常见选项:
-
eg1:创建用户张三,不添加任何选项
- 验证是否成功:
- 验证
/etc/passwd
的最后一行,查看是否有zhangsan
的信息 - 验证是否存在家目录(创建好用户之后随之产生一个同名家目录)
- 验证
- 验证是否成功:
-
eg2:创建用户
lisi
,lisi
属于1000
主组,附加组1001
,UID666
- 注意:查询用户的主组在
/etc/passwd
中,查询用户的附加组在/etc/group
中
- 注意:查询用户的主组在
修改用户
- 常用语法:usermod 选项 用户名
- 常用选项:
-g
,-G
,-u
同上- '-l':修改用户名
- 常用选项:
- eg1:修改
zhangsan
用户主组为1000
,附加组改为1001
- eg2:修改
zhangsan
用户名改为wangwu
修改密码
- 常用语法:passwd 用户名
- eg1:修改
wangwu
的密码
删除用户
- 常用语法:userdel 选项 用户名、
- 常用选项:
-r
:删除用户的同时,删除其家目录
- 常用选项:
- eg1:删除
wangwu
用户
- 提示:所有跟用户操作的命令(除
passwd
外)只有root
超级管理员有权限执行。
补充
useradd
与adduser
的区别
使用useradd newuser
后/home
里并没有newuser
的目录。查询百度得知,可以用useradd -m newuser
,但是-m
这个命令只有在你创建用户的时候才有用。
如果已经创建了用户且没有目录的话,useradd -m newuser
是不会为用户创建目录的,也就是说我必须删掉这个用户再重新useradd -m newuser
才可以,这样的话会非常麻烦.目前我试了一下usermod -d /home/newuser -m newuser
是没有效果的。但是! 使用adduser
的话直接adduser username也会有目录,不用像useradd
那样用-m
了。但是adduser
一创建就会要求输入密码。useradd
创建的时候就不会要求输入密码。
用户组管理
用户组添加
- 常用命令:groupadd 选项 用户组名
- 常用选项:
-g
:自定义用户组ID
- 常用选项:
- eg1:创建一个新的用户组,命名为
Administrators
用户组编辑
- 常用命令:groupmod 选项 用户组名
- 常用选项:
-g
:自定义GID-n
:修改用户组名
- 常用选项:
- eg1:修改
Administrators
用户组,将GID
从1002
改成1020
,将名称改为admins
用户组删除
- 常用语法:groupdel 用户组名
- eg1:删除
admins
组
- 注意:当如果需要删除一个组,但是这个组是某个用户的主组时,则不允许删除;如果确实需要删除,则先从组内移出所有用户。
网络配置
常用命令
查看ip地址
ifconfig
图例介绍:详细介绍ifconfig的信息
启动网卡
ifup 需要启动的网卡名称
- 不知道为什么在我安装的虚拟机上没法用这个命令,搜了一下也没找到解决方案
- 问题已经解决ifconfig 需要启动的网卡的名称 up
关闭网卡
ifdown 需要启动的网卡名称
同ifup- 问题已经解决
ifconfig 需要启动的网卡的名称 down
重启网卡
/etc/init.d/networking restart
【重启全部网卡】
ifdown 网卡名 && ifup 网卡名
【必须同时执行】
关于上述问题的解决方案
Q:为什么没有熟知的eth0
A:自15
版本开始就不叫eth0
Q:为什么在执行ifup
,ifdown
,/etc/init.d/networking restart
,这些命令会报错
A:经过几篇博客,和一顿乱操作,我大致猜测,应该是没有为系统配置IP
地址,方法如下
- 1.打开系统的网卡配置文件
vim /etc/network/interfaces
- 2.写入如下代码
auto ens33 #填写自己的网卡名
iface ens33 inet static #配置静态IP地址
address 192.168.1.10 #手动设置静态IP地址
netmask 255.255.255.0 #手动设置子网掩码
gateway 192.168.1.1 #手动设置网关- 设置网关的话建议使用
netstat -rn
查看当前现有的网关
- 设置网关的话建议使用
- 3.重启
NetworkManager
服务,service network-manager restart
- 4.重启
networking
服务,/etc/init.d/networking restart
- 5.使用
ifup
,ifdown
控制网卡,问题解决
查看配置文件
不同的Linux
系统网卡的配置文件存放地址不同Ubuntu
存放在/etc/network/interfaces
配置静态ip
在上一块的问题解决中介绍了配置的方法
配置动态ip
auto ens33
iface ens33 inet dhcp
SSH服务
ssh(secure shell,安全外壳协议)
,该协议有2个常用的作用:远程连接协议、远程文件传输协议。
协议使用端口号:默认是22
可以是被修改的,如果需要修改,则需要修改ssh
服务的配置文件/etc/ssh/ssh_config
:
在Ubuntu
中好像不是自带的要通过apt-get install ssh
去下载
服务控制
- service sshd start #启动服务
- service sshd stop #关闭服务
- service sshd restart #重启服务
- /etc/init.d/sshd start/stop/restart #同理
SSH终端
远程连接
- xshell
网上应该有破解版,博主白嫖的学生机,至于怎么连接,按照xshell
的操作走就好了
文件传输
- filezilla
同理,乱搞一下就行了