管理用户和组

一、管理用户和组

用户: 1.登陆操作系统 2.不同的用户权限不同
组:方便管理用户

唯一标识: UID GID
管理员root的UID为0

组:基本组(私有组) 附加组(从属组)
Linux一个用户至少属于一个组
基本组:由系统创建与用户同名的组
附加组:由管理员创建并且将用户加入

[root@nsd /]# useradd abc
abc组
cw组 js组 sg组

1、添加用户

用户基本信息存放在 /etc/passwd 文件
[root@nsd /]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash

• 使用 useradd 命令

– useradd [选项]... 用户名

• 常用命令选项

– -u 用户id、-d 家目录路径、-s 登录解释器、-G 附加组

建议:普通用户的UID从1000开始

[root@nsd /]# useradd nsd01
[root@nsd /]# id haha
id: haha: no such user
[root@nsd /]# id nsd01 #查询用户基本信息

[root@nsd /]# useradd -u 1500 nsd02 #指定UID创建
[root@nsd /]# id nsd02

[root@nsd /]# ls /home #查看生成的家目录

[root@nsd /]# useradd nsd03
[root@nsd /]# grep nsd /etc/passwd
用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器程序

[root@nsd /]# ls /home

[root@nsd /]# useradd -d /opt/nsd04 nsd04 #创建用户指定家目录
[root@nsd /]# ls /opt/
[root@nsd /]# grep nsd /etc/passwd

[root@nsd /]# useradd -d /mnt/nsd05 nsd05
[root@nsd /]# ls /mnt
[root@nsd /]# grep nsd /etc/passwd

-s 登录解释器

 /sbin/nologin:禁止用户登陆操作系统

[root@nsd /]# useradd -s /sbin/nologin nsd06
[root@nsd /]# grep nsd06 /etc/passwd

[root@nsd /]# useradd -s /sbin/nologin nsd07
[root@nsd /]# grep nsd07 /etc/passwd

-G 附加组

[root@nsd /]# groupadd stugrp #创建组

[root@nsd /]# useradd -G stugrp nsd08
[root@nsd /]# id nsd08
uid=1504(nsd08) gid=1505(nsd08) 组=1505(nsd08),1504(stugrp)

[root@nsd /]# useradd -G stugrp nsd09
[root@nsd /]# id nsd09

[root@nsd /]# useradd -G stugrp nsd10
[root@nsd /]# id nsd10

• 使用 passwd 命令

3、修改用户属性

• 使用 usermod 命令

– usermod [选项]... 用户名

• 常用命令选项

– -u 用户id、-d 家目录路径、-s 登录解释器、 -G 附加组

[root@nsd /]# useradd nsd11
[root@nsd /]# id nsd11
[root@nsd /]# grep nsd11 /etc/passwd

[root@nsd /]# usermod -u 1600 -d /mnt/nsd11 -s /sbin/nologin -G stugrp nsd11

[root@nsd /]# id nsd11
[root@nsd /]# grep nsd11 /etc/passwd

[root@nsd /]# useradd nsd12
[root@nsd /]# id nsd12
[root@nsd /]# grep nsd12 /etc/passwd

[root@nsd /]# usermod -u 1700 -d /mnt/nsd12 -s /sbin/nologin -G stugrp nsd12
[root@nsd /]# id nsd12
[root@nsd /]# grep nsd12 /etc/passwd

四、删除用户

• 使用 userdel 命令

– userdel 用户名

[-r]:连同家目录一并删除

[root@nsd /]# userdel nsd01
[root@nsd /]# ls /home/
[root@nsd /]# userdel -r nsd02
[root@nsd /]# ls /home/

五、管理组账号

添加组

组基本信息存放在 /etc/group 文件
[root@nsd /]# grep tarena /etc/group
tarena:x:1602:

• 使用 groupadd 命令
– groupadd [-g 组ID] 组名

[root@nsd /]# groupadd tarena
[root@nsd /]# grep tarena /etc/group
tarena:x:1602:

[root@nsd /]# useradd haha
[root@nsd /]# useradd xixi
[root@nsd /]# useradd dc
[root@nsd /]# useradd tc

管理组成员

• 使用 gpasswd 命令
– gpasswd -a 用户名 组名
– gpasswd -d 用户名 组名

[root@nsd /]# gpasswd -a haha tarena #将用户haha加入到组
[root@nsd /]# grep tarena /etc/group #查看组成员信息

[root@nsd /]# gpasswd -a xixi tarena #将用户xixi加入到组
[root@nsd /]# grep tarena /etc/group #查看组成员信息

[root@nsd /]# gpasswd -a dc tarena #将用户dc从组中删除
[root@nsd /]# grep tarena /etc/group #查看组成员信息

[root@nsd /]# gpasswd -d xixi tarena #将用户xixi从组中删除
[root@nsd /]# grep tarena /etc/group #查看组成员信息

[root@nsd /]# gpasswd -d haha tarena #将用户haha从组中删除
[root@nsd /]# grep tarena /etc/group #查看组成员信息

[root@nsd /]# gpasswd -d dc tarena #将用户dc从组中删除
[root@nsd /]# grep tarena /etc/group #查看组成员信息

删除组:不能删除用户的基本组

[root@nsd /]# groupdel tarena
[root@nsd /]# grep tarena /etc/group

六、tar备份与恢复

1.将零散分散的数据,归档成一个文件
2.节省空间

• 归档的含义

– 将许多零散的文件整理为一个文件
– 文件总的大小基本不变

• 压缩的含义

– 按某种算法减小文件所占用空间的大小
– 恢复时按对应的逆向算法解压

Linux平台压缩格式:

  gzip------>.gz
  bzip2------>.bz2
  xz------>.xz

• tar 集成备份工具(打包)

– -c:创建归档
– -x:释放归档
– -f:指定归档文件名称,必须放在所有的选项后面
– -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
– -t:显示归档中的文件清单
– -C:指定释放路径

tar打包格式:

命令格式:tar 选项 /路径/压缩包名字 /路径/源数据.......

—利用gzip进行压缩
]# tar -zcf /mnt/abc.tar.gz /etc/passwd /home/
]# ls /mnt/
—利用bzip2进行压缩
]# tar -jcf /mnt/nsd.tar.bz2 /etc/passwd /home/
]# ls /mnt/
—利用xz进行压缩
]# tar -Jcf /mnt/stu.tar.xz /etc/passwd /home/
]# ls /mnt/

tar解包格式:

命令格式:tar 选项 /路径/压缩包名字 选项 /释放的路径

[root@nsd /]# mkdir /tar01
[root@nsd /]# tar -xf /mnt/abc.tar.gz -C /tar01
[root@nsd /]# ls /tar01/
[root@nsd /]# ls /tar01/etc/
[root@nsd /]# ls /tar01/home/

[root@nsd /]# mkdir /tar02
[root@nsd /]# tar -xf /mnt/nsd.tar.bz2 -C /tar02
[root@nsd /]# ls /tar02/
[root@nsd /]# ls /tar02/etc/
[root@nsd /]# ls /tar02/home/

[root@nsd /]# mkdir /tar03
[root@nsd /]# tar -xf /mnt/stu.tar.xz -C /tar03
[root@nsd /]# ls /tar03/
[root@nsd /]# ls /tar03/etc/
[root@nsd /]# ls /tar03/home/