开开心心掌握------LINUX账号及权限管理

管理用户账号

用户账号概述

账号主要包括:

超级用户:如linux的root用户 Windows系统的Administrator
普通用户:/home中的用户
程序用户:特定 低权用户如bin 、daemon、ftp、mail等

UID

每一个用户数字形式的身份标记 具有唯一性
root的为0 程序的一般在1-999 普通用户1000-60000

账号文件

/etc/passwd ##保存基本信息(可用tail或head选项是数字看定向内容)
在/etc/passwd 中,每一行都表示的是一个用户的信息;一行有7个段位;每个段位用:号分割
第一字段:用户名(也被称为登录名);
第二字段:口令;其实密码已被映射到/etc/shadow 文件中;
第三字段:UID ,用户ID;
第四字段:GID,组ID;
第五字段:用户名全称,这是可选的;
第六字段:用户的家目录所在位置;
第七字段:用户所用SHELL 的类型;
/etc/shadow ##影子文件 保存密码信息
基本格式
  1、账户名称
  2、加密后的密码,如果这一栏的第一个字符为!或者*的话,说明这是一个不能登录的账户,从上面可以看出,ubuntu默认的就不启用root账户。
  3、最近改动密码的日期(这个是从1970年1月1日算起的总的天数)。
  4、密码不可被变更的天数:设置了这个值,则表示从变更密码的日期算起,多少天内无法再次修改密码,如果是0的话,则没有限制
  5、密码需要重新变更的天数:如果为99999则没有限制
  6、密码过期预警天数
  7、密码过期的宽恕时间:如果在5中设置的日期过后,用户仍然没有修改密码,则该用户还可以继续使用的天数
  8、账号失效日期,过了这个日期账号就无法使用
  9、保留的

用户账号管理

添加用户

用户管理相关命令
useradd 添加用户
adduser 添加用户
userdel 删除用户
passwd 为用户设置密码
usermod 修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等

管理组账号

组账号管理

用户组管理相关命令
groupadd 添加用户组
groupdel 删除用户组
groupmod 修改用户组信息
groups 显示用户所属的用户组
newgrp 切换到相应用用户组
1、增加新用户、编辑用户与删除用户
相关命令:useradd, passwd, usermod, userdel
新增用户useradd/adduser
语法:useradd [options] LOGIN
options有很多(可以用useradd –hlep 或者man useradd查看),我们简单介绍几个。

-d 目录 指定用户主目录,(默认是在/home目录下创建和用户名一样的目录)
-g 用户组 指定用户所属的用户组(主组)
-G 用户组 指定用户所属的附加组(这些组必需事先已经增加过了或者是系统中已经存在)
-s Shell 指定用户的登录Shell
-u UID 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
-c 描述 指定一段注释性描述
-m 使用者目录若不存在则自动建立(默认选项)

如:

useradd olai  		##建账号
passwd olai  		##设置账号密码
ls -A /home/olai	##确认自动创建的用户目录

useradd -e 2020-12-30 -s /sbin/nologin ftp	##创建这样用户到这个时间失效

