账号和权限的学习

阅读: 评论:0

账号和权限的学习

账号和权限的学习

一,账号管理

linux基于用户身份对资源访问进行控制

  • 一 , 用户账号:超级用户,普通用户,程序用户 【UID]
    超级用户;root用户是linux操作系统中默认的超级用户账号,对本机拥有最高的权限。系统中超级用户是唯一的
    普通用户;由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限
    程序用户;在安装linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登陆到系统。仅用于维持系统或某个程序的正运行

  • 二,组帐号;基本组(私有组)和附加组(公共组)[GID]
    基本组(私有组)基本组帐号只有一个,一般为创建用户时指定的组
    在 /etc/passwd文件中第4字段记录的即为该用户的基本组 GID号
    附加组(公共组)用户出来基本组意外,额外添加的指定的组
    三,UID和GID
    UID ;用户标识号
    GID;组标识号
    root用户账号的UID和GID号为固定值 0
    程序用户账号的UID和GID号默认为Centos5.6 ;1-499,Centos7;1-999
    普通用户的UID和GID号默认为Centos5,6;500-60000,Centos7;1000-60000

二,用户账号文件

2.1 ==账号文件/etc/passwd ==(用户帐号文件) 保存用户名称,宿主目录,登录shell等基本信息 ,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行修改
每一行对应一个用户账号记录文件位置/etc/passwd (七个字段)

七个字段的含义
登录shell /bin/bash 表示允许登录
/sbin/nologin 表示不允许登录(有提示信息不允许登录)/bin/false 禁止登录系统(没有提示 直接登录不了)
也可用man 5 passwd 查看passwd手册的用法
2.2 账号文件/etc/shadow(用户密码文件)
保存用户密码,账号有效等信息,每一行对应一个用户密码记录。默认情况下只有root用户可以查看 不允许直接编辑修改文件内容 文件位置/etc/shadow (九个字段)

bin : * : 18353 : 0 : 99999 : 7 : : :

九个字段含义

三,添加用户账号useradd

useradd

