Linux2

用户管理

AAA认证

  • Authentication:认证机制,通过某种方案来确认用户是其声称的用户,如密码、生物识别等
  • Authorization:授权机制,资源使用级别(Linux只有管理员和普通用户两级分配机制,权限)
  • Audition:审计机制,监督权限的使用 ,log审计凭据—额外审计功能Selinux

用户,组,权限

什么是组?为什么要分组?为什么分组后就方便管理了?

对于系统来说,后期有了用户后会给它们划分不同的权限,但是用户只是代表一个个体,分别对一个用户去进行管理就比较繁琐,所以便进行了分组。每创建一个用户都会默认把它放到一个组里面,后期想对一类用户进行管理直接对组管理就可以了。只要创建一个用户,就会有一个组产生,用户必须在组内,没有组就没有用户。

用户,组、权限的相关文件路径

路径路径下的信息
/etc/passwd用户相关信息
/etc/login.defs设置用户创建时默认相关信息
/etc/defualt/useradd用户添加时会创建的相关信息设置
/etc/skel用户家目录下相关隐藏文件
/etc/group组相关信息
/etc/gshadow组密码
/etc/shadow用户密码
/var/spool/mail/var/mail 用户邮箱记录

用户类别

  • 管理员: 只有一个root
  • 普通用户: 1-65535,2^16个,其中1-200 是系统中的管理用户
    • 系统用户: 201-999,专门用来运行后台进程和服务的用户,不允许登陆系统(服务用户)
    • 一般用户: 1000-60000,后面的很少使用

用户组类别

  • 管理员组:(UID为0)root
  • 普通组 常用分法
    • (主)基本组,用户默认组
    • 附加组 额外组,默认组以外的其他组
      创建一个Redhat用户,其默认就在Redhat组里面,如果把Redhat加入到root组里面,那么root就是Redhat的附加组或者是额外组。

用户管理

创建用户(useradd USERNAME/adduser)

  • -u UID 指定UID
  • -g GID 指定基本组
  • -G GID1,GID2,… 指定附加组
  • -c “注释信息” 指定用户注释信息 (chfn 用户名)
  • -d /path/to/dir 指定某个目录为用户家目录
  • -s /shell 指定用户使用的shell chsh -s
[root@localhost ~]# useradd xixi
[root@localhost ~]# useradd heihei
[root@localhost ~]# useradd lala
[root@localhost ~]# ll /usr/sbin/useradd
-rwxr-xr-x. 1 root root 229120 Jun  7  2019 /usr/sbin/useradd

useradd 一次性只能创建一个用户,且只能在root用户下执行,它在usr/sbin/useradd 目录下。

  • 查看用户是否添加成功
[root@localhost ~]# cat /etc/passwd
xixi:x:1001:1001::/home/xixi:/bin/bash
heihei:x:1002:1002::/home/heihei:/bin/bash
lala:x:1003:1003::/home/lala:/bin/bash

快速查看

[root@localhost ~]# grep xixi /etc/passwd
xixi:x:1001:1001::/home/xixi:/bin/bash

查看用户(/etc/passwd (用户配置文件))后的每一行根据冒号隔开都有七个字段,其分别表示为:
用户名: x : UID : GID : 描述名称/注释 : 用户家目录 : shell

x:表示占位符,早期是密码信息
UID:用户ID
GID:组ID
shell:命令解释器

七项分别表示为:

  • account 用户名
  • password 密码,x为密码占位符,目标为/etc/shadow第二个字段
  • UID 用户ID -u
  • GID 基本组ID,额外组信息在/etc/group文件中 -g -G
  • CECOS 用户基本信息 -c chfn
  • HOME DIR 用户家目录,系统用户不允许登陆 -d
  • shell 用户的默认shell,/etc/shells保存了所有的合法shell -s chsh

查看红帽上支持那些shell

[root@localhost ~]# sh
sh-4.4# chsh -l
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
sh-4.4# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

usermod 修改用户相关信息,选项同useradd

  • -u 修改UID
  • -g 修改基本组,基本组必须事先存在
  • -G 这个选项会覆盖之前的附加组,和-a选项配合使用。usermod -a -G 追加附加组
  • -c 修改用户注释信息
  • -s 修改用户shell
  • -l 修改登陆名

如何更改以上六个字段(除占位符)?

  • 通过文本编辑器,打开该文件,对对应的字段进行修改
  • 命令 usermod --help 查看更改项的选项,再对其修改
