IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 账号与权限管理 -> 正文阅读

[系统运维]账号与权限管理


一、用户账户和组账户

1.1用户账号和组账号概述

Linux基于用户身份对资源访问进行控制
1.用户帐号
超级用户:root 用户是Linux 操作系统中默认的超级用户账号,对本主机拥有至高无上的权限,类似于Windows操作系统中的Administrator用户。只有当进行系统管理、维护任务时,才建议使用root用户登录系统,日常事务处理建议只使用普通用户账号。root拥有对系统的最高的管理权限ID=0

普通用户:普通用户账号需要由root 用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限系统用户UID:1-999 (centos7版本) 1-499 (centos6版本)UID:即每个用户的身份标示,类似于每个人的身份证号码

程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、 mail等伪用户一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如: ftp, apache

2.组帐号

管理员组: root, 0
普通组:GID

系统组: 1-499 (CentOS6) ,1-999 ( CENTOS7 )
普通组: 500+ (CentOS6) ,1000+ ( CENTOS7 )
表示该账户需要密码才能登录,为空时,账户无须密码即可登录

基本组(私有组):基于某种特定联系(如都需要访问FTP服务)将多个用户集合在一-起,即构成一个用户组,表示该组内所有用户的账号称为组账号。每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组);

附加组(公共组):若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公共组)。

3.UID和GID
UID (User IDentity,用户标识号)
GID (Group IDentify,组标识号)

1.2 用户账号文件 /etc/passwd

1.保存用户名称、宿主目录、登录Shell等基本信息

2.文件位置: /etc/passwd

3.每一行对应一个用户的帐号记录