useradd [选项】 ...  用户名

参数选项

添加用户账号在/etc/passwd文件和/etc/shadow文件的末尾增加该用户账号的记录若未指明用户的宿主目录,则在home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。若没有明确指定用户所属组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group 和/etc/gshadow文件中。
创建新用户

useradd lisan 


查看/etc/passwd 文件

/etc/shadow 文件

 useradd -d /admin -e 2023-12-31 -s /sbin/nologin admin1创建用户admin1 家目录为admin 不允许登录系统 账号失效时间为2023 12 31


查看账号信息

不指定家目录默认在/home目录下 不指定UID GID号默认加一

 useradd -u 2000 -g admin1 -G 1001 admin2创建新用户admin2  UID号为2000  基本组名admin1 附加组为1001GID号的组


查看创建用户所属组和附加组

四,设置更改用户密码passwd

passwd

passwd [选项】 ...用户名

常用参数

root用户可以指定用户名作为参数,对指定账户密码进行管理;不指定用户名时,修改当前账号的密码
在root目录下直接输入passwd修改的是root密码
如果在root目录下passwd + 用户名 修改的是指定用户的你密码

普通用户却只能执行单独的passwd命令修改自己的密码

passwd  -d  lisan 
清除lisan 密码  之后可直接登录

passwd -l  lisan  锁定lisan用户
锁定之后此用户无法登录

passwd -S lisan  查看用户lisan 是否被锁定

passwd -u lisan   解锁用户lisan 

用户解锁后可正常使用登录

还可用以下两种方法修改密码

方法二
echo '密码‘ | passwd --stdin 用户名
方法三
echo <用户名> :<密码> | chpasswd


登录用户验证即可

五,修改用户账号属性usermod

usermod [选项】...用户名

常用参数
-u -d -e -g -G -s 与useradd命令中含义相同
-L -U 用于锁定和解锁 与passwd中含义相同只存在大小写之分

usermod -l  <新名称>  <旧名称>
usermod -l maliu   lisan 
修改用户名为maliu 

usermod -s /bin/nologin  maliu
修改用户maliu 不允许登录系统

usermod  -d /lisan maliu
修改maliu 家目录为lisan 

没修改之前的

修改之后的

usermod  -L maliu
锁定用户
passwd -S maliu   查看用户状态


usermod  -U  maliu  
解锁用户maliu 

六,删除用户账号userdel

userdel [-r] 用户名
添加-r   选项时表示连用户的宿主(家目录)目录一并删除

userdel admin2 删除后admin2家目录还在

userdel -r lisi 删除后lisi 家目录也一起删除

七 用户账号初始配置文件

文件来源:useradd命令添加一个新的用户账号后会在该户用的宿主目录中建立一些初始配置文件。这些文件来自于账号模板目录/etc/shel/,基本上都是隐藏文件

主要的用户初始配置文件

  • ~/.bash_profile
    (用户环境变量配置文件,用户登录时会自动加载的文件)
 ~/.bash_profile 此文件中的命令将在该用户每次登录时被执行,它会设置一些环境变量,并且会调用该用户的~/.bashrc文件
  • ~/.bashrc
    (属于环境变量配置文件,用户切换shell环境才会加载的文件)
此文件中的命令会在每次打开新的bash shell时(也包括登录系统)被执行,
并且会调用/etc/bashrc文件
  • ~/.bash_logout
此文件中的命令将在用户每次退出登录或退出bash shell时执行

用户宿主目录下的初始配置文件只对于用户有效

对于全局系统有效的配置文件
/etc/profile 环境变量开机自动加载

这个文件是为系统全局变量配置文件,可通过重启系统或者执行source /etc/profile  命令
使profile文件读取

/etc/profile.d/

这个文件实际上是/etc/profile的子目录,存放的是一些应用程序所需的启动脚本

/etc/bashrc 环境变量 针对shell 切换变量

每一个运行bash shell的用户都会执行此文件,可通过执行bash 命令打开一个新的bash shell时,
使bashrc文件被读取


总结
作用范围
/etc/profile /etc/bashrc 对所有用户有效
~/.bash_profile ~/.bashrc 只针对当前用户有效
功能
profile;系统启动后用户登录直接执行文件里的命令或者配置
bashrc;用户登录或者用户切换shell环境就会执行文件里的命令或者配置
调用挂关系
/etc/profile ->/etc/profile.d/XXX.sh
~/.bash_profile -> ~/.bashrc -> /etc/bashrc

八,组账号文件

/etc/group;保存组账号基本信息
/etc/gshadow;保存组账号的密码信息

vim /etc/group  查看组文件基本信息


四个字段

最后一个字段 所有以此组做附加组的都可以看到

一,添加组账号 groupadd

groupadd [-g GID] 组账户名

GID号不能被使用


二,添加 删除组成员gpasswd

gpasswd [选项] ...组账户名
参数选项
-a  向组内添加一个一个用户
-d  从组内删除一个用户成员
-M 定义组成员列表,以逗号分隔

gpasswd -a dsj yjs
向yjs组内添加一个组dsj

gpasswd -d dsj yjs
从yjs 是中删除dsj

gpasswd -M lisi,zhaoliu   yjs 
将用户lisi  zhaoliu  定义到ysj组

没定义之前

定义之后


注意 定义 是有覆盖的意思 覆盖原有的重新定义新的组名
三,删除组账号groupdel

groupdel 组账号名

groupdel yjs


四,查看账号信息groups id
查询用户所属的组

groups [用户名】

查询用户身份标识

id  [用户名】


五,查询账号信息
finger 查询用户账号的登录属性
先安装finger软件包

finger 【用户名】

查询已登录到主机的用户信息

w  who   users

九 ,文件/目录的权限和归属

一,访问权限
-读取r ;允许查看文件内容,显示目录列表

  • 写入w;允许修改文件内容,允许在目录中新建
    移动 删除文件或子目录
  • 可执行x ; 允许运行程序,切换目录
    归属
    属主;拥有该文件或目录的用户账号
    属组;拥有该文件或目录的组账号


二,设置文件和目录的权限chmod

chmod [ugoa]   [+ - =]       [rwx]   文件或目录
u g o a 分别表示 属主 属组 其他用户 所有用户
+ - = 分别表示增加  去除  设置权限
r w x 分别表示读写执行
chmod  xxx  文件或目录....

chmod 770 abc 修改abc目录权限

chmod 755 111 修改111文件权限

chmod  o+r  abc
给abc目录中的其他用户加上读的权限

chmod  +r abc 
给abc所有用户加上读的权限  a+r  a可以省略

chmod  a+w  abc   
给abc目录下所有用户加上写的权限  
注意 写的权限给所有用户时必须加a 


chmod  ug+rx   abc
给abc目录下的主用户和组用户  加上读和执行权限

chmod o=  abc  
其他用户什么权限都没有  主用户和组用户权限不变

-R 递归修改指定目录下所有子子项文件

chmod g+w bb  仅修改bb目录自己的权限

chmod -R  o+w  bb 修改bb目录下所有文件和目录权限


三,设置文件和目录的归属chown

chown 属主  文件或目录
chown :属组   文件或目录
chown  属主:属组  文件或目录
-R  递归修改指定目录下所有文件子目录的归属
chown lisi  abc 
修改lisi 为abc 目录的属主

chown :lisi 111
修改111文件属组为lisi 

chown lisi:
修改文件  属主和属组为lisi 

chown    
用点来分割效果一样

chown  -R :lisi  bb
bb目录下所有文件和目录同时修改所属组

补充知识点
SBIT特殊权限  只能用于对目录进行设置,使指定目录中的文件或者目录只有所有者才能删除文件或目录
添加sbit权限   chmod  1777 lisi
1  表示SBIT权限     

四,设置目录和文件的默认权限umask
作用

  • 控制新建的文件或者目录的权限
  • 默认权限去除umask的权限为新建的文件或者目录的权限
  • umask 默认权限 022
新建的文件或者目录的权限为默认最大权限减去umask
普通文件的最大默认权限为6(rw),目录的最大默认权限为7 (rwx)

文件/目录的默认权限=最大默认权限-umask值
查看umask权限为022
新建文件的权限=666-022=644
新建目录的权限=777-022=755

需求  新建一个目录  cc属主可读可写  属组可读可执行 其他用户不变
操作   设置  umask 120  (由于目录最大权限777)mkdir  cc

  需求   创建一个新文件22.txt  只有可读权限操作   umask  

本文发布于:2024-01-29 09:35:08,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170649211314350.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:账号   权限
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23