2、用户账号的初始配置文件
模板目录/etc/skel下的隐藏文件 如.bash_logout(用户每次退出登陆时执行) 、.bash_profile(每次登陆被执行) 、.bashrc(登#!/bin/bash/被执行 登系统被执行)
如/etc/profile是变量环境

vi /etc/bashrc
alias myls='/bin/ls -lhr'		##为所有用户设置myls别名

3、重置密码 root用户可以指定用户 普通用户只能单独执行passwd修改自己的密码
passwd olai ##重置密码

passwd 还能用户进行锁定解锁等
如 -d 清空指定用户密码
如 -l 锁定用户账号
如 -S 查看用户账号的状态
如 -u 解锁用户账号
usermod命令常用选项
常用选项
意 义
-d
更新使用者新的登陆目录
-e
配置新用户的停止日期,日期格式为MM/DD/YY
-f
帐户过期几日后永久停权。当值为0时帐号则立即被停权。而当值为-1时则关闭此功能。预设值为-1
-g
更新使用者新用户加入群组
-G
定义使用者为一堆groups的成员。每个群组使用“??”隔开,不能够夹杂空白字
-l
变更用户登陆时的名称,同时使用者目录名也会跟着更动成新的名称
-s
指定新用户Shell
-u
用户ID值,必须为唯一的ID值。用户目录树下所用的文档目录其userID会自动变更,放在拥护目录外的文档则要自行手动更动

例如

mv /admin /home/
usermod -d /home/admin /admin			##用户宿主目录有/admin转移到/home/admin

usermod -L olai			##锁定账号
passwd -S olai			##查看账号锁定状态
usermod -U olai			##解锁
usermod -l lai olai		##更改用户登录名称为lai
grep “lai” /etc/passwd 

userdel -r lai			##加上-r是删除用户和其宿主目录
ls -ld /home/lai		##却认宿主目录删除

查询组账号信息

组账号主要命令有groupadd 、groupdel 、groupwd
对用户账号来说 对应组账号可以分为基本组(私有组)和附加组(公共组)
1、组账号文件
配置文件有两个
/etc/group ##名称gid组成员
/etc/gshadow ##加密字串
如 g 修改用户基本组名(或GID)
如-G 修改用户附加组名(或GID)

grep “^root” /etc/group  ##检索root组包含哪些用户
grep “root” /etc/group  ##检索哪些组包含root用户

groupadd -g 10000 class01  ##添加一个组账号gid为10000

gpasswd -a mike root	##添加mike用户到root组
groups mike		##确认mike用户加入root组
gpasswd -d olai root	##将olai用户移除root组

gpasswd -M root,adm,lai,zou class01 ##指定这四个到class01组
grep “^adm”/etc/class01

groupdel class01	##删除组账号class01

useradd -d /ftphome/mike -g mike -G ftpuser -s /sbin/nologin mike
创建mike用户是指定其基本组为mike   且加入到ftpuser组 指定主目录为/ftphome/mike并不允许mike通过本地登录

2、组有几个常用查询命令工具如id 、groups 、finger、w等
id 查询用户账号的身份标记
group 查询用户的所属组
finger 查询用户账号登录属性
w 查询当前主机用户登录环境

id root

groups
groups daemon

finger lai
w

文件的权限及归属

Linux系统中文件有二个属性:访问权限和文件所有者,简称为权限和归属。其中,访问权限包括读取,写入,可执行三种基本类型,归属包括属主(拥有该文件的用户账号)属组(拥有该文件的组账号)。需要注意的是,root目录是系统的超级用户,拥有完全控制权限。

查看文件的权限及归属

我们用ls -l命令查询文件的详细信息,其中包括该文件的权限和归属等参数。
ls -l /etc/passwd
[root@localhost ~]# ls -l install.log
-rw-r–r-- 1 root root 34298 04-02 00:23 install.log
在上述例子中,“-rw-r–r--”部分的第一个字符表示文件类型,可以是d(目录)、b(块设备文件)、c(字符设备文件),减号“-”(普通文件)、字母“l”(链接文件)等,
其余部分指定了文件的访问权限。
在表示属主、属组内用户或其他用户对该文件的访问权限时,主要使用了四种不同的权限字符: r(可读)、w(可写)、x(可执行)以及-(无权限)。r、w、x、- 权限字符还可分别表示为8进制数字4、2、1、0。

设置文件的权限及归属

chmod命令
格式1:chmod [ugoa] [±=] [rwx] 文件或目录
其中:u、g、o、a 分别表示,属主、属组、其他用户、所有用户;
+、-、= 分别表示,增加、去除、设置权限;
rwx表示对应的权限字符
格式2:chmod nnn 文件或目录…
“nnn”为需要设置的具体权限值,如“755”、“644”等
常用命令选项
-R:递归修改指定目录下所有文件、子目录的权限
chmod u+x,o-r mymkdir
chmod 755 mymkdir
chmod -R 644 /usr/src/ --------使用递归的方式将“/usr/src/”目录中所有子目录、文件的权限都设置为“rw-r–r--”

目录的权限及归属

chown命令
格式:
chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
常用命令选项
-R:递归修改指定目录下所有文件、子目录的归属 需要设置文件或者目录的归属时,也可以通过chgrp命令进行。chown命令既可以修改属主,也可以修改属组,而chgrp命令只用于修改属组信息(因此并不常用)。
列如
chown -R ftp /var/ftp/pub/--------将/var/ftp/pub/的属主有root改为ftp
ls -ld /var/ftp/pub/

查看目录的权限及归宿

权限-------------------文件----------------------------目录------------
r-----查看文件内容------------------------查看目录内容(显示子目录,文件列表)
w—修改文件内容-------------------------修改目录内容(在目录中新建移动删除文件或子目录)
x----执行该文件(程序或脚本)------执行cd命令进入或退出该目录

设置目录的权限及归宿

1、设置目录权限chmod
chmod [ugoa…][±=][rwx] 目录
或者
chmod nnn 目录。。。


chomd -R /var/ftp/pub/
2、设置目录属性chown
chown 属主目录
chown :属组目录
chown 属主:属组目录
chown -R ftp /var/ftp/pub/

文件属性和文件系统属性的关系

chatter: 锁定文件,不能删除,不能更改
+a: 只能给文件添加内容,但是删除不了,
chattr +a /etc/passwd
-d: 不可删除
加锁:chattr +i /etc/passwd 文件不能删除,不能更改,不能移动
查看加锁: lsattr /etc/passwd 文件加了一个参数 i 表示锁定
解锁:chattr -i /home/omd/h.txt - 表示解除
隐藏chattr命令:

在这里插入图片描述
恢复隐藏文件
h在这里插入图片描述
touch test
chattr +a test
man lsattr > test
lsattr -a test
man chattr >>test

umask应用

umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)
默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认权限是755(7-0,7-2,7-2),可以用ls -l验证一下哦 现在应该知道umask的用途了吧,它是为了控制默认权限,不要使默认的文件和目录具有全权而设的
umask 000 -----代表文件默认权限为777
mkdir /umask1
ls -ld /umask1/

umask 022 ---------代表文件默认权限为022
mkdir /umask2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值