linux 下的用户和组的管理(5)

@linux系统下用户角色

不同的用户拥有的权限和任务不同,通过UID识别,root用户的UID具有唯一性

  • 1, Root:系统管理员超级用户,拥有最高权限,UID值为 0,可以执行任意操作
  • 2, 虚拟用户:由系统默认添加,不能登录系统,需要某些服务时使用
  • 3, 普通真实用户:可以登录和操作自己家目录的内容,行为受限,由管理员添加

@用户的相关文件

  • /etc/passwd :用户账号文件,记录所有用户记录
 root : x : 0 : 0 : root : /root : /bin/bash
 用户名 密码 UserID GroupID 用户相关说明 用户家目录路径 用户的登陆shell
  • /etc/shadow:用户账户的影子文件,包含用户的加密密码和其他信息,两个文件互补来记录用户信息,这个文件只有root 可以读取和操作
每行包含 8 个字段,各项说明如下:
第 1个字段 用户名
第 2个字段 加密口令
第 3个字段 上次口令改变时间,从 197011日算起的天数
第 4个字段 多少天内不能改变口令
第 5个字段 多少天内必须改变口令
第 6个字段 口令到期前多少天会出现警告
第 7个字段 如果口令到期后几天不使用账号,则无法登陆
第 8个字段 如果到这个日期不用账号则无法登陆,可以以YYYY-MM-DD格式,也可以用 197011 起的天数
  • /etc/login.defs:打开这个文件对文件内容进行解释,如果修改,修改哪些位置有哪些作用。
MAIL_DIR 邮件存放目录
PASS_MAX_DAYS 密码有效期最长时间
PASS_MIN_DAYS 密码有效期最短时间
PASS_MIN_LEN 密码最小长度
PASS_WARN_AGE 密码到期提示时间
UID_MIN UID最小值
UID_MAX UID最大值
GID_MIN GID最小值
GID_MAX GID最大值
CREATE_HOME 是否创建家目录
UMASK UMASK值
USERGROUPS_ENAB 当删除用户后,同名组中不在存在用户的时候,是否删除该组
  • /etc/skel:用户隐藏启动的配置文件,
开启和关闭投影密码命令
pwconv 开启投影密码命令
pwunconv 关闭投影密码命令

用户管理

@useradd 创建用户命令

useradd jake 创建名为jake 的用户
    -d 指定用户的家目录
    -g 指定用户组
    -G 指定用户的附加组
    -u 指定用户的UID    -p 创建密码

例子:useradd -d /rose -g group -G root -u 505 rose
ps:指令 users 查看所有登录的用户

@ tail:查看指定文件的末行

tail -n 3 /etc/passwd 查看passwd 文件的最后三行
tail -1 /etc/passwd 查看passwd 文件的最后一行

@passwd: 设置密码命令
ps:没有设置密码的用户不能使用

passwd rose 给用户rose 设置密码
    -d 删除密码
    -f 强制执行下次登陆时更改密码
    -l 停止账号使用
    -u 启用已经停止的账号
    -S 显示密码信息

@userdel: 删除账号命令

userdel rose 删除rose 账号
userdel -r rose 删除用户登陆目录及目录下的文件(类似于windows 的删除用户选择是否删除用户的文
档)

@usermod: 修改账号命令

usermod -l newname oldname
    -d -g -G -u 等参数与useradd 命令参数使用方法一样
    usermod -d /home/rose -g group0 -G group1 -u 600 rose
    将 rose用户的家目录,主组和附加组以及 UID值更改
用户的锁定与解锁:
    usermod -L rose 锁定rose 用户
    usermod -U rose 解除rose 用户的锁定

@gpasswd:用户添加到其他组的命令
ps:只有root 和组管理员能够改变组成员

gpasswd -a u1 g1 将u1 加入到 g1 组
gpasswd -d u1 g1 将u1 退出 g1 组
gpasswd -A u1 g1 将g1 组的管理员指派给u1

