最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Linux用户及用户组管理基础知识图文讲解

XAMPP相关 admin 307浏览 0评论

用户一般来说是指系统的使用者,使用者可以使用这些名称来登录使用计算机,除了使用者之外,一些系统服务也需要含有部分特权的用户账户运行;因此出于安全考虑,用户管理应运而生,它加以明确限制各个用户账户的权限,root 在计算机中用拥有至高特权,所以一般只作管理用,非特权用户可以通过SU 或 SUDO 程序来临时获得特权。

Linux 系统通过用户和用户组实现访问控制,包括对文件访问、设备使用的控制。

1 人可以拥有很多账户,只不是彼此名称不同,比如 root 名称已经占用就不能再用了,此外,任意用户可能从属某个用户组,此用户可以加入某些已经存在的组来获得该组的特权。

每 1 个文件的属性中都有一个文件拥有者和所属组。另外,还有三种类型的访问权限:读(read)、写(write)、运行(execute)。我们可以针对文件的属主、属组、而设置相应的访问权限。再次,我们可以通过 ll 或 stat 命令查询文件属主、属组和权限。

用户的分类

Linux 用户三种角色:超级用户,普通用户,虚拟用户。

超级用户:root 拥有对系统的最高的管理权限,UID=0

普通用户:系统用户 UID 范围:1-999(centos7/8 版本) 1-499(centos6 版本) 本地用户 UID 范围:1000+(centos7/8 版本) 500+(centos6 版本)

UID:即每个用户的身份标识,类似于每个人的身份证号码。

虚拟用户:伪用户 一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如:ftp。

apache用户基本信息保存位置:/etc/passwd

下图是用户和组的关系:

用户管理

用户命令命令:useradduseradd -d -u “UID” -g “初始组” -G “附加组” -s “登陆的 shell” 用户

-u:指定 uid

-d:-d 用户主目录路径, 可以指定用户家目录

-M: 不创建用户的家目录

-g:设置用户初始组的名称或数字 ID;该组必须是存在的;如果没有设置该选项,useradd 会根据/etc/login.defs 文件中的 USERGROUPS_ENAB 环境变量进行设置。默认 USERGROUPS_ENAB yes会用和用户名相同的名字创建群组.

-G:用户要加入的附加组列表;使用逗号分隔多个组,不要添加空格;如果不设置,用户仅仅加入初始组。(一个用户只允许有一个主组,可以有多个附属组)

-s:用户默认登录 shell 的路径;启动过程结束后,默认启动的登录 shell 在此处设定;请确保使用的 shell 已经安装,默认是 Bash。有时候需要禁止某些用户执行登录动作,例如用来执行系统服务的用户。将 shell 设置成 /sbin/nologin 就可以禁止用户登录。

添加登录用户

例:添加一个名为 harry 的用户,并使用 bash 作为登录的 shell

[root@xuegod63 ~]# useradd harry

[root@xuegod63 ~]# tail -1 /etc/passwd

harry:x:1001:1001::/home/harry:/bin/bash

说明:此命令会自动创建 harry 组,并成为 harry 用户的默认主组,同时默认的登录 shell 是 bash

用户帐户的全部信息被保存在/etc/passwd 文件。这个文件以如下格式保存了每一个系统帐户的所有信息 (字段以“:”分割)

harry:x:1001:1001::/home/harry:/bin/bash #每行含意如下:

harry:用户名

x:密码占位符

1001:用户的 UID,使用正整数表示,范围可以是 0-65535

1001:用户所属组的 GID,它都是用数字来表示的

用户描述信息:对用户的功能或其它来进行一个简要的描述,此字段会出现在登录用户界面,可以通过点击输入对应密码进行登录,却并不能手动输入此字段代替用户名。

/home/harry:用户主目录(shell 命令提示符中用“~”表示)

/bin/bash:用户登录系统后使用的 shell

例:查看系统中,支持哪些 shell

[root@xuegod63 ~]# cat /etc/shells #查看系统中,支持哪些 shell

[root@xuegod63 ~]# yum install zsh -y [root@xuegod63 ~]# zsh [root@xuegod63]~# cd /etc/sysconfig/network-scripts [root@xuegod63]/etc/sysconfig/network-scripts

**** 注:zsh 这种 shell 会显示绝对路径

指定用户主目录

[root@xuegod63 ~]# useradd -d /opt/ftp ftp1

[root@xuegod63 ~]# ls -a /opt/ftp

[root@xuegod63 ~]# tail -1 /etc/passwd

ftp1:x:1101:1101::/opt/ftp:/bin/bash

指定用户的主组

例:

[root@xuegod63 ~]# useradd xuegod

[root@xuegod63 ~]# id xuegod

uid=1103(xuegod) gid=1103(xuegod) 组=1103(xuegod)

[root@xuegod63 ~]# useradd -g xuegod xuegod2

[root@xuegod63 ~]# id xuegod2

uid=1104(xuegod2) gid=1103(xuegod) 组=1103(xuegod)

查看用户相关命令:

#id 用户和组的信息

#whoami #查看当前有效用户名

#who #显示目前登入系统的用户信息

#w   #w命令用于显示已经登陆系统的用户列表

#users #用于显示当前登录系统的所有用户的用户列表

修改用户信息

语法:usermod 【参数】用户名

常用参数:

-u    UID

-d    宿主目录

-g    起始组 #只能有一个

-G    附加组 #可以有多个

-s    登录 shell

-L    锁定

例 1:修改 UID

[mk@xuegod63 ~]# id oracle

uid=1100(oracle) gid=1100(oracle) 组=1100(oracle)

[mk@xuegod63 ~]# usermod -u 1111 oracle

[mk@xuegod63 ~]# id oracle

uid=1111(oracle) gid=1100(oracle) 组=1100(oracle)

更改用户主目录

[root@Linux7 home]# usermod -m -d /opt/aaa changlin1

[root@Linux7 home]# usermod -c “hello world” changlin1

[root@Linux7 home]# grep changlin1 /etc/passwd

changlin1:x:1111:1103:hello world:/opt/aaa:/sbin/nologin

删除用户

语法:userdel [options] 用户名

选项:r 删除的时候,会同时删除用户的家目录和 /var/mail 下的目录

[root@xuegod63 ~]#userdel -r xuegod 3

转载请注明:XAMPP中文组官网 » Linux用户及用户组管理基础知识图文讲解

您必须 登录 才能发表评论!