[root@localhost ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

passwd文件账号记录详细说明

1.3 用户账号文件/etc/shadow

1.保存用户的密码、账号有效期等信息

2.文件位置: /etc/shadow

3.每一行对应一个用户的密码记录

[root@localhost ~]# head -2 /etc/shadow
root:$1$55HB4pbx$acHqk4IZiHTZ9cw0ZJe8f0:14374:0:99999:7:::
bin:*:14374:0:99999:7.::
[root@localhost ~]# tail -1 /etc/shadow
teacher:$1$BT7teaYX$s2sr6uFUwKhtU.8/8VpzB1:14374:0:99999:7:::

/etc/shadow (影子文件):
/etc/shadow 文件只有root用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性

和/etc/passwd 文件一样, 文件中每行代表一个用户,同样使用":"作为分隔符,不同之处在于,每行用户信息被划分为9个字段:

第一列:账户名

第二列:存放真正加密的密码,采用SHA512散列算法更加安全, !! 和 * 表示没有密码不能登陆,新创建用户也是 !!,如果密码前面显示双感叹号表示该账户被锁定了

第三列:上一次修改密码的时间,从1970年1月1日开始算的,因为1970年是linux的诞生日,
date -d “1970-01-01 15775 days” 可以查看哪一天改过

第四列:多久之后才可以修改密码,如果是 0,则密码可以随时修改

第五列:密码有效期,默认99999,表示永久生效

第六列:密码到期前的第几天发出告警信息,默认是7天,每次登录系统都会向该账户发出"修改密码"的警告信息

第七列:密码过期的宽限天数,过期后的几天还是可以登陆的,如果过了宽限天数,系统将不再让此账
户登陆,也不会提示账户过期,是完全禁用

第八列:账号失效时间,使用自1970年1月1日以来的总天数作为账户的失效时间

第九列:保留,未使用

chage命令:
用来修改帐号和密码的有效期限,针对目前系统已经存在的用户

chage [选项]用户名,

-m: 密码可更改的最小天数。为零时代表任何时候都可以更改密码

-M: 密码保持有效的最大天数。chage -M 60 root

-w: 用户密码到期前,提前收到警告信息的天数

-E: 帐号到期的日期。过了这天,此帐号将不可用

-d: 上一次更改的日期

-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用

-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期

chage -E 2019-04-29 test
###其中,test为用户,用户将在2019年4月29日失效(不可登录)

chage -d 2019-06-30 test
###设置test用户最后一次修改密码的日期为2019年6月30日

chage -d 0 test
###则代表该test用户需立即修改密码

date -d”+45 days" -u 
###如果不知道时间可以用date查看 -u: UTC时间

总结:
第一个字段:账户名

第二个字段:存放真正加密的密码

第三个字段:密码最后一次修改的时间 (chage -d)

第四个字段:密码最小修改间隔时间 (chage -m)

第五个字段:密码的有效期 (chage -M)

第六个字段:密码需要变更前的警告天数 (chage -W)

第七个字段:密码过期后的宽限天数 (chage -I)

第八个字段:账号失效时间 (chage -E)

第九个字段:保留,未使用

二、用户账户管理

2.1添加用户账号 useradd

命令格式:
useradd [选项] 用户名
常用选项
-u: 指定用户的UID号,要求该UID号码未被其他用户使用
-d: 指定用户的宿主目录位置(当与-M一起使用时,不生效)
-e: 指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式
-g: 指定用户的基本组名(或使用GID号)
-G: 指定用户的附加组名(或使用GID号)
-M: 不建立宿主目录,即使/etc/login.defs系统配置中已设定要建立宿主目录
-s: 指定用户的登录Shell

useradd zhangsan
id zhangsan

tail -1 /etc/passwd
tail -1 /etc/ shadow

2.2 设置/更改用户口令 passwd

命令格式:
passwd [选项] 用户名

常用选项
-d: 清空指定用户的密码,仅使用用户名即可登录系统
-l: 锁定用户账户
-S: 查看用户账户的状态(是否被锁定)
-u: 解锁用户账户

passwd  -l  zhangsan
passwd  -S  zhangsan
passwd  -u  zhangsan
passwd  -d  zhangsan

###调用管道符,给zhangsan 用户设置密码“123”,为了方便管理系统,passwd命令提供了 --stdin 选项 用于批量给用户设置初始密码

echo  "123456" | passwd --stdin 用户名

2.3 修改用户账号的属性 usermod

命令格式:
usermod [选项] 用户名

常用选项
-l: 更改用户账号的登录名称(login Name)
-L:锁定用户账户
-U:解锁用户账户

下列选项与useradd命令选项中的含义相同
-u:修改用户的UID号
-d:修改用户的宿主目录位置
-e: 修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式
-g: 修改用户的基本组名(或使用GID号)
-G:修改用户的附加组名(或使用GID号)
-s:指定用户的登录shell

2.4 删除用户账号 userdel

命令格式:
userdel [-r] 用户名
添加 -r 选项时 ,表示连用户的宿主目录也一并删除

id  zhangsan

userdel -r zhangsan

ls -ld /home/zhangsan

三、组账号管理

3.1添加组账号 groupadd

命令格式:
groupadd [-g GID] 组账号名

groupadd   -g 1200 market

tail -1 /etc/group

3.2 添加删除组成员 gpasswd

命令格式:
gpasswd [选项] 组账号名

设置组账号密码(极少用)、添加/删除组成员

常用选项
-a: 添加用户到组
-d:从组删除用户
-A:指定管理员
-M:指定组成员和-A差不多
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

useradd  mike
gpasswd -a mike root       ###确认mike用户已加入root组
groups mike

gpasswd -d webmaster root      ###确认webmaster用户已退出root组
正在将用户“webmaster”从“root”组中删除

3.3 删除组账号 groupdel

命令格式:
groupdel 组账号名

groupdelb market   ###删除组账号market

grep "market" /etc/group

四、用户账号文件与组账号文件

4.1.用户账号的初始配置文件

1.文件来源

新建用户账号时,从/etc/skel目录中复制而来

2.主要的用户初始配置文件
1.
.bash_profile: 示例代码中为用户添加了2个环境变量(JAVA_HOME和CLASSPATH)并修改了已有环境变量PATH的值.(PATH的查找是从前开始查找,找到就返回)CLASSPATH环境变量的值是在JAVA运行时查找加载类的默认classpath

.bashrc: 例子中定义了路径,语言,命令别名(使用rm删除命令时总是加上-i参数需要用户确认,使用rm删除命令时总是加上-i参数需要用户确认,使用ls命令列出文件列表时加上颜色显示)每次修改.bashrc 后,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的位置,使之生效

一般会在.bashrc_profile 文件中显示调用.bashrc 登录Linux启动bash时会先去读取~/.bash_profile
文件,这样~/.bashrc也就得到执行了,你的个性化设置也就生效了
关于环境变量的读取顺序:
用户登录->>加载~/.bash_profile–>bash_profile中配置了首先使 ~/.bashrc生效

3 .
.bash_logout
用途:用户登出时执行的命令

#~/.bash_logout

#在当前用户登出时,打印出logout 和当前的时间
echo “logout,data

例子:
如果需要每个用户登出时都清楚输入的命令历史记录,可以在 /etc/skel/.bash_logout 文件中
添加: rm -f $HOME/.bash_history 这样当用户在每次注销时.bash_history文件都会被删除

4.2 组账号文件

与用户文件相类似
/etc/group 保存组账号基本信息
/etc/gshadow 保存组账号的密码信息

与组账号相关的配置文件也有两个,分是/etc/group和/etc/gshadow 前者用于保存 组账号名称、GID号 、组成员等基本信息 后者用于保存组账号的加密密码字窜等信息(但是很少用到)某一个组账号包含哪些用户成员,将会在group文件内最后一个字段中体现出来(基本组对应从用户账号默认可能不会列出),多个组成员之间使用“,”(逗号)分隔

grep "^root"  /etc/group   ### 检索root 组包括那些用户

grep "root"  /etc/group    ### 检索那些组包括root用户

五、查询账号相关信息的命令

5.1.查询账号信息 groups

groups 命令:

查询用户所属的组

groups [用户名]

5.2.查询账号信息 id

id 命令:

查询用户身份标识

id [用户名]

5.3.查询账号信息 finger

finger 命令:

查询用户账号的详细信息

finger [用户名]

5.4.查询账号信息w、who、users

w、who、users命令
查询已登录到主机的用户信息

通常使用tty来简称各种类型的终端设备,centos7系统 tty1表示图形界面,
tty2-tty6表示文字界面,可以用Ctrl+Alt+F1-F6 切换

按Ctrl+Alt+F2登录 , 执行w命令 ,查看使用的终端就是 tty2

user:登录用户名
TTY:登录后系统分配的终端号
From:远程主机名,即从那里登录的
login@:何时登录
IDLE:用户空闲时间,这是个计时器,一旦用户执行任何操作,改计时器就会被重置
JCPU:和终端连接的所有进程占用时间 包括当前正在运行的后台作业占用时间
PCPU:当前进程所占用时间
WHAT:当前正在运行进程的命令行

pst说明是用于远程工具连接的,比如1xshell,后面的数字代表登录的时间顺序,越小证明登录的越早

六、文件/目录的权限和归属

访问权限
读取r:允许查看文件内容、显示目录列表

写入W:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录

可执行x:允许运行程序、切换目录

归属
属主:拥有该文件或目录的用户帐号

属组:拥有该文件或目录的组帐号

七、查看文件/目录的权限和归属

在这里插入图片描述
如“drwxr-xr-x”和“-rw-r–r--”权限字段有四部分组成,各自的含义如下所述
第一个字符:表示该文件的类型可以是 :d(目录)、b(块设备文件)、c(字符设备文件)
“-”(普通文件)、字母“l”(链接文件)等
第2~4个字符:表示该文件的属主用户(User)对该文件的访问权限
第5~7个字符:表示该文件的属组内各成员用户(Group)对该文件的访问权限
第8~10个字符:表示其他任何用户(Other)对该文件的访问权限
第11个字符:这里的“.”与SELinux有关,目前不必关注

八、设置目录与文件权限chmod

chmod命令
在这里插入图片描述
上述格式中,字符组合“[ugoa…][+ - =][rwx]”或数字组合“nnn”的形式表示要设置的权限模式
其中,“nnn”为需要设置的具体权限值,如“755”“644”等:
而“ [ugoa…] [+ - =] [rwx]”的形式中,三个组成部分的含义及用法如下所述:

“ugoa”表示该权限设置所针对的用户类别,“u”代表文件属主,“g”代表文件属组内的用户,
“o”代表其他任何用户,“a”代表所有用户(u,g,o的总和)

“±=”表示设置权限的操作动作。“+”代表增加相应的权限 “-”代表减少相应权限 “=”代表仅设置对应的权限

“rwx”是权限的字符组合形式,也可以拆分使用,如“r”“rx”等

常用选项
-R:递归修改指定目录下所有子项的权限

九、设置目录与文件归属chown

chown命令
chown 属主 文件或目录

chown :属主 文件或目录

chown 属主:属组 文件或目录

常用选项
-R:递归修改指定目录下所有文件、子目录的归属

十、权限掩码umask

umask作用

控制新建的文件或者目录的权限

默认权限去除umask的权限为新建的文件或者目录的权限

umask设置:umask 022

umask查看:umask

示例

将umask设为000,新建目录或者文件,查看权限

将umask设为022,新建目录或者文件,再查看权限

十一、总结

1.用户账号管理(useradd、passwd、usermod、userdel)

2.组账号管理(groupadd、gpasswd、groupdel)

3.用户账号文件与组账号文件

4.查询账号相关信息的命令(groups、id、finger、w)

5.设置目录与文件权限(chmod)

6.设置目录与文件归属(chown)

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:55:01  更:2021-12-24 18:57:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:38:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码