目录
用户组的基本概念
用户标识符:UID
组标识符:GID
id 查看当前登录用户的ID信息
用户组管理
groupadd 添加组
groupmod 修改组
groupdel 删除组
useradd 添加用户
usermod 修改用户
userdel 删除用户
解析库文件
解析库文件详解
sudo命令
设置Jack用户可以添加用户及修改用户密码
用户组的基本概念 用户和组
系统上每一个进程都和用户相关,每一个进程的运行都是由特定用户运行的
每一个文件都由特定用户拥有
用户对文件和目录的访问都受到限制
运行中的进程所相关的用户来确定进程可以访问的文件和目录
每个使用者:用户标识、密码
组:用户组、用户容器
用户类别:
管理员 root
普通用户
登录用户
系统用户 /sbin/nologin
用户标识符:UID
管理员 0
普通用户:1-65535
系统用户:1-499 (Centos6)1-999(centos7)
登录用户:500-60000 (Centos6)1000-60000(centos7)
名称解析:名称转换
username<->uid
解析库:/etc/passwd
组标识符:GID
组:用户组,用户的容器
管理员组 0
普通用户组 1-65535
系统用户组:1-499 (Centos6)1-999(centos7)
登录用户组:500-60000 (Centos6)1000-60000(centos7)
名称解析:groupname<->gid
解析库:/etc/group
组的类别:
用户的基本组
用户的附加组
id 查看当前登录用户的ID信息
id [OPTION]..、[USER]
[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)
认证信息:认证信息提前保存在系统中,通过比对与事先保存的认证信息,是否一致
passwd:/etc/shadow /etc/gshadow
密码使用策略:
1、使用随机密码
2、长度不要低于8位
3、使用大小写字母,符号,数字中至少三类
4、定期更换
用户组管理 用户组管理相关命令 只有root可以使用
groupadd 添加组
groupadd [options] group
-g GID:指定GID,默认是上一个GID+1
[root@localhost ~]# groupadd -g 2000 mojiao
[root@localhost ~]# grep 'mojiao' /etc/group
mojiao:x:2000:
-r:指定创建系统组
groupmod 修改组
groupmod [options] group
-g GID:修改GID
[root@localhost ~]# groupmod -g 2048 mojiao
-n New_name:修改组名
groupdel 删除组
groupdel [options] GROUP
[root@localhost ~]# groupdel mojiao
useradd 添加用户
useradd [options] LOGIN
useradd -D
useradd -D [options]
[root@localhost ~]# useradd zwj
-u UID:指定UID
-g GID:指定基本组,组得事先存在
-G groupname:指定附加组,多个附加组用逗号分隔
-c:指定注释信息
-d:指定用户家目录,默认创建时复制/etc/skel并重命名,如果指定家目录
事先存在,则不会复制环境配置文件
-s shell:指定用户的默认shell。默认是使用$SHELL,可用的shell /etc/shells
-r:指定创建系统用户
创建用户时默认的配置文件 /etc/login.defs
-D:显示或者修改用户的默认配置 /etc/default/useradd
usermod 修改用户
usermod [options] LOGIN
-u uid:修改uid
[root@localhost ~]# usermod -u 2022 zwj
-g gid:修改gid
-G groupname:修改附加组,原有的组会被覆盖
-a:与-G一起使用,代表是追加附加组
-c:修改注释信息
-d:修改家目录,家目录中原有的文件不会被移动到新目录
-m:与-d一起使用,用于将原有家目录移动为新的家目录
-l:修改用户名
-s:修改shell
-L:锁定用户密码 /etc/shadow !!
-U:解锁用户密码
userdel 删除用户
userdel [options] LOGIN
-r:删除用户时连同家目录一起删除
解析库文件 解析库文件详解
/etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:代表用户账号的字符串
密码信息:占位符 X
用户标识符:UID
组标识符:GID
注释信息
用户家目录
登录shell:shell是用户与Linux系统之间的接口
/etc/shadow
root:$6$KwEWPXjk$q5INDd6jnqcVAvOxy1CVkP6FrEmgky7Kj0UYUvb/ZIGqhBl73N4SCyioEmLgjhxmsQSP6yULtkWCogn4/vWww1:19008:0:99999:7:::
用户名:
密码串:$6$KwEWPXjk$ 前两个$中代表加密算法,后两个$中是加密因子
最后一次密码修改时间:
最小间隔时间:
最大间隔时间:
告警时间:
不活动时间:
失效时间:
标志位:
sudo命令
sudo的配置文件是/etc/sudoers
visudo 专门来编辑/etc/sudoers 需要在root下执行,给普通用户提权限
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
用户 主机=(以什么身份) 可以使用的命令
在普通用户下执行提权命令时,前提是普通用户有密码
sudo commond
sudo执行完命令之后 会在/var/log/secure中记录日志
设置Jack用户可以添加用户及修改用户密码
[root@localhost ~]# useradd Jack
[root@localhost ~]# echo "111111" | passwd --stdin Jack
Changing password for user Jack.
passwd: all authentication tokens updated successfully.
修改配置文件,为Jack添加特殊权限
[root@localhost ~]# visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
Jack ALL=(root) /usr/bin/passwd,/usr/sbin/useradd
[root@localhost ~]# su - Jack
[Jack@localhost ~]$ sudo -l
We trust you have received the usual lecture from the local System
Administrator、It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for Jack:输入密码
Matching Defaults entries for Jack on localhost:
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
env_keep+="LC_MonETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin:/bin:/usr/sbin:/usr/bin
User Jack may run the following commands on localhost:
(root) /usr/bin/passwd, /usr/sbin/useradd
[Jack@localhost ~]$ sudo useradd zhang
[Jack@localhost ~]$ tail -1 /etc/passwd
zhang:x:2025:2025::/home/zhang:/bin/bash
[Jack@localhost ~]$ sudo passwd zhang
Changing password for user zhang.
New password:输入新密码
BAD PASSWORD: The password is a palindrome
Retype new password:输入新密码
passwd: all authentication tokens updated successfully.
用户和组
系统上每一个进程都和用户相关,每一个进程的运行都是由特定用户运行的
每一个文件都由特定用户拥有
用户对文件和目录的访问都受到限制
运行中的进程所相关的用户来确定进程可以访问的文件和目录
每个使用者:用户标识、密码
组:用户组、用户容器
用户类别:
管理员 root
普通用户
登录用户
系统用户 /sbin/nologin
用户标识符:UID
管理员 0
普通用户:1-65535
系统用户:1-499 (Centos6)1-999(centos7)
登录用户:500-60000 (Centos6)1000-60000(centos7)
名称解析:名称转换
username<->uid
解析库:/etc/passwd
组标识符:GID
组:用户组,用户的容器
管理员组 0
普通用户组 1-65535
系统用户组:1-499 (Centos6)1-999(centos7)
登录用户组:500-60000 (Centos6)1000-60000(centos7)
名称解析:groupname<->gid
解析库:/etc/group
组的类别:
用户的基本组
用户的附加组
id 查看当前登录用户的ID信息
id [OPTION]..、[USER]
[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)
认证信息:认证信息提前保存在系统中,通过比对与事先保存的认证信息,是否一致
passwd:/etc/shadow /etc/gshadow
密码使用策略:
1、使用随机密码
2、长度不要低于8位
3、使用大小写字母,符号,数字中至少三类
4、定期更换
用户组管理相关命令 只有root可以使用
groupadd 添加组
groupadd [options] group
-g GID:指定GID,默认是上一个GID+1[root@localhost ~]# groupadd -g 2000 mojiao
[root@localhost ~]# grep 'mojiao' /etc/group
mojiao:x:2000:-r:指定创建系统组
groupmod 修改组
groupmod [options] group
-g GID:修改GID
[root@localhost ~]# groupmod -g 2048 mojiao
-n New_name:修改组名
groupdel 删除组
groupdel [options] GROUP
[root@localhost ~]# groupdel mojiao
useradd 添加用户
useradd [options] LOGIN
useradd -D
useradd -D [options]
[root@localhost ~]# useradd zwj-u UID:指定UID
-g GID:指定基本组,组得事先存在
-G groupname:指定附加组,多个附加组用逗号分隔
-c:指定注释信息
-d:指定用户家目录,默认创建时复制/etc/skel并重命名,如果指定家目录
事先存在,则不会复制环境配置文件
-s shell:指定用户的默认shell。默认是使用$SHELL,可用的shell /etc/shells
-r:指定创建系统用户
创建用户时默认的配置文件 /etc/login.defs
-D:显示或者修改用户的默认配置 /etc/default/useradd
usermod 修改用户
usermod [options] LOGIN
-u uid:修改uid
[root@localhost ~]# usermod -u 2022 zwj-g gid:修改gid
-G groupname:修改附加组,原有的组会被覆盖
-a:与-G一起使用,代表是追加附加组
-c:修改注释信息
-d:修改家目录,家目录中原有的文件不会被移动到新目录
-m:与-d一起使用,用于将原有家目录移动为新的家目录
-l:修改用户名
-s:修改shell
-L:锁定用户密码 /etc/shadow !!
-U:解锁用户密码
userdel 删除用户
userdel [options] LOGIN
-r:删除用户时连同家目录一起删除
解析库文件 解析库文件详解
/etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:代表用户账号的字符串
密码信息:占位符 X
用户标识符:UID
组标识符:GID
注释信息
用户家目录
登录shell:shell是用户与Linux系统之间的接口
/etc/shadow
root:$6$KwEWPXjk$q5INDd6jnqcVAvOxy1CVkP6FrEmgky7Kj0UYUvb/ZIGqhBl73N4SCyioEmLgjhxmsQSP6yULtkWCogn4/vWww1:19008:0:99999:7:::
用户名:
密码串:$6$KwEWPXjk$ 前两个$中代表加密算法,后两个$中是加密因子
最后一次密码修改时间:
最小间隔时间:
最大间隔时间:
告警时间:
不活动时间:
失效时间:
标志位:
sudo命令
sudo的配置文件是/etc/sudoers
visudo 专门来编辑/etc/sudoers 需要在root下执行,给普通用户提权限
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
用户 主机=(以什么身份) 可以使用的命令
在普通用户下执行提权命令时,前提是普通用户有密码
sudo commond
sudo执行完命令之后 会在/var/log/secure中记录日志
设置Jack用户可以添加用户及修改用户密码
[root@localhost ~]# useradd Jack
[root@localhost ~]# echo "111111" | passwd --stdin Jack
Changing password for user Jack.
passwd: all authentication tokens updated successfully.
修改配置文件,为Jack添加特殊权限
[root@localhost ~]# visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
Jack ALL=(root) /usr/bin/passwd,/usr/sbin/useradd
[root@localhost ~]# su - Jack
[Jack@localhost ~]$ sudo -l
We trust you have received the usual lecture from the local System
Administrator、It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for Jack:输入密码
Matching Defaults entries for Jack on localhost:
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
env_keep+="LC_MonETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin:/bin:/usr/sbin:/usr/bin
User Jack may run the following commands on localhost:
(root) /usr/bin/passwd, /usr/sbin/useradd
[Jack@localhost ~]$ sudo useradd zhang
[Jack@localhost ~]$ tail -1 /etc/passwd
zhang:x:2025:2025::/home/zhang:/bin/bash
[Jack@localhost ~]$ sudo passwd zhang
Changing password for user zhang.
New password:输入新密码
BAD PASSWORD: The password is a palindrome
Retype new password:输入新密码
passwd: all authentication tokens updated successfully.
解析库文件详解
/etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:代表用户账号的字符串
密码信息:占位符 X
用户标识符:UID
组标识符:GID
注释信息
用户家目录
登录shell:shell是用户与Linux系统之间的接口
/etc/shadow
root:$6$KwEWPXjk$q5INDd6jnqcVAvOxy1CVkP6FrEmgky7Kj0UYUvb/ZIGqhBl73N4SCyioEmLgjhxmsQSP6yULtkWCogn4/vWww1:19008:0:99999:7:::
用户名:
密码串:$6$KwEWPXjk$ 前两个$中代表加密算法,后两个$中是加密因子
最后一次密码修改时间:
最小间隔时间:
最大间隔时间:
告警时间:
不活动时间:
失效时间:
标志位:
sudo命令
sudo的配置文件是/etc/sudoers
visudo 专门来编辑/etc/sudoers 需要在root下执行,给普通用户提权限
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
用户 主机=(以什么身份) 可以使用的命令
在普通用户下执行提权命令时,前提是普通用户有密码
sudo commond
sudo执行完命令之后 会在/var/log/secure中记录日志
设置Jack用户可以添加用户及修改用户密码
[root@localhost ~]# useradd Jack
[root@localhost ~]# echo "111111" | passwd --stdin Jack
Changing password for user Jack.
passwd: all authentication tokens updated successfully.
修改配置文件,为Jack添加特殊权限
[root@localhost ~]# visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
Jack ALL=(root) /usr/bin/passwd,/usr/sbin/useradd
[root@localhost ~]# su - Jack
[Jack@localhost ~]$ sudo -l
We trust you have received the usual lecture from the local System
Administrator、It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for Jack:输入密码
Matching Defaults entries for Jack on localhost:
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
env_keep+="LC_MonETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin:/bin:/usr/sbin:/usr/bin
User Jack may run the following commands on localhost:
(root) /usr/bin/passwd, /usr/sbin/useradd
[Jack@localhost ~]$ sudo useradd zhang
[Jack@localhost ~]$ tail -1 /etc/passwd
zhang:x:2025:2025::/home/zhang:/bin/bash
[Jack@localhost ~]$ sudo passwd zhang
Changing password for user zhang.
New password:输入新密码
BAD PASSWORD: The password is a palindrome
Retype new password:输入新密码
passwd: all authentication tokens updated successfully.