Linux学习(三)

Linux学习(三)

Linux用户和组管理

用户与用户组

什么是用户

Linux安全性的地方在于良好的用户和组管理方法。

Linux是多用户多任务的操作系统,也就是说多个用户可以同时登录执行不同任务。

用户分为超级用户和普通用户,超级用户即管理员root。

什么是用户组

Linux除了用户,还有用户组的概念。当我们需要让多个用户都拥有某一个权限就可以把她们都放进同一个用户组里。

用户组分两种,主用户组(primary group),和次用户组(secondary group)。

主用户组的信息保存在/etc/passwd中,次用户组的信息保存在/etc/group中。

当用户被创建之后默认属于同名用户组,即主用户组,后来再将该用户加入其他用户组的话,加入的用户组为该用户的次用户组。

grep datawhale /etc/group

datawhale: x : 1001 : datawhale1

#datawhale1即为次用户组

用户与用户组的关系

每个用户再创建时都会自动属于一个组,此外用户与用户组之间的关系又可以分为以下四种:

一对一:一个用户属于一个组

一对多:一个用户存在多个用户组

多对一:多个用户存在一个组中

多对多:多个用户存在多个组中

用户ID和组ID

在Linux系统中,并不是通过用户名来识别用户的,用户名只是方便用户记忆,在系统里,是通过用户ID来判断是哪个用户的。

用户datawhale会被赋予一个名为datawhale的用户组,且成为该新建用户组的唯一成员。同时UID和GID会被分别写入/etc/passwd和

sudo useradd datawhale
grep datawhale /etc/passwd
datawhale:x:1001:1991::/home/datawhale:/bin/sh
#用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
grep datawhale /etc/group
datawhale:x:1001:

主目录:用户的起始工作目录,用户登录后有操作权限的访问目录

注释性描述:这个字段并没有什么实际的用户。在不同的Linux系统中,这个字段的格式并没有统一。

登录shell:用户登录后,要启动一个进程,负责将该用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即shell。

通常情况下,UID是递增的。

sudo useradd datawhale1
grep datawhale1 /etc/passwd
datawhale1:x:1002:1002::/home/datawhale1:/bin/sh

系统管理员的UID为0

grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash

用户与用户组管理命令

用户的增删修改

添加用户

useradd 选项 用户名

选项作用

选项作用
-u手工指定用户的 UID,注意 UID 的范围(不要小于 500)。
-d手工指定用户的主目录。主目录必须写绝对路径,而且如果需要手工指定主目录,则一定要注意权限;
-c手工指定/etc/passwd文件中各用户信息中第 5 个字段的描述性内容,可随意配置;
-g手工指定用户的初始组。一般以和用户名相同的组作为用户的初始组,在创建用户时会默认建立初始组。一旦手动指定,则系统将不会在创建此默认的初始组目录。
-G指定用户的附加组。我们把用户加入其他组,一般都使用附加组;
-s手工指定用户的登录 Shell,默认是 /bin/bash;
-e指定用户的失效日期
-o允许创建的用户的 UID 相同。例如,执行 “useradd -u 0 -o usertest” 命令建立用户 usertest,它的 UID 和 root 用户的 UID 相同,都是 0;
-m创建用户时强制建立用户的家目录。在建立系统用户时,该选项是默认的;
-r创建系统用户

删除用户

userdel 选项 用户名

-r选项表示在删除用户时删除用户的家目录

修改用户

usermod 选项 用户名
选项说明
-c 用户说明修改用户的说明信息,即修改 /etc/passwd 文件目标用户信息的第 5 个字段;
-d 主目录修改用户的主目录,即修改 /etc/passwd 文件中目标用户信息的第 6 个字段,需要注意的是,主目录必须写绝对路径;
-e 日期修改用户的失效曰期,格式为 “YYYY-MM-DD”,即修改 /etc/shadow 文件目标用户密码信息的第 8 个字段;
-g 组名修改用户的初始组,即修改 /etc/passwd 文件目标用户信息的第 4 个字段(GID);
-u UID修改用户的UID,即修改 /etc/passwd 文件目标用户信息的第 3 个字段(UID);
-G 组名修改用户的附加组,其实就是把用户加入其他用户组,即修改 /etc/group 文件;
-l 用户名修改用户名称;
-L临时锁定用户(Lock);
-U解锁用户(Unlock),和 -L 对应;
-s shell修改用户的登录 Shell,默认是 /bin/bash

修改用户密码

passwd 选项 用户名
选项作用
-l暂时锁定用户,该选项会在 /etc/shadow 文件中指定用户的加密密码串前添加 “!”,使密码失效。仅 root 用户可用;
-u解锁用户,和 -l 选项相对应,也是只能 root 用户使用;
-d使账号无口令,删除密码
-f强迫用户下次登录时修改口令
-S查询用户密码的状态,显示密码信息,也就是 /etc/shadow 文件中此用户密码的内容。仅 root 用户可用;
-g修改群组密码
-n 天数设置该用户修改密码后,多长时间不能再次修改密码,也就是修改 /etc/shadow 文件中各行密码的第 4 个字段;
-x 天数设置该用户的密码有效期,对应 /etc/shadow 文件中各行密码的第 5 个字段;
-w 天数设置用户密码过期前的警告天数,对于 /etc/shadow 文件中各行密码的第 6 个字段;
-i 日期设置用户密码失效日期,口令过期后多少天停用账户,对应 /etc/shadow 文件中各行密码的第 7 个字段
用户组管理

添加用户组

groupadd 选项 用户组
选项描述
-g GID指定组 ID;
-r创建系统群组。

删除用户组

groupdel 组名

不能随意删除用户组。此命令只适用于那些不是任何用户出十足的群组。

修改用户组属性

groupmod 选项 用户组
选项描述
-g GID修改组 ID
-n 新组名修改组名
-o重复使用群组识别码

切换用户组

newgrp 目标用户组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值