Linux 系统用户与用户组管理
Linux用户管理:用户管理是Linux系统管理非常重要的组成部分,怎样管理用户,用户管理我们分为用户和用户组。
1 用户配置文件和密码配置文件
用户信息文件:/etc/passwd
密码文件:/etc/shadow
用户配置文件 /etc/passwd 由:分割成7部分
1.root表示用户名:用户登录系统时使用的用户名,一般不用数字,只用字母,用户名不要太长,不要超过8位。
2. x,表示密码位,不是存放密码,用一个x 代替,我们称之为的密码位。
3. 用数字表示0 ,代表root 用户时uid Linux内核不认识字母的,它只认识数字,系统操作的 每一对象:文件,进程, 用户, 用户组,都是要有一个数字标识。 Linux用户分为三种:超级用户(root, UID=0 普通用户(UID 500-60000)
4. 字段也是数字,表示组标识gid,该字段对应的着/etc/group
5. root 表示注释性描述,通常记录该用户的一些属性
6. /root,表示用户的家目录,当用户登录时,就是处于在这个目录下。root的家目录是/root,普通用户的家目录则为/home/username.
7. 该字段为用户的shell,命令解释器。用户登录后,要启动一个进程,用来将用户下达的指令输入给内核。如果想建立一不允许登录的账号,可以把改字段改成/sbin/nologin.默认是/bin/bash.
密码文件/etc/shadow由分割成9个字段。
第1个字段为用户名,与/etc/passwd对应。
第2个字段为用户密码,是该账号密码。
第3 个字段为上次更改密码的日期。
第4个字段为要过多少天才可以更改密码。默认是0, 即不受限
第6个字段为密码到期前的警告期限。
第7个字段为账号失效期限。
第8个字段为账号的生命周期。
2用户和用户组管理
新增组的命令groupadd
命令groupadd的格式为groupadd [-g GID] groupname
示例命令如下:
#groupadd grptest1
#tail -n1 /etc/group
groupadd :g 选项不g 按照系统默认的gid创建组。加g自定义
#groupadd -g 1008 grptest2
#tail -n2 /etc/group
删除用户组的命令groupdel
groupdel [用户组】
增加用户的命令useradd
useradd就是增加用户的.
命令格式: useradd [-u UID] [ -g GID] [-d Home][-m] [-s]
-u:表示自定义UID
-g:表示使心脏用户属于已经存在的某个组,后面可以跟组id ,也可以跟组名
-d:表示自定义用户家目录。
-m:表示不建立家目录。
-s:表示自定义shell.
举例先来创建一个用户
#uaeraad test10
#tail -n1 /etc/passwd
#tail -n1 /etc/group
自定义uid gid 或者所属组
#useradd -u1005 -g1006 -m -s /sbin/nologin user11
#useradd -u1005 -g 1004 -m -s /sbin/nologin user11
#useradd -u1006 -g grptest1 user12
#tail -n2 /etc/passwd
2 删除账号的命令userdel
命令userdel的格式命令:userdel [r ] username,其中r 选项的作用是,当删除用户时,一并删除该用户的家目录。
3.usermod用户管理命令
用户管理的基本内容是禁用,启用用户账号(即锁定,解除锁定),以及修改用户账号的某些属性等。
usermod参数选项及说明
L:锁定用户,禁止用户登录系统
U:解除锁定
e:指定用户的过期日期
f:指定用户过期之后的缓冲时间,既过期之后还能登录的天数。
d:为用户指定新的家目录。
m:为用户指定新的家目录时,移动原来家目录中的所有文件。
s:修改用户的默认shell 连同家目录中的文件一起移动,修改家目录。
#usermod -d /file/user/home
4 用户密码管理
命令passwd,账户创建后,默认是没有密码的,只有设定密码才可以登录系统,passwd为用户设定密码。
命令格式passwd【 username] 该命令后面若不加用户名字,则是为自己设定密码
#passed (更改用户root密码)
#passwd user12(更改用户user12的密码)
5 命令mkpasswd
命令mkpasswd用于生成密码,用yum安装 yum install -y expect
#mkpasswd -l 12 -s 0 -d 3
eu8e2fj7sjtE (-s指定特殊字符的个数,-d指定数字的个数)
6 su和sudo命令
su:切换用户su命令用于将当前用户切换到指定用户或者以指定用户的身份执行命令或程序。
命令格式: su 选项 用户名
su命令的参数选项及说明
- ,-l ,-login:切换用户的同时,将用户的家目录,系统环境等重新按切换后的用户初始化
- c:向shell 传递单个命令。
举例:切换用户
$whoami
$su - root(su-不加-项切换的root账号下,当前目录没有变化。加 -项切换root账号下会初始化当前用户的各种环境变量。
sudo:以另一个用户身份执行命令。
通过sudo命令,可以让普通用户在执行指定的命令或程序上,拥有超级用户的权限,进行分类,并且有真针对性的将不同的命令授予指定的普通用户,同时普通用户不需要知道root密码就可以得到授权,这个授权可以用visudo配置管理。
sudo 选项-l:列出当前用户可以执行的命令,只有在sudoers 文件里的用户才能使用该选项。
用visudo命令编辑相关配置文件/etc/sudoers,默认root支持sudo
$sudo ls /root
命令说明:1通过sudo授权管理之后,所有用户执行授权的权限格式为“sudo"命令.2如果需要切换到root执行相关操作,则可以通过 sudo su- 命令,注意此命令密码为当前用户密码,而不是root的密码。3 执行"sudo -l"命令可以查看当前用户被授权的sudo权限集合。
7 限制root远程登录
不预习root远程登录Linux ,首先在 /etc/ssh/sshd _confing为sshd服务的配置文件,如何限制呢
操作方法如下:1 修改配置文件/etc/ssh/sshd config.2文件中查找#permitRootLogin yes该为PermitRootLogin no保存退出后,重启sshd服务。
#systemctl restrat sshd.service(适用于通过ssh远程登录Linux的情况。
课堂笔记
1用户管理在工作中如何体现。
用户配置文件:/etc/passwd/
密码配置文件:/etc/shadow/
用户管理包括用户,用户组
创建用户useradd ,删除用户userdel -r(-r选项连用户家目录一并删除)
增加用户组groupaddr 删除用户组groupdel
用户密码管理passwd passwd:设置密码,修改用户密码。
su和sudo visudo 账户登录切换root与普通用户su
visudo格式:
= 在sudo中的命令要一定写绝对路径。
#visudo
root ALL=(ALL0) ALL
user:用户root
host:主机不同字段的IP地址或者定制不同规则环境。