红帽Redhat

您所在的位置:网站首页 rhel8默认的文件系统 红帽Redhat

红帽Redhat

2023-09-19 12:44| 来源: 网络整理| 查看: 265

文章目录 一、什么叫用户?1. 用户类别:2. 组类别:3. 存放用户信息的配置文件4.管理用户 END

提示:以下是本篇文章正文内容,下面案例可供参考

一、什么叫用户?

我们在系统中的各种操作都会以某个身份进行,这些操作的发起者就是系统中的用户。 系统中的每个进程(运行的程序)都是由某个用户运行。

1. 用户类别: 管理员用户普通用户系统用户登陆用户

用户的标识: User ID(UID) 管理员:UID为0 普通用户:1­-65535 系统用户:UID为1-­499(RHEL6),1­-999(RHEL8) 系统中用于运行各种服务程序的用户,默认是不能登录系统的 登陆用户:500­-6000(RHEL6),1000­-60000(RHEL8)

2. 组类别:

组的标识: Group ID(GID)

分类1 管理员组:GID=0 普通用户组:1­-65535 系统组:1-­499(RHEL6),1­-999(RHEL8) 登陆组:500-­6000(RHEL6),1000-­60000(RHEL8)

分类2 –­­基本组(主组):也叫主要组,每个用户都有且只有一个基本组。 –附加组(附属组):也叫附属组或者补充组。

分类3 私有组:用户名和组名相同,并且该组中只包含了一个用户。 公有组:组内包含多个用户。

3. 存放用户信息的配置文件

配置文件:/etc/passwd用户的主要配置文件,用于存储用户的信息。

[root@server ~]# cat /etc/passwd //查看当前系统下所有用户 root:x:0:0:root:/root:/bin/bash unbound:x:994:988:Unbound DNS resolver:/etc/unbound:/sbin/nologin qemu:x:107:107:qemu user:/:/sbin/nologin rhel:x:1000:1000:rhel:/home/rhel:/bin/bash [root@server ~]# id user //查看具体的user这个用户 uid=1000(user) gid=1000(user) groups=1000(user) [用户名及UID] [组名及组ID] [所属组]

配置文件:/etc/group组配置文件。

[root@server ~]# cat /etc/group rhel:x:1000:

配置文件:/etc/shadow 用户的密码文件,用户存储密码信息。

[root@server ~]# cat /etc/shadow root:$6$7gOEpXW1Xl3UflMl$.2gqU9YCRaP8KPa0YcjIUhwWk5f7mTYbG3nbBFAGC32IaI.7GgMcJLWgstbsEXRWiWQOwzx2XwyFlMtZpUr/D1::0:99999:7::: bin:*:18367:0:99999:7::: daemon:*:18367:0:99999:7::: adm:*:18367:0:99999:7::: rhel:$6$toKUzEtHz9fukt4i$Mmf45i9TqRWshPrak8qfoskp/6otwTMGEmp9b5S6rUmo4rl6HdQy6E3vBuJuyApt1ViO6z/t96YDt/4YV9RUc0::0:99999:7:::

配置文件:/etc/gshadow组密码文件。

[root@server ~]# cat /etc/gshadow root::: bin::: daemon::: sys::: adm::: tty::: rhel:!::

用户配置文件/etc/passwd 各字段含义

root:x:0:0:root:/root:/bin/bash rhel:x:1000:1000:rhel:/home/rhel:/bin/bash 1 :2: 3 : 4 : 5 : 6 : 7 rhel:用户名 [user]。passwd:密码位,X表示该用户登录系统必须使用密码,空值则表示无需密码 [X]。UID:0 是系统用户,1000以上是普通用户 [1000]。GID:基本组GID [1000]。注释/描述信息: [rhel]。HOME DIR: 家目录 [/home/user]。SHELL: 默认登录shell [/bin/bash]。

用户密码文件:/etc/shadow各字段含义。