@指令id:查看id信息
id rose 查看rose 用户的 ID 信息

  • root单用户:只有root能登录其它用户不能登录
    如果希望计算机除了root 账号外其他账号不能登陆,在/etc目录中执行touch nologin,创建 1个
    名称为 nologin 的文件。如果系统只有一个人使用,可以考虑修改/etc/inittab文件,将默认启动值改为
    2。

组的管理

组相关文件介绍

@/etc/group :对系统管理有最重要的内容的独立用户组,权限为完全私有—精英小队
内容构成:每个用户组一条记录
格式: group_name:passwd:GID:user_list
构成4个分段:用户组名称,用户组密码,GID,用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名
- /etc/gshadow:是/etc/group 的密码文件,用户组(Group)管理密码就是存放在这个文件
/etc/gshadow和/etc/group 是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码

格式:groupname:password:admin,admin,...:member,member,...
groupname:用户组,
password:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码
admin:用户组管理者,这个字段也可为空,如果有多个用户组管理者,用,号分割
member:组成员,如果有多个成员,用,号分割;

@用户组增删改查

  • 添加
groupadd 添加用户组
    -g 指定 GID
    -o 一般和g 选项同时使用,可以与已有组的GID相同
groupadd -go 501 g1 创建组g1 其 GID 可以与已有的组重复
gpasswd设置用户组的密码
一般的情况下,没有必要设置用户组的密码;
gpasswd rose 修改rose 组的密码
  • 删除
groupdel删除用户组
groupdel g1 删除g1 组(没有用户的空组)
  • 修改
groupmod 修改组属性
    -g 指定新的GID
    -o-g 配合使用同 groupadd 的-o
    -n 修改组名
groupmod -g 601 g1修改 g1 的 GID 为601
groupmod -n g11 g1 将g1 组改名为 g11
  • 切换
newgrp 切换用户组
newgrp root 切换到root 组

@普通用户权限提升

  • su 切换用户命令
su 直接默认切换到root 用户
su - root 更改环境变量为root 用户的
su -m root 保留环境变量不变
su -c “/usr/sbin/useradd u1” root 以root 的身份执行useradd命令,-c 代表执行一个命令后就结束。其中命令需要输入命令文件的绝对路径。
  • sudo指令
    ps:需要输入账号密码
sudo -l 列出用户在主机上可用的和被禁止的命令
sudo 命令(命令为绝对路径)来执行命令
sudo /bin/cat /etc/shadow

@磁盘配额
- vi /etc/fstab文件
将要设置配额的分区设置开机自动挂载在添加行在defaults 后面加上,usrquota(grpquota)表示要建立用户或组的磁盘配额

  • 重新挂载文件系统
    之前重启看效果,可以使用umount -a 卸载所有文件挂载,然后使用 mount -a挂载所有文件系统

  • 在挂载目录下创建aquota.user 文件
    在挂载目录下执行touch aquota.user通常要对该文件配置权限,防止用户随便访问

  • 进行配额检查
    执行 quotacheck -avu(g)(g 是启用组配额)

  • 设置用户磁盘配额

执行 edquota -u rose
默认使用 vi 编辑 rose 用户的配额文件
filesystem blocks soft hard inodes soft hard
/dev/sdb1    4      0   0     1      0   0

4 个数据块和 1 个 inodes
软极限和硬极限讲解(结合windows 中的配额提醒来讲)
如果设置宽限时间,可以让用户在规定的时间内可以超过软极限,但必须在硬极限之内。

  • 设置宽限时间
    edquota -t 编辑时间
  • 启用配额
    quotaon /qt(配额目录)

  • 进行配额测试
    创建文件,占用磁盘空间,然后超过软极限,看提醒,然后再超过硬极限,看效果

如果要对其他用户设置相同的配额,可以复制配额
edquota -up rose u1 u2 u3
如果要使配额每次启动生效,可以将配额检查和激活命令放在默认/etc/rc.d/rc.sysinit启动脚本中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值