您的位置:首页 > 运维架构 > Linux

Linux 124课程 5、管理本地的Linux用户和组

2018-02-22 10:04 387 查看
1、Linux 用户
操作系统不是根据用户名来区分用户,而是通过ID来区分用户

[root@localhost ~]# id 当前的root用户下的id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

管理员root账户 默认UID=0
RH 7 普通用户是UID从1000 开始分配

(1)用户的uid保存在和用户账户信息: /etc/passwd 文件中
cat /etc/passwd |grep student

student:x:1000:1000:student user:/home/student:/bin/bash
student 表示用户名
x 表示是否认证
1000 表示UID(所在有用户的编号)
1000 表示GID(所在组的编号)
student user 表示用户的描述信息
/home/student 表示用户所在的家目录
/bin/bash 表示shell环境

(2)用户的密码文件: /etc/shadow 文件中
cat /etc/shadow |grep student

student:$1$4UVn2bIM$M1jcd8dukZVvScgV4r0py.:17588:0:99999:7:::
student 表示用户名
17588 表示密码创建的天数(从1970.1.1 算起)
0 表示是最小有效期
99999 表示最大有效期
7 表示过期前7天提醒

2、Linux组
多个用户的一个集合 组的信息保存在 /etc/group
  cat /etc/group |grep student student:x:1000:
  
组分为两种类型:
  主要组
  每一个用户都有一个主要组
  本地用户的主组用GID表示,可以/etc/passwd文件当中看见用户的主组
  通常情况下,用户创建文件的属组是由主组所有;
  通常情况下,创建一个用户时,用户的UID和GID相同
  创建用户时,系统会创建一个相同名字的主组
  用户不能从主组中被删除
  
  附加组
  用户可能是零个或者多个附加组成员
  用户可以被附加组删除
  一个用户可以属于多个附加组,但是只能属于一个主组
  查看附加组的信息,可以在/etc/group 中查看
  附加组有助于用户访问系统上的其它资源
  
root 超级管理员
  安装软件\删除软件\创建用户... 必须有管理员权限

(1) su - 切换用户
  - 用于切换用户环境

su root /home/student 切换用户,不切换目录
pwd
su -roor /root 切换用户同时切换目录
pwd

sudo 提升用户权限

  允许管理员让普通用户执行一些或者全部的root命令的工具;
  
  [student@localhost ~]$ sudo useradd user1 使用student 用户创建user1用户
  默认情况下,要想使用student 用户创建user1用户需要先必须先设置授权;

  sudo 授权方式:
  visudo (管理员 才可以s使用visudo)

[root@localhost ~]# visudo
  ## Allows people in group wheel to run all commands
  #%wheel ALL=(ALL) ALL
  student ALL=/usr/sbin/useradd 添加useradd权限给student
  
  [root@localhost ~]# which useradd 查找useradd的路径

  [student@localhost ~]$ sudo -l 查看sudo 授权
  
  [sudo] password for student:
  Matching Defaults entries for student on this host:
   requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS
   secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
  
  User student may run the following commands on this host:
   (root) /sbin/useradd

2)vim /etc/sudoers

  sudo useradd user1
  sudo 的密码有效期默认为5分钟
  sudo -k 将缓存清空

3、管理本地用户和组
  useradd 新建用户
  -c 指定备注信息
  -d 指定家目录
  -e 指定账户的失效日期
  -g 指定主组ID
  -G 指定附加组ID
  -m 创建家目录(默认创建)
  -M 不创建家目录 一般情况下M和s一起用
  -s 指定用户的shell
  -u 指定UID

  useradd -c “this usesr is not root” user3 用户描述信息”this user is not root”
  passwd user3 创建用户以后,必须要为用户创建密码
  
  useradd -d /user4/ user4 指定user4的家目录
  
  每创建一个用户,会将/etc/skel 中的内容复制一份到家目录中 /etc/skel 家目录的模板
  
  useradd -u 2000 user7 指定user7 的 UID
  id user6 id user7 id user8
  
  useradd -e 20161231 user9 指定user9的账户失效日期
  cat /etc/passwd
  tail /etc/shadow 密码的失效日期
  
  useradd -g 2000 user10 前提是主组存在,指定主组
  useradd -G 2000 user11 提前是附加组存在,指定附加组
  cat /etc/group 附加组可以查看
  
  useradd -Ms /sbin/nologin user12

  (2)usermode 修改用户
  -g 修改主组ID
  -G 修改附加组ID
  -d 修改用户家目录
  -m 移动家目录到新的额目录,m和d合用
  -s 修改shell
  -l 修改登录名
  -L 锁定
  -u 修改UID
  -U 解锁
  
  usermod -g 2000 user12 主组必须存在,修改主组
  usermod -u 2006 user12
  usermod -G 2000 user12
  
  usermod -md /home/user6 user6
  
  usermod -s /sbin/nologin u1
  tail -l /etc/passwd
  
  usermod -l user11 u1
  
  vim /etc/passwd 可以通过直接修改passwd的配置文件,来修改user
  
  usermod -L user1
  usermod -U user1
  
  (3) userdel 删除用户信息
  -r 删除用户的所有信息,包括家目录以及邮箱
  -z 删除所有的SELinux用户映射
  
  userdel -r u1
  userdel -r user10
  

  (4)用户的默认策略
  /etc/login..defs
  
  每创建一个用户,用户的账户策略使用/ettc/login.defs。
  以后每创建的新用户所有策略会被此文件设备策略
  
  
  chage 更改用户策略的方式

  chage
  -d 表示最后更改日期,通常-d 0 表示下次登录式必须修改密码
  -m 表示最小使用天数
  -M 表示最大使用天数
  -W 表示警告的天数
  -I 表示设置失效的时间
  -l 查看用户的策略信息
  -E 设置账号过期时间
  
  chage -l user3
  
  chage -m 3 user3

  chage -M 30 user3

  chage -W 5 user3
  
  chage -I 10 user3
  
  chage -E 60day user3 账户过期时间
  
  date -d +60day
  
  chage -d 0 user1

(6)管理本地组账户
  groupadd gl
  -g 指定组ID
  
  group -g 8000 u2
  
  gpasswd 用于添加组成员
  -a 添加一个用户到组
  -d 从组中删除一个用户
  -m 添加多个用户到组
  -M 添加用户到组,替换
  -g2 删除组
  
  usermod -G g1 user1
  gpasswd -a user3 g1
  
  groupmod -g 2007
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  管理 本地 Linux