Linux系统-用户和组管理

Linux简介:

Linux是由林纳斯·托瓦兹于1991年发布的开源类Unix操作系统内核,遵循GPL协议,允许自由使用、修改和分发。其核心特点包括开源协作、多任务多用户支持、高稳定性与安全性,以及跨平台兼容性(从嵌入式设备到超级计算机)。通过不同发行版满足多样需求,例如用户友好的Ubuntu、稳定的Debian、技术前沿的Fedora、企业级的CentOS/RHEL,以及高度定制的Arch Linux。Linux广泛应用于服务器(主导Web和云计算)、嵌入式系统(如智能设备)、科研超级计算及开发环境,提供强大的命令行工具、高效的包管理系统(如APT、YUM)和多样化桌面环境(GNOME、KDE)。凭借灵活性和开源生态,Linux成为技术领域基石,支撑从个人探索到企业级部署的全场景解决方案。

Linux的应用领域:服务器,嵌入式应用,个人桌面领域。

1.目录的结构

Linux系统中目录是一个树状结构,根目录“/”位于所有目录和文件的顶端,是唯一的根结点。

●/:根目录,只包含目录,不包含具体文件;

/bin:二进制,存放命令(ls,cat,mkdir)等;

●/boot:存放启动和内核相关文件;

●/dev:存放设备文件;

/etc:存放应用程序的配置文件;

●/home:普通用户的家目录,默认为/home/username;

●/lib和lib64:存放系统开机时需要用的函数库及/bin和/sbin命令调用函数库;

●/media和mnt:挂载点                /media挂载移动设备、/mnt挂载临时设备;

/opt:额外安装的可选应用程序包所放置的位置;

●/proc:虚拟文件系统,存放当前内存的映射;

/root:管理员的家目录(超级用户目录);

●/sbin:存放二进制可执行文件,只有root才能访问;

●/srv:service缩写,存放服务数据目录,如可以把www服务的网页存放到该目录;

●/tmp:用于存放各种临时文件,(所有用户的可以访问创建文件,但每个用户只能删除自己的文件);

●/usr:UNIX缩写,用于存放系统应用程序,比较重要的目录/usr/local本地管理员,软件安装的目录;

●/sys:伪文件系统,存放在内存中,记录内核相关的信息,包括目前加载内核模块和内核检测到的硬件设备等;

●/var:vary缩写,用于存放运行时需要改变数据的文件(比如日志,mail等)

2.Linux命令格式

Linux系统中几乎所有操作,如文件、账户、软件包的管理、磁盘分区、性能监控、网络配置等都可通过命令实现,实现这些功能的命令大多遵循如下格式: command [options] [arguments]

示例:

   $rm -r dir                                          

rm是删除命令            -r短选项            dir参数

   $rm  --recursive   dir

rm是命令               --recursive是长选项           dir参数

说明:使用短选项时,可将多个选项合并。

   $rm -rf dir-r递归删除,-f强制操作)

2.2用户和用户组管理

●用户:多任务,多用户:

        Linux实现权限隔离机制

●操作系统识别用户:

        用户:UID

        组:GID(逻辑容器:包含用户;实现多用户对某文件或应用分配相同的权限)

●用户分类:

        管理员用户:root     UID:0

        普通用户:1000-65535

        程序(系统)用户:1-999

2.3三个重要文件:

/etc/passwd:存储用户基本信息

/etc/shadow:存储用户的影子口令

/etc/group:存放组的基本信息

(~ ̄▽ ̄)~介绍一下前俩个文件

       1. /etc/passwd解释:用冒号隔开

        第一列:用户的登入名

        第二列:加密密码(x表示密码占位符,密码保存在/etc/shadow中)

        第三列:用户的ID号

        第四列:组的ID号

        第五列:用户的描述信息

        第六列:用户的宿主目录 

        第七列:用户默认使用的shell

        2. /etc/shadow解释:用冒号隔开

        第一列:用户的登录名

        第二列:用户加密后的密码

        第三列:最好一次更改密码的时间(从1970年1月1日)

        第四列:密码最小使用时间

        第五列:密码最长使用时间

        3./etc/shadow密码区域解释:(格式:$id$salt$encrypted)

        三部分组成:用$隔开

        第一部分加密算法:     1:MD5加密        5:SHA-256加密        6:SHA-512加密    

        第二部分:随机序列号

        第三部分:随机序列号和密码共同加密后的字符串

2.4常用命令

cd:进入

pwd:查看当前路径

cat:用于连接文件并打印到标准输出设备上

2.4.1用户管理

①useradd:添加用户,

格式如下:useradd [选项] 用户名

选项

说明

-d

指定用户登入时的目录

-c

指定账户的备注文字

-e

指定账号的有效期限

-f

缓冲天数,密码过期时在指定天数后关闭该账号

-g

指定用户所属组

-G

指定用户所属的附加用户组

-m

