用户与用户组管
自有服务,即不需要用户独立去安装的软件的服务,而是当系统安装好之后就可以直接使用的服务(内置)。
一、运行模式
运行模式也可以称之为运行级别(Running Level)。
在linux中存在一个进程:init (initialize,初始化),进程id是1。
查看进程:#ps -ef | grep init
该进程存在一个对应的配置文件:inittab(系统运行级别配置文件,位置vim /etc/inittab)文件的主要内容:
0 — 表示关机级别(不要将默认的运行级别设置成这个值)
1 — 单用户模式(找回root密码的)
2 — 多用户模式,不带NFS(Network File Syetem)
3 — 多用户模式,完全的多用户模式(不带桌面的,纯命令行模式)
4 — 没有被使用的模式(被保留模式)
5 — X11,完整的图形化界面模式
6 — 表示重启级别(不要将默认的运行级别设置成这个值)
注意:改完之后不会立即生效:要是想生效需要重启计算机根据上述的描述,与该级别相关的几个命令①#init 3表示切换到不带桌面的模式②#init 5切换到图形界面③#init 6 重启电脑注意:init指令需要超级管理员的权限,普通用户无法执行。④#init 0表示关机这些命令其实都是调用的init进程,将数字(运行级别)传递给进程,进程去读配置文件执行对应的操作。
①切换到纯命令行模式下(临时切换,重启之后又恢复)#init 3切换之后需要输入用户名和密码,在输入密码的时候没有“*”提示输入
②回到桌面模式#init 5
③设置模式永久为命令行模式将/etc/inittab文件中的initdefault值设置成3,然后重启操作系统。切换重启之后默认即命令行模式:
二、用户与用户组管理
用户一般来说是指使用计算机的人,计算机对针使用其的每一个人给了一个特定的名称,用户就可以使用这些名称来登录使用计算机,除了人之外,一些系统服务也需要含有部分特权的用户账户运行;因此出于安全考虑,用户管理应运而生,它加以明确限制各个用户账户的权限,root在计算机中用拥有至高特权,所以一般只作管理用,非特权用户可以通过SU来临时获得特权,要想实现用户账号的管理,要完成的工作主要有如下几个方面:
用户账号的添加、删除、修改以及用户密码的管理。
用户和组的关系:
一对一:一个用户可以存在一个组中; 一对多:一个用户可以存在多个组中
多对一:多个用户可以存在一个组中; 多对多:多个用户可以存在多个组中
注意三个文件:
用户配置文件 /etc/passwd 记录了每个用户的一些基本属性,并且对所有用户可读,每一行记录对应一个用户,每行记录通过冒号进行分隔
用户组文件 /etc/group 用户组的所有信息存放地儿,并且组名不能重复
用户对应的密码信息 /etc/shadow 因为passwd文件对所有用户是可读的,为安全起见把密码从passwd中分离出来放入这个单独的文件,该文件只有root用户拥有读权限,从而保证密码安全性
1、用户管理
①添加用户语法:#useradd 选项 用户名
常用选项:
-g:表示指定用户的用户主(主要)组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加(额外)组,选项的值可以是用户组的id,也可以是组名-
u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯QQ的自选靓号情况】
-c:comment,添加注释-s:指定用户登入后所使用的shell 解释器 【专门的接待员】-d:指定用户登入时的启始目录(家目录位置)
-n:取消建立以用户名称为名的群组比喻:10K(主要收入来源) 兼职(额外收入)主组 附加组案列:#useradd zhangsan
验证是否成功:a. 验证/etc/passwd的最后一行,查看是否有zhangsan的信息;
#tail -1 /etc/passwdb. 验证是否存在家目录(在Centos下创建好用户之后随之产生一个同名家目录);
扩展:认识passwd文件
用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell
用户名:创建新用户名称,后期登录的时候需要输入;
密码:此密码位置一般情况都是“x”,表示密码的占位;
用户ID:用户的识别符;【-u】
用户组ID:该用户所属的主组ID;【-g】
注释:解释该用户是做什么用的;【-c】
家目录:用户登录进入系统之后默认的位置;【-d】
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;【如果解释器是/bin/bash表示用户可以登录到系统,/sbin/nologin表示该用户不能登录到系统】【-s】
添加登录用户例:添加一个名为harry的用户,并使用bash作为登录的shell
[root@localhost ~]# useradd harry
[root@localhost ~]# tail -1 /etc/passwd
harry:x:1001:1001::/home/harry:/bin/bash说明:此命令会自动创建harry组,并成为harry用户的默认主组,同时默认的登录shell是bash用户帐户的全部信息被保存在/etc/passwd文件。这个文件以如下格式保存了每一个系统帐户的所有信息 (字段以“:”分割)harry:x:1001:1001::/home/harry:/bin/bash
harry:用户名 x:密码占位符 1001:用户的UID,它都是用数字来表示的1001:用户所属组的GID,它都是用数字来表示的用户描述信息:对用户的功能或其它来进行一个简要的描述
/home/harry:用户主目录(shell提示符中“~”代表的那个)
/bin/bash:用户登录系统后使用的shell查看系统中,支持哪些shell[root@xuegod63 ~]# cat /etc/shells
#查看系统中,支持哪些shell
[root@xuegod63 ~]# cat /etc/shells #查看系统中,支持哪些shell
②修改用户
语法:#usermod 选项 用户名 Usermod:user modify,用户修改
常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),
-l:修改用户名
-c<备注>:修改用户帐号的备注文字
-d<登入目录>:修改用户登入时的目录
-s:修改用户登入后所使用的shell
案例:修改zhangsan用户用户名,改为wangerma
#usermod -l wangerma zhangsan [新名字在前,旧名字在后]
③设置密码 Linux不允许没有密码的用户登录到系统,因此前面创建的用户目前都处于锁定状态,需要设置密码之后才能登录计算机。
语法:#passwd [用户名] 【如果不指定用户名则修改自己的密码】
案例:设置wangerma用户的密码
#passwd wangerma 在设置密码的时候也是没有任何输入提示的, 在设置用户密码之后可以登录帐号,例如此处需要登录wangerma
切换用户命令:#su [用户名] (switch user)
如果用户名不指定则表示切换到root用户。
切换用户需要注意的事项:
a. 从root往普通用户切换不需要密码,但是反之则需要root密码;
b. 切换用户之后前后的工作路径是不变的;
c. 普通用户没有办法访问root用户家目录,但是反之则可以;
密码管理
给用户添加密码:
命令:chage
-d:上一次更改的日期,为0表示强制在下次登录时更新密码 例:修改用户linux密码信息:让这个用户linux首次登录系统时必须更改其密码
[root@localhost ~]# chage -d 0 linux
[root@localhost ~]# ifconfig
[root@localhost ~]# ssh linux@192.168.0.106 ... Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.63' (ECDSA) to the list of known hosts. mk@192.168.1.63's password: 123456 You must change your password now and login again! #提示必须改密码 更改用户linux 的密码 。
④删除用户 语法:#userdel 选项 用户名
Userdel:user delete(用户删除) 常用选项:
-r:表示删除用户的同时,删除其家目录;
如果该用户是正在进行中的用户则应该先杀死该用户的进程(#ps -ef | grep 用户名 在kill)
案例:删除wangerma用户 #userdel -r wangerma
如果该进程是正在进行中的用户 则应该先杀死该用户的进程在进行删除该用户的家目录
(#ps -ef | grep 用户名 #kill -9 进程中的程序)
2、用户组管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对vim/etc/group文件的更新。
文件结构:
用户组名:密码:用户组ID:组内用户名
密码:X表示占位符,虽然用户组可以设置密码,但是绝大部分的情况下不设置密码;
组内用户名:表示附加组是该组的用户名称;
①用户组添加 语法
#groupadd 选项 用户组名
常用选项:
-g:类似用户添加里的“-u”,
-g表示选择自己设置一个自定义的用户组ID数字,如果自己不指定,则默认从1000之后递增; 案例:使用groupadd指令创建一个新的用户组,命名为test [root@localhost ~]
# groupadd test
验证: vim /etc/group
②用户组编辑
语法:#groupmod 选项 用户组名
常用选项:
-g:类似用户修改里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字
-n:类似于用户修改“-l”,表示设置新的用户组的名称
案例:修改test用户组,将组ID改成1020,将名称改为admin
#groupmod -g 1020 -n admin test
验证:vim /etc/group
③用户组删除
语法:#groupdel 用户组名
案例:删除admin组
#groupdel admin
三、网络设置 首先知道网卡配置文件位置:[root@localhost ~]# cd /etc/sysconfig/network-scripts
白色:表示文件 绿色:可执行文件 蓝色:快捷方式
在目录中网卡的配置文件命名格式:ifcfg-网卡名称
Device:设备名称 Type:网络类型,以太网 UUID:通用唯一标识符 ONBOOT:是否开机启动 BOOTPROTO:ip地址分配方式,DHCP表示动态主机分配协议 HWADDR:硬件地址,MAC地址
如果后续需要重启网卡怎么去操作呢?
[root@localhost ~]# systemctl restart network [修改配置需要重启网卡]
扩展:如何去重启单个网卡?
停止某个网卡:#ifdown 网卡名
开启某个网卡:#ifup 网卡名
例如:需要停止-启动(重启)ens33网卡,则可以输入
#ifdown ens33 #ifup ens33 提示:在实际工作的时候不要随意禁网卡。 Linux自有服务、ssh服务:
ssh(secure shell,安全外壳协议),该协议有2个常用的作用:远程连接、远程文件传输。 协议使用端口号:默认是22 可以是被修改的,如果需要修改,则需要修改ssh服务的配置文件:
#/etc/ssh/ssh_config 端口号可以修改,但是得注意2个事项:
a. 注意范围,端口范围是从0-65535;
b. 不能使用别的服务已经占用的端口(常见的不能使用:20,21,23,25,80,443,3389,3306,11211等等);
服务启动/停止/重启 {服务名中的d全称daemon,守护进程}
[root@localhost ~]# systemctl start sshd
Sshd服务一般默认就已经启动,不需要再去启动,可以在修改完其配置的情况下重启。
1、远程终端 终端工具主要帮助运维人员连接远程的服务器,常见终端工具有:Xshell、Putty等。以putty为例:
①获取服务器ip地址,可以通过ifconfig命令进行查看,然后顺手测试ip的连接相通性
#ifconfig 此处获取的ip地址是[root@localhost ~]# ping 192.168.0.108 测试连通性:[root@localhost ~]# ping 192.168.0.108 (Windows ping)
②打开putty,输入相关的信息 更改putty字体大小:https://blog.csdn.net/u012810488/article/details/41597395
③在弹出key确认的时候点击“是”,以后不会再提示
④输入登录信息 之前在虚拟机的centos中全部的指令在远程终端中都是可以得到执行的。
Filezila:可视化的界面传输工具
①选择“文件”- “站点管理器(Ctrl + S)” 保存ip地址信息:
②点击“文件”菜单下方的“▽”选择需要连接的服务器,连接好之后的效果
③从本地windows上传文件到linux中方式 支持直接拖拽文件,也可以右键本地需要上传的文件,然后点选“上传”即可
作者:白色衬衫_f48d
链接:https://www.jianshu.com/p/a21f3699203a
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
网友评论