美文网首页
用户与用户组管

用户与用户组管

作者: 予爷 | 来源:发表于2018-11-19 16:03 被阅读0次

    用户与用户组管

    自有服务,即不需要用户独立去安装的软件的服务,而是当系统安装好之后就可以直接使用的服务(内置)。

    一、运行模式

    运行模式也可以称之为运行级别(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

    來源:简书

    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    相关文章

      网友评论

          本文标题:用户与用户组管

          本文链接:https://www.haomeiwen.com/subject/bqrafqtx.html