[Linux命令行笔记] Linux权限操作
程序员文章站
2022-05-10 11:03:55
...
一、id: 显示用户身份标识
输出uid、gid、groups等信息,根据系统不同有一定差异
二、文件的权限属性
ls -l 命令输出文件属性,如(-rw-rw-r--),有四个组成部分:
1、'-' 表示文件类型
'-' 普通文件
'd' 目录文件
'l' 符号链接(软链接)
'c' 字符设备文件(以字节流处理数据的设备,如终端或调制解调器)
'b' 块设备文件(以数据块方式处理数据的设备,如硬盘驱动或光盘驱动)
2、'rw-' 表示所有者权限
'r' 允许打开和读取文件。如果还设置了执行权限,那么还允许列出目录下的文件
'w' 允许写入或截短文件,如果也设置了执行权限,那么目录中的文件允许被创建、删除和重命名。能否重命名和删除文件由目录权限决定
'x' 允许把文件当作程序一样来执行,用脚本语言写的程序文件必须被设置为可读,以便能被执行。允许进入目录,如使用cd命令
3、'rw-' 表示所有组权限
4、'r--' 表示其它用户权限
三、chmod: 更改文件的模式
可以使用八进制或者命令符号修改文件的模式
'u' user 的简写,表示文件或者目录的所有者
'g' group 的简写,文件所属群组
'o' others 的简写,表示其它所有用户
'a' all 的简写,是'u''g''o'三者的组合,即所有用户,是默认选项
'+' 添加权限
'-' 删除权限
'=' 只用指定的权限可用
例:
u+x 为文件所有者添加可执行权限
-x 删除所有用户的可执行权限
go=rw 设置所属群组和其它所有用户只具有可读可写权限
四、umask: 设置文件的默认权限
能够限制创建的文件的权限,使用八进制表示,默认为0002
使用四位八进制的原因(还有特殊的权限):
setuid位(4000): chmod u+s 程序名 -> 授予程序setuid权限(-rwsr-xr-x)
该程序将以超级用户的权限来执行,使程序能够访问普通用户禁止访问的文件和目录,慎重使用
setgid位(2000): chmod g+s 目录 -> 授予目录setgid权限(drwxrwsr-x)
对文件: 将有效组id从创建者组id修改为改文件所有者的组id
对目录: 在该目录下新创建的文件将由该目录所在组所有,对公共组下的成员访问共享目录中的文件时很有用
sticky位(1000): chmod +t 目录 -> 授予目录sticky位权限(drwxrwxrwt)
Linux中: 忽略文件的sticky位,目录的sticky位当执行用户不是该目录的所有者、文件所有者或超级用户时,将阻止该用户删除或重命名文件
五、su: 以其它用户和组id的身份运行shell
su -l username 选项将使shell以指定用户的运行环境重新加载,工作目录也更改为指定用户的主目录,可简写为 '-'
su -c 'command' 将command在指定shell环境下运行
exit 返回到之前的shell环境
六、sudo: 以另一个用户的身份来执行命令
sudo -l 查看当前用户被授予哪些权限
一次使用后,一定时间内不需要再次输入密码
七、chown: 更改文件所有者
更改文件或目录的所有者和所属群组,需要超级用户权限
chown [ower][:[group]] file...
参数实例:
test 把文件所有者更改为test用户
test:test2 把文件所有者更改为test用户,把文件所属组群更改为test2组
:test2 把文件所属群组更改为test2组,文件所有者不变
test: 把文件所有者更改为test用户,并把文件所属群组更改为test登录系统时所属的组
八、chgrp: 更改文件所属族群
早期的UNIX的chown不能更改文件所属群组,使用chgrp更改文件所属群组,除了限制多一点外,和chown使用方法基本相同
九、passwd: 更改用户密码
passwd [user] 更改用户的密码,默认为当前用户
下一篇: 角色权限新增
推荐阅读
-
linux下perl操作mysql数据库(需要安装DBI)
-
PHP下操作Linux消息队列完成进程间通信的方法
-
Linux下mysql源码安装笔记
-
linux下perl操作mysql数据库(需要安装DBI)
-
CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解
-
linux的vi和vim编辑器操作
-
linux中的vi和vim编辑器操作方法
-
Linux基础命令之文件和目录操作(二)
-
Linux下mysql源码安装笔记
-
CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解