欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Linux用户、组

时间:2023-07-26

目录

用户组的基本概念

用户标识符: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.

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。