自动建立用户的登入目录

-r

创建系统账号

-u

指定用户的用户ID。若添加-o选项,则用户ID可与其它用户重复

示例:

useradd –d /usr/bxg –m bxg       

 useradd –s /bin/sh –g itheima wdjl       

useradd -c “hello” xxx

 useradd kdy –u 123

说明:

1)可通过查看/etc/passwd文件,查看已存在的用户。

2)创建账号的用户需有创建账号的权限。


②passwd:设置密码,用户的认证信息,密码有效期

格式如下:passwd [选项] 用户名

选项

说明

-l

锁定密码,锁定后密码失效,无法登陆(新用户默认锁定)

-d

删除密码,仅系统管理员可使用

-S

列出密码相关信息,仅系统管理员可使用

-f

强行执行

示例:

passwd xxx  

说明:

1)root用户可随意修改密码,即便出现警告,也可成功保存。

2)普通用户在设置密码时应尽量复杂,避免与用户名相同。

3)修改当前登陆账户的密码时,可缺省用户名。

4)用户密码保存在文件/etc/shadow中。


③userdel:删除用户

userdel [选项] 用户名

选项

说明

-f

强制删除用户,即便该用户为当前用户

-r

删除用户的同时,删除与用户相关的所有文件

示例:

userdel -r xxx


④usermod:修改用户信息,以及修改账号的属性,如用户ID,主目录,用户组,登入shell等。

usermod [选项] 用户名                 (和useradd差不多)

选项

说明

-c

修改用户账号的备注信息

-d

修改用户的登入目录

-e

修改账号的有效期限

-f

修改缓冲天数,即修改密码过期后关闭账号的时间

-g

修改用户所属组

-l

修改用户账号名称

-L

锁定用户密码,使密码失效

-s

修改用户登陆后使用的shell

-u

修改用户ID

-U

解除密码锁定

示例:

usermod -u  666 bxg


2.4.2用户组管理

每一个用户都有一个组。/etc/group

/etc/group配置文件解释:一样使用冒号隔开

配置文件: /etc/group:                                                           /etc/gshadow:

第一列:组的名字                                                                  第一列:组的名字

第二列:组的密码区域                                                           第二列:组的密码

第三列:组的ID号(GID)                                                         第三列:组的管理员

第四列:组中的成员                                                              第四列:组成员列表


⑤groupadd:添加用户组

groupadd [选项] 用户名

选项

说明

-g

指定新建用户组的组ID

-r

创建系统用户组,组ID取值范围为1~999

示例:

groupadd -g  555 haha


⑥groupdel:删除组

groupdel    用户名

示例:

groupdel haha


⑦groupmod:修改用户组属性

groupmod [选项] [用户组]

选项

说明

-g

为用户组指定新的组ID

-n

修改用户组的组名

示例:

groupmod haha -n pepe


⑧gpasswd:为组设置密码,设置组的管理员,添加组成员

选项

说明

-A为用户设置管理员
-M把一些用户添加到组中,用逗号隔开

-a

添加用户到用户组

-d

从用户组中删除用户

-r

删除密码

-R

限制用户登入组,只有组中的成员才可以用newgrp加入用户组

示例:先创建一个id为777的qq组

再创建了5个q1~q5的用户

把q1设置为qq组的管理员:gpasswd -A q1 qq

使用-M 把q2~q5都加入到qq组中

创建一个q6,并切换为q1管理员并使用-a添加q6

gpasswd qq(gpasswd后跟组命为设置密码)

⑨newgrp:用户组切换

创建了一个组为qq的文件1.txt文件


2.4.3用户切换

⑨su - 用户:用户切换     

su [选项] 用户名

参数

说明

-c

执行完指定的指令后,切换回原来的用户

-l

切换用户的同时,切换到对应用户的工作目录,环境变量也会随之改变

-m-p

切换用户时,不改变环境变量

-s

指定要执行的shell

-

表示默认切换到root用户,并且改变到root用户的环境

说明:

1)使用su命令切换用户时,需要输入的是目标用户的密码。

2)选项与用户名缺省的情况下,只切换用户,但不改变用户环境。

3)由root用户切换到其它用户,可以不输入密码。

4)在命令行输入“exit”或“su -user”,可退出目标用户。


⑩sudo :用户切换

在了解sudo之前我们先了解、etc/sudoers文件

使用visudo打开文件

看到root的权限:

●root                    ALL=(ALL)                ALL

●账户名  主机名=(可切换的身份) 可用的命令

sudo [选项] 用户名

选项

说明

-b

在后台执行命令

-h

显示帮助

-H

HOME环境变量设置为新身份的HOME环境变量

-k

结束密码的有效期限

-l

列出目前用户可执行与无法执行的命令

-p

改变询问密码的提示符号

-s

执行指定的shell

-u

以指定的用户作为新的身份,即切换到指定用户。默认切换到root用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值