当前位置:网站首页>账户和权限管理2
账户和权限管理2
2022-08-09 07:50:00 【世上无难事754】
用户账号和组账号
文章目录
Linux基于用户身份对资源访问进行控制
用户账号:超级用户,普通用户,程序用户
组帐号:基本组(私有组),附加组(公共组)
UID和GID:
UID (User IDentity, 用户标识号)
GID (Group IDentify, 组标识号 )
详细解释:
超级用户:root用户是Linux操作系统中默认的超级用户账号,对本机拥有至高无上的权限,只有当进行系统管理,维护任务时,才建议使用root,用户登录系统,日常事务处理建议只使用普通用户账号(考虑到安全性方面),root拥有对系统的最高管理权限 ID=0
普通用户:普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受一定限制,一般在用户的宿主目录中拥有完整权限
系统用户UID:1-999(centos 7 版本) 1-499(centos 6 版本)
程序用户:在安装Liunx操作系统及部分应用程序时,会填添加一些特定的低权限用户账号,这些用户一般不允许登陆到系统,而仅用于维持系统后某个程序的正常运行,如 bin,daemon,ftp,mail等伪用户一般不会用来登录系统的,它主要是用于维持某个服务的正常运行。
UID:即每个用户的身份标识,类似于每个人的身份证号码
管路员组:root,0
普通组:GID
系统组:1-999(centos 7)
普通组:1000+(centos 7)
表示该账号需要密码才能登录,为空时,账号无需密码即可登陆
组账号
基本组:基于某种特定联系(如都需要访问FTP)将多个用户集合在一起,即构成一个用户组,表示该组内所有用户的账号称为组账号,每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组)
附加组:若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公有组)
例:用户zhangsan是技术部的员工,与部门内的其他同事同属于基本组tech,后来因工作安排需要,公司将zhangsan加入邮件管理员组maiadm,则此时用户zhangsan同时属于tech,mailadm组,tech组是基本组账号,而mailadm组是其附加组账号,对组账号设置的权限将使用于组内的每一个用户账号。
简述:
用户和组的关系
用户是员工 组是职位,员工可以兼职多个岗位,总有一个最重要的身份,主要组合附加组,主要组必须要一个组有且唯一,附加组可有可无有可以有多个默认行尾当你创建一个新用户时会自动创建一个和之同名的主组。
用户账号文件记录详细说明/etc/passwd/
保存用户名称,宿主目录,登陆Shell等基本信息
文件位置:/etc/passwd/
每一行对应一个用户的账号记录
详细解释:
root:用户名,用户仅是为了方便用户记忆,Liunx系统是通过UID来识别用户身份,分配用户权限
x:表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow(影子文件)文件,Liunx系统把真正的加密密码串放置在/etc/shadow/文件中,,此文件只有root用户可以浏览和操作,最大限度地保证了密码的安全。
注意!!!,虽然“x”并不表示真正的密码,但也不能删除,如果删除了“x”那么系统会认为这个用户没有密码,从而导致只输入用户而不用输入密码就可以登陆(只能在使用无密码登陆,远程是不可以)
0:用户账户的UID号
0:所属基本组账号的GID号
root:描述性信息,此字段只是用来解释这个用户的意义而已
/root:宿主目录,即该用户登录后所在的默认工作目录
通常称为用户的主(家)目录,例:root主目录为/root,普通用户odysee的主目录为/home/odysee
/bin/bash登陆Shell等信息,用户完成登录后使用的,/sbin/nologin拒绝登陆,/etc/shadow文件只有root用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性和/etc/passwd文件一样,文件中每一行代表一个用户,同样使用“:”作为分割符,不同之处在于,每个用户信息别划分为9个字段。
第一列:账户名
第二列:存放真正加密的密码,采用SHA512散列算法,更加安全加密原来用MD5或DES,!!和*表示没有密码不能登陆,新创建用户也是!!,如果木马前面显示双感叹号表示该账户被锁定了
第三例:上次修改密码的时间,从1970年1月1日开始算的,因为1970年是linux的诞生日,date -d“1970-01-01 19125 days”可以查看那一天改过
第四列:多久之后才可以修改密码,如果是0,则密码可以随时修改,最小修改间隔时间,也就是说该字段规定了从第三个字段(最后一次修改密码的日期)起,多长时间之内不能修改密码,如果是0则随时修改密码,如果是10,则代表密码修改后10天之内不能再次修改密码,此字段是为了针对某些人频繁更改账号密码而设计的。
第五列:密码有效期,默认99999(273年),表示永久生效
第六列:密码到期前的第几天发出警告信息,默认7天,每次登录系统都会向该账户发出“修改密码”的警告信息
第七列:密码过期的宽限天数,过期后的几天还是可以登陆的,如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是安全禁用
例:此字段规定的宽限天数是10,则代表密码过期10天后失效,如果是0则代表密码过期后立即失效,如果是 -1则代表密码永远不会失效
第八列:账号失效时间,使用自1970年1月1日以来的总天数作为账户的失效时间
第九列:保留,未使用
chage命令:用来修改账号和密码的有效期限,针对目前系统已经存在的用户
格式:chage [选项] 用户名
-m:密码可更改的最小天数,为零是代表任何时候都可以更改密码 (对应第四字段)
-M:密码保持有效的最大天数 例:chage -M 60 root (对应第五字段)
-w:用户密码到期前,提前收到警告信息的天数 (对应第六字段)
-E:账号到期的日期,过来这天,此账号将不可用 (对应第八字段)
-d:上一次更改的日期 (对应第三字段)
-i:停滞时期,如果一个密码已过期这些天,那么此账号将不使用
-l:例出当前的设置,由非特权用户来确定他们的密码或账号何时过期 (对应第七字段)
-u:UTC时间
date -d “+45 days” -u 如果不知道时间可以用date查看
组的分类:
当一些用户需要做同一件事的时候,吧他们加到一个组中便于管理
1,基本组,一般新建用户的时候会随用户自动创建,与用户同名
2,附加组,一般一个用户可以有0或多个附加组,一个用户只有一个基本组,可以有多个附加组
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 -l /etc/passwd
tail -l /etc/shaow
ls /home
创建一个辅助管理员账号admin,将其基本组指定位“wheel”,附加组指定位“root”,宿主目录指定为“/admin"
useradd -d /admin -g wheel -G root admin
在账号管理工作中,有时候会希望在新建账号的同时指定该账号的有效期限,或者要求新建的账号不能登录系统(如仅用于访问FTP服务),这时可分别使用“-e”和“-s”选项,例如,执行以下操作可以创建一个名为yong的FTP账号(禁止终端登录),该账号将于2022-05-20失效
useradd -e 2022-05-20 -s /sbin/nologin yong
输入cat /etc/shadow 查看一下
useradd -M zhang
useradd -u 666 san
输入cat /etc/passwd 查看一下
调用管道符,给zhangsan用户设置密码“123123”,为了方便系统管理,passwd命令提供了–stdin选项,用于批量给用户设置初始密码。
echo “123123” | passwd --stdin zhangsan
还可以直接改密码,passwd san
-d :清空指定用户的密码,仅使用用户名即可登录系统。
-l :锁定用户账户
-S :查看用户账户的状态(是否被锁定)
-u :解锁用户账户
passwd -l zhang
passwd -S zhang
passwd -u zhang
passwd -d zhang
usermod 命令
参数:
-l :更改用户账号的登录名称
-L:锁定用户账户
-U:解锁用户账户
修改用户的UID 号
-d:修改用户的宿主目录位置
-e:修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式
-g:修改用户的基本组名(或使用GID号)
-G:修改用户的附加组名(或使用GID号)
-s:指定用户的登录Shell
删除用户账号userdel:
userdel [-r] 用户名
添加-r 选项时,表示连用户的宿主目录一并删除
userdel -r zhangsan
然后 ls /home 查看一下
如果希望为所有用户添加登录后自动运行的命令程序、自动设置变量等,可以直接修改/etc 目录下的类似文件,如/etc/bashrc文件、 /etc/profile 文件。例如执行一下操作可以为所有用户自动设置 myls 命令别名
vi /etc/bashrc
alias myls=‘/bin/ls -lhr’
source /etc/bashrc
grep “^root” /etc/group 检索root组包括哪些用户
grep “root" /etc/group 检索哪些组包括root用户
groupadd命令
groupadd [-g GID] 组账号名
groupadd -g 1200 market
cat /etc/group 查看组信息
gpasswd命令
-a:添加用户到组 gpasswd -a zhangsan market
-d:从组删除用户
-A:指定管理员
-M:指定组成员和-A的用途差不多
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组
groupdel删除组账号
groupdel 组账号名
groupdel market
grep “market” /etc/group
group [用户名] 查看用户所属哪个组
finger命令 查询用户账号的详细信息
finger [用户名]
如果finger这个功能没有安装,需要自己手动安装一下,
yum install finger -y 就可以了
w、who、users last 查询已登录到主机的用户(查看最近用户登录信息)
一面的面试题
文件、目录的权限和归属
查看文件/目录的权限和归属
“ugoa”表示该权限设置所针对的用户类别。“u” 代表文件属主,“g”代表文件属主内的用户,“o” 代表其他任何用户,“a”代表所有用户
设置文件和目录的权限chmod
chmod ugo-x mymkdir 把mymkdir中的主、组、其他 的执行命令给删除
chmod u+x,o-r mkdir
chmod o+rwx mkdir (范例格式)
chown修改属主名字
可以一次性改两个
还可以递归修改目录下的内容
权限掩码umask
umask作用:
控制新建的文件或目录的权限
默认权限去除umask的权限为新建的文件或者目录的权限
比方说现在umask输入777,那么下面的目录格式权限就都是000,
输入022,下面的目录格式就是755
其他 的执行命令给删除
chmod u+x,o-r mkdir
chmod o+rwx mkdir (范例格式)
chown修改属主名字
[外链图片转存中…(img-kS4Lzen5-1653196903402)]
[外链图片转存中…(img-F0HdPApj-1653196903403)]
可以一次性改两个
还可以递归修改目录下的内容
[外链图片转存中…(img-42NrtsSx-1653196903403)]
权限掩码umask
umask作用:
控制新建的文件或目录的权限
默认权限去除umask的权限为新建的文件或者目录的权限
比方说现在umask输入777,那么下面的目录格式权限就都是000,
输入022,下面的目录格式就是755
边栏推荐
猜你喜欢
随机推荐
2017icpc沈阳 G Infinite Fraction Path BFS+剪枝
SSM整合开发案例
C language: adjust the order of odd and even numbers
在今天这个特殊的日子,我想要开始我的代码技术博客之路
重要消息丨.NET Core 3.1 将于今年12月13日结束支持
入门cv必读的10篇baseline论文
Pytorch中 nn.BatchNorm2d() 归一化操作
【Template】Tree Chain Segmentation P3384
Kotlin Coroutines - Exception Handling
js数组相关知识复习
【机器学习】降维代码练习
EXCEL uses function joint debugging (find, mid, vlookup, xlookup)
RestFul,会话技术,Fiddler
EXCEL使用函数联调(find,mid,vlookup,xlookup)
【Reprint】Deep Learning (deep learning) study notes arrangement
【转载】Deep Learning(深度学习)学习笔记整理
975. 奇偶跳 有序集合
es6 基础知识详解 变量 字符串 解构赋值 函数 对象 从入门到精通
P1505 [国家集训队]旅游 树链剖分
C language: detailed explanation of soda bottle