Linux用户及权限管理

1.Linux中的用户

Linux是一个多用户(multi-users)、多任务(multi-tasks)的操作系统。因此通过终端登陆系统需要,相应的机制,来进行管理、使用计算机系统资源。

一般都需要解决这样三个问题:

(1)认证(authentication)

解决什么人可以登陆使用计算机资源

(2)授权(authorization)

解决用户登陆后,其能使用计算机中的什么资源,能进行什么样的操作

(3)审计(audition)

  • 记录用户所进行的相关操作的信息

2.linux中用户的划分

Linux中的用户等级大概是分为两级:超级用户即管理员和普通用户。其中普通用户,按照系统程序运行机制及安全性,又可划分为:系统用户和登陆用户。系统用户,不能登录系统,以其身份运行的程序,仅在后台以进程的方式作为服务运行。登陆用户,可以登陆终端,并通过交互接口,与其他程序或文件,进行交互。

用户标识(UID):

计算机更容易理解的往往是二进制数据,因此,我们使用16位二进制数字来唯一标识用户,即UID。UID是0--65535.管理员的UID为0,普通用户的UID为1--60000.普通用户中的系统用户UID为1--499(centos6),1--999(centos7);普通用户中的登陆用户UID为500--60000(centos6),1000--60000(centos7).

名称解析:

在计算机中经常会用到,如用户名<--->UID,他们之间的相互解析。解析需要相应的解析库来提供比较对照,有户名与UID的解析库是文件/etc/passwd

3.linux中的组

按照划分的标准不同,可分为:

  • 管理员组和普通用户组;基本组和附加组:私有组和公共组。
  • 基本组和私有组,可以简单的理解为,创建用户时自动创建的与用户同名的组。
  • 附加组和公共组,可简单理解为,自己的用户加入到其他用户的基本组。
  • 组对应的解析库是/etc/group这个文件。

4.密码策略及加密算法

一般为了保证系统的安全,大都遵循一些基本原则:

使用随机密码;密码尽可能满足一定的长度;尽可能满足使用的字符集要求;最总要是定期更换

密码的加密算法:

对称加密;非对称加密;单向加密(提取数据的特征码,不可逆的)

5.Linux中重要的用户和组的解析库文件解析

/etc/passwd 文件解析:(每行7段)

name:password:uid:gid:gecos(用户的注释信息):home(用户的家目录):shell

/etc/shadow 文件解析:(每行9段)

用户名:

加密的密码段:

最近一次更改密码的时间:

密码最短使用期限:

密码最长使用期限:

警告期限:

非活动时间:

过期时间:

保留字段

/etc/group 文件解析:

groupname:password:gid:userlist(一次为附加组的用户的列表)

6.用户和组的管理命令

groupadd 添加组命令

基本用法:groupadd [选项]... 组名

常用选项:-g gid :添加组的同时制定GID

-r :创建一个系统组

列如:#groupadd -g 3306 mariadb

#groupadd -r archlinux

groupmod 修改组命令

基本用法:groupmod [选项]... 组名

常用选项:-g gid :修改组的UID

-n newgroup:修改组的名字

示例:#groupmod -g 3307 mariadb

#groupmod -n mysql mariadb

groupdel 删除组

基本用法:groupdel [选项]... 组名

useradd 创建用户命令

基本用法:useradd [选项]... 用户名

常用选项:-u uid : 创建用户同时指定用户的UID

-g gid : 创建用户的同时指定其基本组GID

-r : 创建一个系统用户

-c comment : 创建用户时标注注释信息

-d dir :创建用户时指定家目录的路径

-s shell : 创建用户时指定默认登陆shell(最好是/etc/shells中有的)

-G gid :创建用户时指定这个的附加组,有多个附加组有逗号隔开

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

-D : 显示添加用户时的默认属性或设置更改默认属性

-f :非活动期限,0:非活动启用 -1:非活动禁用