[root@localhost ~]# usermod --help
Usage: usermod [options] LOGIN

Options:
  -c, --comment COMMENT         new value of the GECOS field
  -d, --home HOME_DIR           new home directory for the user account
  -e, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -f, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -g, --gid GROUP               force use GROUP as new primary group
  -G, --groups GROUPS           new list of supplementary GROUPS
  -a, --append                  append the user to the supplemental GROUPS
                                mentioned by the -G option without removing
                                the user from other groups
  -h, --help                    display this help message and exit
  -l, --login NEW_LOGIN         new value of the login name
  -L, --lock                    lock the user account
  -m, --move-home               move contents of the home directory to the
                                new location (use only with -d)
  -o, --non-unique              allow using duplicate (non-unique) UID
  -p, --password PASSWORD       use encrypted password for the new password
  -R, --root CHROOT_DIR         directory to chroot into
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell SHELL             new login shell for the user account
  -u, --uid UID                 new UID for the user account
  -U, --unlock                  unlock the user account
  -v, --add-subuids FIRST-LAST  add range of subordinate uids
  -V, --del-subuids FIRST-LAST  remove range of subordinate uids
  -w, --add-subgids FIRST-LAST  add range of subordinate gids
  -W, --del-subgids FIRST-LAST  remove range of subordinate gids
  -Z, --selinux-user SEUSER     new SELinux user mapping for the user account
  • 修改用户名(两种均可以)
[root@localhost ~]# usermod -l xiuxiu xixi
[root@localhost ~]# usermod xixi -l xiuxiu
  • 修改其他项
[root@localhost ~]# usermod xiuxiu -u 1111 -g 1002 -G 1003 -c woshixixi -d /xixi -s /sbin/nologin

注意:不建议修改家目录,改了后不会自动创建出目录,并且目录下的有些配置文件也是不存在的。

  • 修改用户密码
[root@localhost ~]# echo redhat | passwd --stdin haha

删除用户userdel USERNAME

  • -r 删除用户时删除用户家目录和用户的邮箱
  • id 查看用户的ID信息,选项同useradd
  • -u 显示UID
  • -G 显示附加GID
  • -g 显示GID
[root@localhost mail]# userdel -r lala

组管理

  • 增加组
#groupadd 组名
  • 判断组是否存在
#cat /etc/group
#redhat:x:1000:

redhat这一项是组名;x表示密码的占位符;1000表示组id;最后这个冒号后面的字段表示用户名,如果显示为空,则表示这是一个基本组,不会显示用户信息,如果有用户显示,则表示该组为此用户的附加组。

  • 修改组信息
    • 用命令进行修改
    • 进入文本编辑器进行修改(vi)
      例如:
      将名为g1的组改名为grp1,组id改为1111
#groupmod g1 -n grp1 -g 1111
#vi /etc/group
进入配置文件进行修改
  • 组删除
#groupdel  redhat

groupde不能删除基本组,删除基本组需要删除改组的用户

  • 用户的相关默认属性
    添加用户就是在/etc/passwd、/etc/shadow、/etc/group中添加用户相关信息
    默认属性都来自 /etc/default/useradd
[root@localhost ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100      #组(在linux当中用户默认组有两种模式公有模式(统一一个组)和私有模式(创建一个用户就创建一个组),当前我们学习的linux是一种私有模式)
HOME=/home     #家目录
INACTIVE=-1    #密码宽限限期
EXPIRE=        #账户过期限不启用
SHELL=/bin/bash    #指定shell
SKEL=/etc/skel     #默认文件
CREATE_MAIL_SPOOL=yes    #邮件配置
  • 更改所属组----chgrp(只能更改组)
[root@localhost ~]# chgrp wyh 1
[root@localhost ~]# ll
-rw-r--r--. 1 root wyh     0 Mar  4 21:54  1
  • 更改所属用户----chown
[root@localhost ~]# chown wyh 1
[root@localhost ~]# ll
-rw-r--r--. 1 wyh  wyh     0 Mar  4 21:54  1
  • 同时更改所属用户所属组
[root@localhost ~]# chown wyh:wyh 10
[root@localhost ~]# ll
-rw-r--r--. 1 wyh  wyh     0 Mar  4 21:54  10

还可以如下修改所属组

[root@localhost ~]# chown :wyh 1

wyh前面的冒号可用点(.)代替

对文件进行读写执行操作

[root@localhost ~]# ./1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值