rhel:$6$t...0::0:99999:7::: 1 : 2 :3:4:5:6:7:8:9 rhel:$6$toKUzEtHz9fukt4i$Mmf45i9TqRWshPrak8qfoskp/6otwTMGEmp9b5S6rUmo4rl6HdQy6E3vBuJuyApt1ViO6z/t96YDt/4YV9RUc0::0:99999:7::: 用户名 [rhel]加密后密码 [$6$toKUzEtHz9fukt4i$Mmf45i9TqRWshPrak8qfoskp/6otwTMGEmp9b5S6rUmo4rl6HdQy6E3vBuJuyApt1ViO6z/t96YDt/4YV9RUc0]从1970.1.1至最后一次密码修改所经历的天数 ,安装好系统后没有修改过密码表示空值。 []密码最短使用期限:0表示无期限 [0]密码最长使用期限:99999表示永久 [99999]密码过期前N天开始警告 [7]密码过期后宽限时间,这个期限内登录会强制修改密码,超过这个期限则锁定账户.空值表示不强制操作时间账户过期时间:空置表示不会过期保留字段 4.管理用户

管理用户命令:useradd , userdel , usermod , passwd , id ,w,who, chage 添加用户:useradd

useradd [选项] username 常见选项: -­u 指定UID -­g 指定基本组(组ID/组名) -­G 指定附加组(组ID/组名) -­c 添加描述 -­d 指定用户家目录 -­s 指定默认登录shell -­e 指定账户过期日期,格式YY­-MM-­DD -­M 不创建家目录 -­r 添加为系统用户

用户家目录文件是由/etc/skel 目录中复制而来。 新建用户默认属性变量文件:/etc/login.defs

[root@server ~]# useradd bash [root@server ~]# cat /etc/passwd bash:x:1001:1001::/home/bash:/bin/bash [root@localhost ~]# id bash //查看bash用户 uid=1001(bash) gid=1001(bash) groups=1001(bash)

创建一个用户名为ansible且uid为2000。

[root@server ~]# useradd -u 2000 ansible [root@server ~]# id ansible uid=2000(ansible) gid=2000(ansible) groups=2000(ansible)

-­g 指定基本组(组ID/组名) 创建用户时候,同时创建相同名字的用户组,默认只有基本组。

[root@server ~]# groupadd -g 2001 share //创建指定gid为2001的share用户 [root@server ~]# useradd -u 1500 test -g share //创建指定uid为1500和指定share为基本组 [root@server ~]# id test uid=1500(test) gid=2001(share) groups=2001(share)指定附加组 [root@server ~]# useradd user -G share //指定user的附加组为share [root@server ~]# id user uid=2001(user) gid=2002(user) groups=2002(user),2001(share) [root@server ~]# useradd -u 3000 -s /sbin/nologin -M web //指定web的uid为3000和指定默认登录为/sbin/nologin和不创建家目录 [root@server ~]# id web //查看web用户 uid=3000(web) gid=3000(web) groups=3000(web) [root@server ~]# cd /home/ [root@server home]# su - web //切换用户为web su: warning: cannot change directory to /home/web: No such file or directory This account is currently not available. 翻译:su:警告:不能将目录更改为/home/web:没有这样的文件或目录此帐户目前不可用。

删除用户userdel userdel [选项] [用户名] -­f 强制删除 -­r 删除用户时同时删除用户家目录

[root@server ~]# cd /home/ [root@server home]# ls ansible bash rhel test user [root@server home]# userdel test [root@server home]# ls ansible bash rhel test user [root@server home]# cat /etc/passwd rhel:x:1000:1000:rhel:/home/rhel:/bin/bash bash:x:1001:1001::/home/bash:/bin/bash ansible:x:2000:2000::/home/ansible:/bin/bash user:x:2001:2002::/home/user:/bin/bash web:x:3000:3000::/home/web:/sbin/nologin [root@server home]# cd /var/spool/mail/ [root@server mail]# ls ansible bash rhel rpc test user web

直接使用userdel 不加参数删除用户,可以删除用户,但是不删除用户的家目录和邮件目录