实例:#useradd -u 1008 -g 1008 gentoo (此组要事先存在)

#useradd -r fedora

#useradd -c 'slackware linux' slackware

#useradd -d /var/tmp/debain -s /sbin/nologin debain(最好是SELinux关掉)

#useradd -G gentoo,slackware zen

#useradd -M docker

#useradd -D -f 0 修改的是/etc/default/useradd文件中的值

usermod 修改用户相关属性的命令

基本用法:usermod [选项]... 用户名

常用选项:-u uid : 更改用户的uid

-g group :更改用户的基本组

-G -a :常结合在一起使用(否则回覆盖),更改用户的附加组

-c comment:更改注释信息

-d -m :常结合在一起使用,更改家目录,并将家目录中的文件一起转移

-l newname: 更改新的用户名

-s shell:更改用户的shell

-L :锁定用户

-U : 解锁用户

实例:#usermod -g zen docker

#usermod -aG zen,slackware mysql

#usermod -d /path/to/mysql -m mysql

#usermod -l mysqldb mysql

userdel 删除用户命令

常用选项:-r :删除用户同时其家目录的文件一起删除,默认不删出家目录文件

passwd 密码管理命令

基本语法:passwd [选项]... [用户]

常用选项:-l :锁定用户

-u : 解锁用户

-d : 删除密码

-e data :密码过期期限

-i days :非活动期限

-n days :密码最短期限

-x days :最长期限

-w days :警告期限

--stdin :从标准输入获取,作为密码

实例:#echo 'centos' | passwd --stdin username &> /dev/null

gpasswd 组密码管理命令

基本语法:gpasswd [选项]... [组名]

常用选项:-a username :向组中添加用户

-d username ; 从组中删除用户

不加选项,直接给当前用户组或指定组,设置密码。组密码,常用于某用户需要登陆或临时切换至某组时使用;如果某用户是某组的成员,则不需要密码直接可以登陆或切换。

newgrp 用户登陆或临时切换至一个组的命令

实例:#newgrp - group #登陆group组

#newgrp group #临时切换至group这个组

chage 更改密码的过期期限信息

基本用法:chage [选项]... 用户名

常用选项:-l :列出用户的密码期限信息

-d :上次密码修改的日期

-E :过期期限

-W :警告期限

-m :最大期限

-M :最长期限

-i :非活动期限

id 显示实际和有效的ID

基本用法:id [选项]... 用户名

常用选项:-u:显示UID

-g :显示gid

-G :显示基本组和附加组的gid

-n :结合前面的选项,显示名称而非ID

su 切换用户命令

登陆式切换

非登陆式切换

常用选项:-c ‘command’不切换登陆,仅以指定用户的身份运行此处指定的command命令

实例:#su - username -c 'whoami'

作者:chuncaomeng

来源:51CTO

时间: 2024-11-05 18:54:18

Linux用户及权限管理的相关文章

mysql数据库用户和权限管理记录

一.MySQL用户的基本说明: 1.1 用户的基本结构 MySQL的用户:用户名@主机 ■用户名:16个字符以内 ■主机:可以是主机名.IP地址.网络地址等 主机名:www.111cn.net,localhost IP:192.168.0.1 网络地址:172.16.0.0/255.255.0.0 主机还支持通配符:%和_ 172.16.%.% %.111cn.net 注意:对于包含了主机名的用户,MySQL会尝试反解析主机名,此时可能会造成连接非常慢,如果反解析的IP地址与连接点的地址不同,还

Linux用户及权限基础 2 Linux权限

1 权限 1 权限是操作系统用来限制对资源的访问的机制,权限一般分为三种,读,写,执行.操作系统中每 一个文件都有特定的权限,所属的用户和所属的组,通过的这样的机制来限制哪些用户,哪些组可以对 特定的文件进行什么样的操作 2 每一个进程都是以某个用户的身份登录运行,所以进程的权限与该用户的权限一样,用户的权限大 ,该进程拥有的权限就大 3 文件权限 权限           对文件的影响              对目录的影响 r 读取       可读取文件内容         可列出目录的内

