用户身份与文件权限

用户身份与能力

UID为0的用户为系统的管理员用户

UID为1-999的用户为系统用户

UID为100+的用户为普通用户

id

用于显示用户的详细信息

useradd

添加用户

参数:

-c:加备注

-u:指定用户默认uid useradd -u [uid] [新用户名]

-g:指定用户默认gid(必须已存在)

-G:指定用户一个或多个扩展组

-d:指定用户家目录(默认:/home/username/)

[root@localhost ~]#useradd -c

groupadd

添加组

用法: group [参数] [组名]

参数:

-n group -n [新组名] [旧组名]

usermod

修改用户的属性

参数:

-c:添加备注信息

-md:把用户的原家目录移到新目录里(m和d参数要连用)

-g:更改用户所属组 usermod -g [所属组] [用户名]

-G:更改用户扩展组 usermod -G [扩展组] [用户名]

-L:锁定用户禁止登录 usermod -L [用户名]

-U:解锁用户允许登录 usermod -U [用户名]

-u:修改用户uid usermod -u [UID] [用户名]

passwd

修改密码

passwd [用户名]

userdel

删除用户

参数:

-f:强制删除用户

-r:同时删除用户家目录

文件权限与归属

r(可读)w(可写)x(可执行)

文件:

可读(r)代表可以看见文件的内容

可写(w)代表可以增删改

可执行(x)代表可以运行脚本

目录:

可读(r)代表可以看见目录内的文件列表

可写(w)代表可以在目录里增删改文件

可执行(x)代表可以进目录

权限也可以用数字表示

r w x分别用4 2 1代表

例:rwxr--r-- 用744代表

特殊权限

SUID

能让二进制文件(就是命令)程序的执行者临时拥有属主的权限

设置了SUID后属主的权限rwx会变成rws(如果属主的权限没有x,s会是大写的)

SGID

能让二进制文件(就是命令)程序的执行者临时拥有属组的权限

设置了SGID后属主的权限rwx会变成rws(如果属组的权限没有x,s会是大写的)

SBIT

可确保用户只能删除自己的文件(文件只能被属主删除)

设置了SBID后属主的权限rwx会变成rwt(如果属主的权限没有x,t会是大写的)

特殊权限也可以用数字表示,SUID SGID SBIT分别是4 2 1 (加在普通权限前面)

chmod

设置权限

chmod [权限] [文件或目录]

参数:

u+s:设置 SUID

g+s:设置 SGID

o+t:设置 SBIT

u-s:取消 SUID

g-s:取消 SGID

o-t:取消 SBIT

隐藏权限

被隐藏起来的权限,比如文件的权限明明是充足的,却无法删除该文件。就是隐藏权限不能被ls这些命令发现

隐藏权限的专用设置命令是chattr 专用查看命令是lsattr

chattr

设置隐藏权限

chattr [(+)(-)参数] [需要设置隐藏权限的文件或目录]

+(增加该隐藏权限)

-(去掉该隐藏权限)

参数:

i:不能修改文件(文件),不能增删子文件,仅仅可以修改子文件(目录)

a:只能追加内容,无法删除

s:彻底从硬盘删除并且无法恢复

u:与s参数相反,当删除该文件后依然保留在硬盘里的数据

x:可以直接访问压缩文件的内容

lsattr

查看文件(目录)的隐藏的权限

文件访问控制列表ACL

针对指定的用户或用户组对目录或文件的权限

setfacl

设置acl

参数:

-m:修改权限

-x:删除某个权限

-b:删除所有权限

-R:递归子目录

--set 选项会先清除掉原有的 ACL 权限,然后添加新的权限

设置了acl后文件权限后的(.)会变成(+)

getfacl

查看设置的acl权限

acl备份与恢复

备份

getfacl -R [需要备份的文件(目录)] > [保存的文件]

恢复

(必须在要恢复的目录的上一级目录执行命令)

setfacl --restore [备份的文件]

getfacl -R [恢复acl的文件]

创建默认权限

umask

创建文件或目录时的默认权限

新建目录的默认权限是:drwxrwxrwx 新建文件的默认权限是:rw_rw_rw_

umask数字的意思是在默认权限上去掉相应的权限

比如:umask 0022(第一位是特殊不用管)

创建的文件默认权限就应该是:

rw--r--r--

而创建的目录默认权限就应该是:

rwxr-xr-x

查看:

umask

umask -S:更直观地查看

更改umask:

临时:

umask [数字权限]

永久:

修改/etc/bashrc和/etc/profile文件

两个文件的内容是一样的 搜索umask,找到如下代码,不算第一位的特殊权限

if [ $UID -gt 199 ] && [ "id -gn" = "id -un" ]; then umask 002 //表示uid大于等于199的默认umask值,表示普通用户 else umask 022 //表示uid小于199的默认umask值,表示root fi

修改后需要重新读取一下/etc/bashrc或/etc/profile [root@lewis ~]# source /etc/profile [root@lewis ~]# source /etc/bashrc

su命令与sudo服务

su

切换用户

参数:

-:完全切换到新的用户

sudo服务

把特定命令的执行权限赋予指定用户,比如把root的touch赋予给普通用户,那么在普通用户下用sudo [参数] touch创建的文件属主是root

参数:

-l:列出当前用户可执行的命令

-u [用户名(UID)]:用指定的用户身份执行命令(可以使属组为指定用户名的属组)

-k:清空使用sudo的密码有效时间,下次执行时需要使用密码

-p:更改提示密码的提示语

visudo

visudo用来编辑配置用户sudo的权限

大概在第101行配置

配置格式:

谁可以使用 允许使用的主机 = (以谁的身份)可执行命令的列表

谁可以使用:对那个用户配置sudo服务

允许使用的主机:可以填写all表示不限制可使用的主机,也可以填写网段来限制

以谁的身份:可以填写all表示系统最高权限或者用户

可执行命令的列表:可以填写all表示不限制命令,也可以填写/usr/bin/cat这样的,多个命令文件间用(,)间隔

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值