概述
文章目录
- 用户账号管理
- 组账号管理
- 文件的权限与归属
- 用户账号安全控制
- 用户切换与提权
用户账号管理
在Linux系统中,根据系统管理需要将用户账号可分为三种:
- 超级用户:root用户是Linux默认超级用户账号,对本机拥有最高的权限。
- 普通用户:由root或者其他管理员账户创建,一般只在自己的宿主目录下有最高权限。
- 程序用户:特定的低权限账号,一般不允许登录到系统。
查看用户账号文件:
cat /etc/passwd
- 第一字段:用户账号;
- 第二字段:经过加密的用户密码字串;
- 第三字段:用户UID号;
- 第四字段:所属基本组GID号;
- 第五字段:用户全名
- 第六字段:宿主目录
- 第七字段:登录shell信息(/bin/bash表示可以登录,/sbin/nologin表示不可登录)
查看用户密码信息文件:
cat /etc/shadow
- 第一字段:用户账号;
- 第二字段:通过加密的密码字串信息,“*“或”!!”表示不能登录到系统
- 第三字段:上次修改密码时间,值为距离1970年1月1日,已过去多少天
- 第四字段:密码最短有效天数,默认值为0
- 第五字段:密码最长有效天数,默认值为99999
- 第六字段:提前多少天告知用户口令过期,默认值为7
- 第七字段:密码过期之后多少天内禁用此用户
- 第八字段:账号失效时间,用户作废天数值为距离1970年1月1日,已过去多少天
- 第九字段:保留字段
用户添加账号
useradd [选项] 用户名
例:添加cauchy用户,uid为2000,家目录是/opt/cauchy,基本组是math,附加组是France,禁止shell终端登录
useradd -u 2000 -d /opt/cauchy -g math -G France -s /sbin/nologin cauchy
设置更改用户口令
passwd [选项] 用户名
不加选项可以直接修改用户名密码
例:加锁chen用户,并且查看状态,再解锁chen用户
Tips:被锁定之后无法直接登录,但是可以root可以通过su命令切换登录
免交互式修改密码:
echo "xxxxxxx" | passwd --stdin
修改账号属性
usermod [选项] 用户
选项功能与passwd和useradd差不多。-L:表示锁定用户。-U:表示解锁用户
删除用户账号
userdel [选项] 用户
例:删除cauchy用户并且删除宿主目录
userdel -r cauchy
组账号管理
一般Linux上面的组有两种类型
-
私有组(基本组):伴随着用户的创建而创建,与用户同名
-
公有组(附加组):直接创建的控组,可以添加已有用户,给组设置权限该组用户就拥有此权限
组账号文件和用户账号文件一样拥有两个
分别是/etc/group和/etc/gshadow
添加组账号
groupadd [选项] 组名
-g表示指定GID号
添加删除组成员
groupadd [选项] 用户 组名
-d表示删除组成员;-a表示添加一个组成员;-M添加多个组成员但是会覆盖掉原有组成员
删除组账号
groupdel 组账号
查询账号与组的信息:
id 用户
groups
"w"查询当前主机登录情况
文件的权限与归属
在建立Linux文件系统安全模型中,为系统文件赋予了两个属性:访问权限和文件所有者,简称“权限“和”归属”。访问权限包括读取,写入,执行;归属包括,属主与属组。
查看文件的权限与归属
ls -l /etc/passwd
“-”表示:文件的类型。d(目录),l(链接文件),b(块设备文件),c(字符设备文件),-(普通文件),p(管道文件)。
-
“rw-”表示:属主权限:可读可写
-
“r–”表示:属组权限:只读
-
“r–”表示:所有人权限:只读
-
“root”表示:属主
-
“root”表示:属组
-
其中“r”=4,“w”=2,“x”=1
设置文件/目录权限
chmod [uoga][+-=][rwx] 文件/目录
或者
chmod nnn(数字) 文件/目录
- u:属主,g:属组,o:其他用户,a:所有用户=ugo
- +:增加权限,-:减少权限,=:仅设置对应权限
- rwx为权限组合→“r”=4,“w”=2,“x”=1
例:
chmod u+x,o-r /etc/abc.sh
chmod 777 /opt/mnt
设置文件归属
chown 属主[:[属组]] 文件/目录
chown 属主.属组 文件/目录
例:
chown root:wheel /home/abc.txt
umask是默认指定用户的默认权限。直接执行umask可以查看当前系统默认权限,通过umask 022可以设置当前用户默认权限。
用户账号安全控制
用户账号,是计算机使用者的身份凭证标识,每一个要访问系统资源的人必需凭借其用户账号才能进入计算机。在Linux系统中,提供了多种机制来确保用户账号安全正当的使用。
锁定账户与解锁账户:
锁定文件与解锁文件:
密码安全控制
将密码的有效期设置为30天:
1.适用于新创建的用,老用户不会改变
vim /etc/login.defs
2.适用于已有用户
chage -M 30 chen
历史命令与自动注销
1.适用于新登录用户
vim /etc/profile
2.使用与当前用户
export HISTSIZE=200
还可以通过修改.bash_logut来修改配置文件:
vim ~/.bash_logout
闲置超时自动注销:
1.适用于新登录用户;
vim /etc/profile
输入以下参数:
export TMOUT=600
适用于当前用户
export TMOUT=600
用户切换与提权
大多数Linux服务器并不建议用户直接以root用户进行登录。一方面可以大大减少因误操作而导致的破坏,另一方面也降低了特权密码在不安全的网络中被泄露的风险。
su命令切换用户:
su -root
输入密码即可验证成功。
我们可以通过pam_wheel验证模块只允许极个别的用户使用su命令,操作如下所示:
gpasswd -a mike wheel
vim /etc/pam.d/su
然后我们可以试一下不是wheel组成员的用户是否能够切换root,如图所示:
结果:su权限被拒绝。
启用pam_wheel认证以后,未加入到wheel组内的其他用户将无法使用su命令。
sudo命令提升执行权限
在配置文件/etc/sudoers中添加授权
格式:user MACHINE=COMMANDS
-
用户=user
-
主机=MACHINE
-
命令=COMMANDS
或者使用visudo
进行编辑
例:授权chen用户修改IP地址
chen localhost=/sbin/ifconfig
启用sudo日志记录:
visudo
- 修改:Defaults logfile="/var/log/sudo"
最后
以上就是笑点低硬币为你收集整理的账号权限管理及安全的全部内容,希望文章能够帮你解决账号权限管理及安全所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复