Linux用户及权限基础 1 Linux用户基础

1 用户和组 1 当我们使用Linux的时候我们都需要以用户的身份登录,一个进程也需要用户的身份运行 2 我们使用用户的目的就是为了限制使用者或者进程哪些资源可以使用或者不可以使用 3 组的相关信息 1 每个用户拥有一个UserID,操作系统使用的实际上是UserID,而不是用户名 2 每一个用户属于一个主组,还可以属于一个或者多个附属组 3 每一个组拥有一个GroupID 4 每一个进程必须要以用户的身份运行,并受该用户的权限影响使用资源 5 每个可登录的用户都有一个可用的shell 4 用户

MySQL用户和权限管理

MySQL用户权限表 MySQL的认证是"用户"加"主机"而权限是访问资源对象,MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库中,由mysql_install_db脚本初始化.存储账户权限信息表主要有:user,db,tables_priv,columns_priv,procs_priv这五张表(5.6之前还有host表,现在已经把host内容整合进user表),五张表其含义分别是: user表 user表时MySQL中最重要的一个

MySQL 用户与权限管理

    MySQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的相关DML,DQL权限.MySQL存取控制包含2个阶段,一是服务器检查是否允许你连接:二是假定你能连接,服务器检查你发出的每个请求.看你是否有足够的权限实施它.本文主要描述MySQL权限系统相关的用户创建.授权.撤销权限等等. 1.获取有关权限管理的帮助 root@localhost[(none)]> help Account Management For more information, type

MySQL中基本的用户和权限管理方法小结_Mysql

MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户: CREATE USER username IDENTIFIED BY 'password'; 新用户创建完成,但是此刻如果以此用户登陆的话,会报错,因为我们还没有为这个用户分配相应权限,分配权限的命令如下: GRANT ALL PRIVILEGES ON *.

linux 用户及用户组管理命令详解

1. useradd useradd 命令可以创建一个新的用户帐号,其最基本用法为: useradd 用户名 如输入以下命令: useradd newuser 系统将创建一个新用户 newuser,该用户的Home 目录为/home/newuser. useradd 命令的参数较多,常用的组合为: useradd 用户名 -g 组名–G 组名-d Home 目录名-p 密码 其中:-g 指定该用户的首要组 -G 指定该用户的次要组 -d 指定该用户的Home 目录 -p 指定该用户的密码 如输入

Linux用户及权限基础 5 Linux帐号管理与ACL权限设置

一 Linux的帐号与用户组 1 每个登录的用户至少都会取得两个ID,一个是用户ID简称UID,一个是用户组ID简称GID 2 每一个文件都会有所谓的所有者ID与用户组ID,当我们有要显示文件属性的需求时,系统会依 据/etc/passwd与/etc/shadow的内容找到对应的帐号和组名在显示出来 3 /etc/passwd的文件结构每一行代表的是一个帐号,有几行就代表有几个帐号在你的系统中,不过 需要注意的是里面有很多的帐号本来就是系统正常运行所需要的,我们可以简称它为系统帐号,这些帐 号无

Linux用户及权限基础 4 Linux下修改密码

1 对于刚使用Linux的同学来说,最痛苦的一件事莫过于要使用root用户来执行某些命令的时候,却 不知道root的密码 2 我就就介绍一下怎么更改普通用户和root用户的密码 1 更改root的密码 1 首先要跟大家申明的一点就是Linux系统的root用户默认是没有密码的 2 我们可以去查看/etc/shadow 下的root用户对应的密码为!,那就是默认没有密码 3 我们接下来就开始修改root用户的密码 1 第一步:我们要以普通用户的身份登录,并且这个普通用户可以利用sudo来执行管理员