[root@server mail]# userdel user [root@server mail]# useradd user useradd: warning: the home directory already exists. Not copying any file from skel directory into it. Creating mailbox file: File exists useradd:警告:主目录已经存在。没有从skel目录复制任何文件到它。创建邮箱文件:文件已存在``` [root@server mail]# cd /home/ [root@server home]# ls ansible bash rhel test user [root@server home]# userdel -rf user [root@server home]# ls ansible bash rhel test

管理组 groupadd添加组 -­g 指定GID

[root@server ~]# groupadd -g 2020 tech [root@server ~]# cat /etc/group //查看创建的组及组ID rhel:x:1000: bash:x:1001: ansible:x:2000: share:x:2001: web:x:3000: tech:x:2020:

groupdel删除组 查看账户属性信息 id id username -­u 显示UID -­g 显示基本组GID -­G 显示附加组GID -­n 和u,g,G一起使用,显示具体名称,不显示id。

[root@server ~]# id rhel uid=1000(rhel) gid=1000(rhel) groups=1000(rhel) [root@server ~]# id -nu rhel rhel [root@server ~]# id -ng rhel rhel [root@server ~]# id -nG rhel rhel

查看用户信息 w who w:查看当前登录系统的所有系信息 who:查看当前登录用户

[root@server ~]# w 09:43:08 up 3:11, 1 user, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.2.89 08:15 1.00s 0.11s 0.00s w [root@server ~]# who root pts/0 2020-12-23 08:15 (192.168.2.89)

修改账号属性usermod usermod [选项] [用户名] -­u 修改uid -­g 修改基本组 -­G 修改附加组 ­­会覆盖原有的附加组 -­a ­G 添加附加组 ­­不会覆盖 -­s 修改登录shell -­u 修改uid

[root@server ~]# id rhel uid=1000(rhel) gid=1000(rhel) groups=1000(rhel) [root@server ~]# usermod -u 1111 rhel [root@server ~]# id rhel uid=1111(rhel) gid=1000(rhel) groups=1000(rhel)

-­g 修改基本组

[root@server ~]# usermod -g share rhel [root@server ~]# id rhel uid=1111(rhel) gid=2001(share) groups=2001(share)

-­G 修改附加组

[root@server ~]# id rhel uid=1111(rhel) gid=2001(share) groups=2001(share) [root@server ~]# useradd student [root@server ~]# usermod -G student rhel [root@server ~]# id rhel uid=1111(rhel) gid=2001(share) groups=2001(share),3001(student)

-­s 修改登录shell

[root@server ~]# usermod -s /sbin/nologin ansible [root@server ~]# su - ansible su: warning: cannot change directory to /home/ansible: Permission denied This account is currently not available. 翻译:su:警告:无法将目录更改为/home/ansible: Permission denied这个帐号目前不可用。

passwd username --­­stdin 从标准输入读取密码

echo “password” | passwd ­­--stdin username ­­

[root@server ~]# echo "1234567890" | passwd --stdin rhel Changing password for user rhel. passwd: all authentication tokens updated successfully. 正在更改用户rhel的密码。 passwd:所有认证令牌更新成功。

使用标准输入更改密码

切换用户 su ­­­su 与 su -的区别。 su username不会切换用户环境。 su - username切换用户环境,相当于用户正常登陆。

[root@server ~]# su rhel [rhel@server root]$ exit exit [root@server ~]# su - rhel [rhel@server ~]$

­­­管理员与非管理员之间的切换

[root@server ~]# echo "12345678" | passwd --stdin rhel Changing password for user rhel. passwd: all authentication tokens updated successfully. 翻译:更改用户abcd的密码。passwd:所有身份验证令牌都已成功更新。 [root@server ~]# echo "12345678" | passwd --stdin bash Changing password for user bash. passwd: all authentication tokens updated successfully. 翻译:更改用户abcd的密码。passwd:所有身份验证令牌都已成功更新。 [root@server ~]# su - rhel //切换到rhel用户 [rhel@server ~]$ su - bash //切换到bash用户 Password: //看不见你输入的密码 [bash@server ~]$ su - root //切换到root用户 Password: //看不见你输入的密码 [root@server ~]#

从root用户切换到其他用户是不需要密码验证,从普通用户切换到任何用户都需要密码验证。

END


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3