linux权限管理

2023-11-01

权限管理

文件的权限针对三类对象进行定义

  • user属主,缩写u
  • group属组,缩写g
  • other其他,缩写o

1、文件的一般权限

(1)r,w,x的作用及含义:

权限 对文件影响 对目录影响
r(read:读) 可以读取文件内容
可以列出目录的内容,即目录下的文件的文件名
w(write:写)
可以更改文
件的内容
可以创建或者删除目录中的任一文件(只有w权限无法创建删除文件,需要和x权限一起使用)
x(execute:执行)
可作为可执行文件
可以切换到目录
- 没有权限

PSroot账户不受文件权限的读写限制,执行权限受限制

(2)相应二进制可表示对应权限:

所属者 / 所属组 / 其他用户权限的字符表示
二进制表示
八进制表示
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7

如图:

(3)常见普通权限组合

  • 目录:r-x;rwx;---
  • 文件(文本文件):r-x;rw-;rwx;r--;---

2、修改权限

(1)修改文件或目录的权限 --- chmod

  • 格式1:chmod  [选项]  [ugoa][+-=][rwx]  文件或目录..
  • 格式2:chmod  [选项]  nnn  文件或目录...
  • 常用选项:
u g o a
权限设置所针对的用户类别。
u(user)表示文件或目录的属主(所有者);g(group)表示属组内的用户;o(others)表示其他用户;a(all)表示所有用户(即u+g+o)
+ 或 - 或 =
设置权限的操作动作,+代表添加某个权限;-代表取消某个权限;=表示只赋予给定的权限,并取消原有的权限
rwx
用字符形式表示的所设置的权限,可以是其中一个字母或组合
nnn
用三位八进制数字表示的权限

例1:修改文件a1的权限

[root@tianqinwei test]# ll --- 查看文件权限
total 0
-rw-r--r--. 1 root root 0 Mar  6 17:45 a1
[root@tianqinwei test]# chmod o-r a1 --- 对其他用户去掉可读权限
[root@tianqinwei test]# ll a1 
-rw-r-----. 1 root root 0 Mar  6 17:45 a1
[root@tianqinwei test]# chmod g=--- a1 --- 将所属组权限改为---
[root@tianqinwei test]# ll a1
-rw-------. 1 root root 0 Mar  6 17:45 a1
[root@tianqinwei test]# chmod 640 a1 --- 用数字来修改权限,参考上方二进制转为八进制
[root@tianqinwei test]# ll a1
-rw-r-----. 1 root root 0 Mar  6 17:45 a1
[student@tianqinwei test]$ cat a1 --- 验证,普通用户对a1没有权限
cat: a1: Permission denied
[root@tianqinwei ~]# ll -d /root/
drwxrwxrwx. 16 root root 4096 Mar  6 18:18 /root/
[root@tianqinwei test]# chmod a-w /root/ --- 将/root/用户,所属组,其他用户的写权限全都修改
[root@tianqinwei test]# ll -d /root/
dr-xr-xr-x. 16 root root 4096 Mar  6 18:18 /root/

例2:将文件a2改为所属组和其他用户可读可写

[root@tianqinwei test]# chmod g=rw-,o=rw- a2 --- 中间部分命令用逗号隔开(系统会把o部分认为是文件名称,所以用空格分隔会报错)
[root@tianqinwei test]# ll a2
-rw-rw-rw-. 1 root root 0 Mar  6 17:45 a2
[student@tianqinwei test]$ cat a2 --- 验证,可对文件进行可读操作
azsdfgarhae5rhjndtgnsrt6jnjmrfsngxer5dyhusrtn

(2)修改文件或目录的属主和属组

<1> chown:可同时修改属主和属组

  • 格式:chown  [选项]  新属主[:[新属组]]  文件或目录

例:修改文件a2所属主,所属组

[root@tianqinwei test]# ll a2
-rw-rw-rw-. 1 root root  46 Mar  6 18:05 a2
[root@tianqinwei test]# chown student a2 --- 修改所属主
[root@tianqinwei test]# ll a2
-rw-rw-rw-. 1 student root 46 Mar  6 18:05 a2
[root@tianqinwei test]# chown :student a2 --- 修改所属组
[root@tianqinwei test]# ll a2
-rw-rw-rw-. 1 student student 46 Mar  6 18:05 a2
[root@tianqinwei test]# chown root:root a2 --- 同时修改所属主和所属组
[root@tianqinwei test]# ll a2
-rw-rw-rw-. 1 root root 46 Mar  6 18:05 a2

<2> chgrp:只能修改文件的所属组

  • 格式:chgrp  [选项]  [新属组]  文件或目录...

例:修改文件a3所属组

[root@tianqinwei test]# ll a3
-rw-r--r--. 1 root root 39 Mar  6 18:05 a3
[root@tianqinwei test]# chgrp student a3
[root@tianqinwei test]# ll a3
-rw-r--r--. 1 root student 39 Mar  6 18:05 a3

(3)例:student用户可读可写a3,其他用户都不可进行操作

[root@tianqinwei test]# ll a3 --- 查看a3文件的权限以及所属主和组
-rw-r--r--. 1 root student 39 Mar  6 18:05 a3
[root@tianqinwei test]# chmod 600 a3 --- 将文件所属组和其他用户的所有权限取消
[root@tianqinwei test]# ll a3
-rw-------. 1 root student 39 Mar  6 18:05 a3
[root@tianqinwei test]# chown student:root a3 --- 将文件的所属主改为student,所属组改为root
[root@tianqinwei test]# ll a3 
-rw-------. 1 student root 39 Mar  6 18:05 a3
则此时文件仅可由student用户进行读写

3、文件的特殊权限

(1)SUID(u+s)权限

<1> 含义为了让一般用户在执行某些程序的时候, 在程序的运行期间, 暂时获得该程序文件所属者的权限


如:

[root@tianqinwei test]# ll /usr/bin/passwd 
--- 当用户使用passwd命令的时候,短暂拥有该命令所有者root的权限,
所以此时普通用户就可在shadow上进行操作修改,且只能在二进制执行文件上使用
-rwsr-xr-x. 1 root root 34512 Aug 13  2018 /usr/bin/passwd
[root@tianqinwei test]# ll /etc/shadow
----------. 1 root root 1309 Oct 21 08:51 /etc/shadow
student 用户在执行 passwd 修改自己的密码时, 其修改的密码, 最终是需要保存到 /etc/shadow 这个文件中,而这个文件的权限是 --------- ,它的拥有者是 root ,也只有root 可以“ 强制” 存储, 其他用户连看都不行。可student 去执行 passwd (/usr/bin/passwd) ,却可以更新自己的密码

<2> 例:将文件a1和a2得到权限修改为SUID(u+s)

[root@tianqinwei test]# ll
total 12
-rwxrwxrwx. 1 root    root 241 Mar  6 18:05 a1
-rw-rw-rw-. 1 root    root  46 Mar  6 18:05 a2
[root@tianqinwei test]# chmod u+s a1 --- 将用户权限修改为u+s
[root@tianqinwei test]# chmod u+s a2 
[root@tianqinwei test]# ll
total 12
-rwsrwxrwx. 1 root    root 241 Mar  6 18:05 a1 --- 若该文件是可执行文件,显示为s
-rwSrw-rw-. 1 root    root  46 Mar  6 18:05 a2 --- 若改文件是不可执行文件,显示为S

有 s 权限的存在,当 s权限在拥有者的权限位上时, 即如 -rwsr-xr-x 这样时, 称为SUID 。SUID 即 Set UID , UID 指的是拥有者的的 ID, 而这个程序 (/usr/bin/passwd) 的拥有者为(root)

PS:

  • SUID仅对二进制文件有效
  • 执行过程中,调用者暂时获得该文件所有者权限
  • 该权限只在执行过程中有效

(2)SGID(g+s)权限

<1> 作用

  • 文件:如果 SGID 设置在二进制文件上,则不论用户是谁,在执行该程序时,程序所属组将会变成该程序文件的所属组
  • 目录:若SGID设置在A目录上,则A目录内所建立的文件和目录的所属组,将会是A目录的所属组

<2> 例:将用户haha放入student组中,在该组中将权限更改为SGID,使得haha用户也可创建或删除文件

[root@tianqinwei test]# useradd haha --- 添加用户haha
[root@tianqinwei test]# gpasswd -a haha student --- 添加用户haha到student组中
Adding user haha to group student
[root@tianqinwei test]# tail -2 /etc/group
student:x:1000:haha
haha:x:1001:
[root@tianqinwei test]# ll -d /test
drwxr-xr-x. 2 root root 36 Mar  6 18:05 /test
[root@tianqinwei test]# chown :student /test --- 将目录/test所属组改为student
[root@tianqinwei test]# ll -d /test
drwxr-xr-x. 2 root student 36 Mar  6 18:05 /test
[root@tianqinwei test]# chmod g+s /test --- (g+s的效果:只要在所属组中的用户,都可在该目录下创建或删除文件,操作的文件都在student这个组中)
[root@tianqinwei test]# chmod g+w /test --- 给所属组添加可写权限
[root@tianqinwei test]# ll -d /test
drwxrwsr-x. 2 root student 36 Mar  6 18:05 /test
验证:
[student@tianqinwei test]$ touch ss
[haha@tianqinwei test]$ touch dd
[root@tianqinwei test]# ll
-rw-rw-r--. 1 haha    student   0 Mar  6 20:07 dd --- haha用户创建出的文件所属主为haha,所属组为student
-rw-rw-r--. 1 student student   0 Mar  6 20:07 ss --- student用户创建出的文件所属主为student,所属组为student

(3)Sticky Bit--SBit(o+t):只针对目录有效, 对文件没有效果

<1> 含义具有 SBit 的目录下, 用户若在该目录下具有 w 及 x 权限 , 则当用户在该目录下建立文件或目录时, 只有文件拥有者与 root 才有权力删除

<2> 例:将目录 /test 其他用户的权限更改为SBit

[root@tianqinwei test]# ll -d /test
drwxrwsrwx. 2 root student 56 Mar  6 20:07 /test
[root@tianqinwei test]# chmod o+t /test
[root@tianqinwei test]# ll -d /test
drwxrwsrwt. 2 root student 56 Mar  6 20:07 /test --- o用户在该目录下只可针对自己创建的文件进行“删除/重命名/移动”操作

4、ACL权限

(1)含义若想指定一个用户想访问一个组中的文件,而该组中无此用户,则可用ACL权限指定该用户,赋予其相应权限。

(2)命令:

<1> 查看权限:getfacl  [文件名]

<2> 设定权限:setfacl 选项 文件名

  • 常用选项
-m
设定 ACL 权限。如果是给予用户 ACL 权限,则使用 (u:用户名:权限 )格式赋予;如果是给予组 ACL 权限,则使用( g:组名:权限) 格式赋予
-x
删除指定的ACL权限
-b 删除所有的ACL权限
-d 设定默认ACL权限。只对目录生效,目录中新建立的文件有此默认权限
-k 删除默认ACL权限
-R 递归设定ACL权限。指设定的ACL权限会对子目录下所有文件生效

复制文件权限:getfacl file-a | setfalc --set-file=- file-B

例:文件权限为rwx rw- ---,文件所属主为wu,文件所属组为csa。若让组外用户xixi对此目录中文件可读可写,且不让其他用户拥有权限,命令为:setfacl -m u:xixi:rw- cs

例:查看文件权限

[student@tianqinwei test]$ getfacl a --- 查看a文件的权限
# file: a
# owner: root
# group: root
user::rwx
group::r--
other::r--

例:设置ACL权限

[root@tianqinwei test]$ setfacl -m u:student:rwx
[root@tianqinwei test]# setfacl -m u:student:rwx a
[root@tianqinwei test]# getfacl a
# file: a
# owner: root
# group: root
user::rwx
user:student:rwx
group::r--
mask::rwx
other::r--

例:组设置:student组读、写、执行(setfacl -m g:student:7 a )

例:删除权限

[root@tianqinwei test]# setfacl -x u:student a --- 删除student用户针对a文件的权限
[root@tianqinwei test]# setfacl -b a

[root@tianqinwei test]# setfacl -d -m u:student:rwx mm --- 删除所有用户的权限
[root@tianqinwei test]# getfacl mm
# file: mm
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:student:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
[root@tianqinwei test]# setfacl -k -m u:student:rwx mm --- 删除默认权限

例:复制文件权限

5、umask(权限掩码)

(1)作用设置新建文件或目录的默认权限

(2)默认umask:

在Linux系统中,当用户创建一个新的文件或目录时,系统都会为新建的文件或目录分配默认的权限,该默认权限与umask值有关,其具体关系是:

  • 新建文件的默认权限=0666-umask值
  • 新建目录的默认权限=0777-umask值
[root@tianqinwei test]# umask --- 查看默认umask值
0022

(3)例:umask默认值为033,则对应的文件和目录的默认权限是什么?

则文件对应默认权限是644;目录对应默认权限为744

6、设置文件的可拓展属性

(1)chattr(修改)

常用:

  •  i --- 不可修改属性。具有该属性的文件不能被删除、更名或者修改其内容
  • a --- 只允许向文件追加数据,不允许任何进程覆盖重写文件的内容

(2)lsattr(查看)


例:针对a文件进行修改

[root@tianqinwei test]# chattr +i a
[root@tianqinwei test]# lsattr a
----i------------- a
该限制对root用户起作用
[root@tianqinwei test]# mv a b
mv: cannot move 'a' to 'b': Operation not permitted

[root@tianqinwei test]# chattr +a a
[root@tianqinwei test]# lsattr a
-----a------------ a
[root@tianqinwei test]# echo asxdcfv > a
-bash: a: Operation not permitted
[root@tianqinwei test]# echo asxdcfv >> a
[root@tianqinwei test]# 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux权限管理 的相关文章

  • /usr/bin/as:无法识别的选项“-EL”

    因此 在为我的1plus手机编译android内核时 经过3天的多次尝试 我放弃了并尝试在这里询问是否有人以前遇到过这个问题 这个错误对我来说有点模糊 但我觉得问题来自于我最近对 GNU Linux 发行版 Gentoo 的更改 它在不应该
  • BlueZ D-Bus C,应用 BLE

    我正在尝试编写一个应用程序来搜索附近的蓝牙设备并与它们通信 我的应用程序将用 C 语言编写 并打算在 Linux 下工作 是否有通过 C 中的 D Bus 使用 BlueZ 的教程或示例 此应用程序的目的是从 BLE 中的文件发送数据 你能
  • mod_perl 无法看到 /tmp 中的文件

    我有一些 mod perl 代码试图访问 tmp 下的文件 但它抛出 没有这样的文件或目录 错误 我在代码中添加了一个 ls al tmp 来查看 Perl 在目录中看到的内容 它只给了我 和 drwxrwxrwt 2 root root
  • 如何使用 shell 脚本解压所有 .tar.gz?

    我试过这个 DIR path tar gz if ls A DIR 2 gt dev null then echo not gz else tar zxvf path tar gz C path tar fi 如果该文件夹有一个 tar 则
  • 如何获取文件夹的大小,包括稀疏文件的表观大小? (du太慢了)

    我有一个包含很多KVM qcow2文件的文件夹 它们都是稀疏文件 现在我需要获取文件夹的总大小 qcow2 文件大小应计为表观大小 而不是实际大小 例如 图片 c9f38caf104b4d338cc1bbdd640dca89 qcow2 文
  • 如何从powershell获取主机名?

    我如何获得hostname https stackoverflow com q 42014215 262852 for dur来自 powershell PS home thufir powershell gt PS home thufir
  • 如何更改Linux服务器中的MySQL表名不区分大小写?

    我正在开发一个旧网站 该网站曾经托管在 Apple 服务器上 当它迁移到新的 Linux 服务器时 它停止工作 我很确定这是因为 php 脚本中使用的所有 MySQL 查询对于表名都有不同的大小写组合 我不知道为什么原始开发人员在创建表名或
  • Git - 致命:无法获取当前工作目录?

    When I git clone从回购协议中 我得到 fatal Could not get current working directory No such file or directory 我该怎么办 我检查了服务器并发现 git文
  • 多线程进程的线程ID可以与另一个正在运行的进程的进程ID相同吗?

    我正在尝试找到一种方法来唯一标识多进程环境中的线程 我有一个服务器 它跟踪连接到它的不同进程 其中一些是多线程的 一些不是 为了识别多线程连接中的线程 我使用线程 ID 作为唯一标识符 在任何给定时间最多有 1 个多线程进程连接 我的问题是
  • 对符号“pthread_key_delete@@GLIBC_2.2.5”的未定义引用

    我正在尝试在 Ubuntu 中创建一个文件 当我创建时 我不断收到此错误 usr bin ld gtest 1 7 0 libgtest a gtest all cc o undefined reference to symbol pthr
  • AMD OpenCL 在 Linux 上工作所需的最小必要文件子集是什么?

    我已经使用 buildroot 构建了 Linux 内核 我已将开源 amdgpu 驱动程序和所需的固件合并到其中 驱动程序很好 检测 GPU 模式设置运行良好 调整 小文本 的分辨率 启动后会显示命令行 现在我需要运行 OpenCL 程序
  • 导出多个 LD_LIBRARY_PATH 的正确方法

    对于linux的使用 我是一个新手 根据有关我的项目的指南 我必须多次导出 LD LIBRARY PATH 并且我不确定是否不覆盖它们 Cupti Tensorflow CUDAit export LD LIBRARY PATH LD LI
  • 如何告诉 CMake 将构建文件放在哪里?

    我想告诉 CMake 将文件和文件夹输出到不同的文件夹而不是当前文件夹 我在下面讨论的是 CMake 生成的文件 文件 CMakeCache txt 目录 CMakeFiles 文件 生成文件 目录 bin 文件 cmake install
  • 如何在 .zip 文件中使用 grep

    有 3 个文件 a csv b csv c csv 压缩为 abh zip 现在可以在 abh zip 上执行 grep 命令 是否有任何通配符 仅对里面的 c csv 文件运行 grep压缩 如果你有zipgrep 据我所知 它是随zip
  • 使用多个 NIC 广播 UDP 数据包

    我正在 Linux 中为相机控制器构建嵌入式系统 非实时 我在让网络做我想做的事情时遇到问题 该系统有 3 个 NIC 1 个 100base T 和 2 个千兆端口 我将较慢的连接到相机 这就是它支持的全部 而较快的连接是与其他机器的点对
  • 为什么 ls -l 中的“总计”加起来不等于列出的总文件大小? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 为什么是total在输出中ls l打印为64并不是26078列出的所有文件的总数是多少 ls l test ls total 64 rw
  • 如何从内部找到C++ Linux程序的完整路径?

    我有这个要求 我需要从内部找到 C 程序的完整路径 对于Windows 我有以下解决方案 argv 0 可能包含也可能不包含完整路径 但我需要确定 TCHAR drive MAX DRIVE dir MAX DIR base MAX FNA
  • 检测后台操作

    在C中 检测程序在 后台模式 下调用的方法是什么 我有一个程序想要以交互方式或在后台启动 我怎样才能检测到我不应该从标准输入读取并以 已停止 tty 输入 状态结束 我应该测试 stdin 是否已关闭 我怎样才能做到这一点 编辑 isatt
  • 将任何当前目录“./”添加到Linux中的搜索路径[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何将任何当前目录 添加到 Linux 中可执行文件的搜索路径中 我知道这是一个旧答案 但如果其他人像我一样通过谷歌偶然发现这个问题 这里
  • “设置:非法选项 -”在一台主机上,但在另一台主机上则不然

    我在我的一台 ubuntu 虚拟机中编写了一个 sh 脚本 该脚本工作正常 但是当我尝试在其他虚拟机中运行它时 它不起作用 两个虚拟机应该相同 和bash version两个虚拟机均回复 GNU bash version 4 3 11 1

随机推荐

  • 通过cmd窗口导入.sql文件来更新Mysql数据库中的数据

    一 使用命令行的原因 有小伙伴说 干嘛要命令行导入sql文件 直接用navicat导入sql它不香吗 那确实是 直到小编导入一个很大的sql文件时 总会出现数据丢失 俺也不知道为啥 要是有小伙伴知道可以科普一下 二 命令行使用流程 1 启动
  • 第三章——隐藏通信隧道技术

    目录 1 网络层隧道 1 pingtunnel 1 在web边界服务器上下载并运行ptunnel 2 在vps上运行ptunnel 3 在win7电脑上远程连接vps的1080端口 2 icmpsh 3 防御ICMP隧道攻击的方法 2 传输
  • SpringBoot事务详解

    文章目录 一 简介 1 介绍 2 事务特点 3 事务实现方式 3 1 MySql事务实现方式 3 2 SpringBoot实现机制 二 Transactional详解 1 Transactional常用配置 2 事务传播行为 3 事务5种隔
  • IP可以正常访问网站、域名无法正常访问

    问题 域名解析都是都是正常的 可以ping通所指向的IP 端口也可以telnet通 但是就是无法正常访问平台 错误提示403 解决方案 将tomcat里面的server配置文件中的defaultHost这个配置属性修改成网站访问的公网IP地
  • 安装ffmpeg并写入jupyter matplotlib

    Jupyter生成动画需要首先安装一个名叫ffmpeg的软件 这是一个支持网页生成视频的软件 进入ffmpeg主页 Builds CODEX FFMPEG gyan dev 点击下载最新版的ffmpeg git full 7z essent
  • Ogre学习记录

    Ogre学习记录 Posted on 2008 07 09 15 36 RichardHe 阅读 839 评论 2 编辑 收藏 引用 所属分类 OGRE 1 设计初衷 它设计初衷是完全跨平台的 抽象的接口隐藏了平台相关的细节 它设计初衷是大
  • 华为云盘古气象(Pangu-Weather)大模型调试运行之小白教程

    0 前言 最近盘古气象大模型研究成果在 Nature 正刊发表 这个消息引起了大家的广泛关注 作为地理模型爱好者 在之前的学习中接触过一些气象预测模型 对此怀有兴趣 而且顺带蹭蹭热度嘛 不丢人 在此分享一下自己的学习过程 笔者水平有限 如有
  • JPM Coin三部曲 (上) :深入理解摩根幣的運作

    全美最大的銀行摩根大通推出首個由美國銀行支持的加密貨幣 有人說這是主流金融機構開始接納加密貨幣的標誌 有人調侃摩根 CEO 傑米 戴蒙一邊炮轟比特幣 一邊忍不住自己發幣 還有密碼朋克旗幟鮮明地抨擊該 全美最大的銀行摩根大通推出首個由美國銀行
  • centos7配置syslog客户端上传日志

    由于客户要求 需要把主机上的syslog传递到指定系统上 之前没有做过相关设置 本次配置是第一次配置 先上网插了下syslog分为很多种 如图 这只是一部分 可以直接到 etc rsyslog conf配置文件中自行查看 根据需求可以选择全
  • 解决VScode中:C/C++编译器错误导致头文件报错问题

    一 软件安装 VScode安装网址 https code visualstudio com 进入网址 直接download即可 VScode软件很好安装 下载完安装包之后 双击安装包 选同意 选下一步 接下来将框中全部打 之后一路 下一步
  • Unity 新手向,如何快速利用插件设置高亮状态

    前言 相信很多小伙伴在开发游戏的过程中 会需要用到物体高亮的效果 效果如图所示 在初学阶段 我们不需要自己去写复杂的shader 而是快速利用插件来解决这一功能的需求 以下是我们本文将会使用到的一款免费的高亮插件 Quick Outline
  • 【廖雪峰python进阶笔记】面向对象编程

    1 定义类并创建实例 在Python中 类通过 class 关键字定义 以 Person 为例 定义一个Person类如下 class Person object pass 按照 Python 的编程习惯 类名以大写字母开头 紧接着是 ob
  • 关于vue导入csv文件格式错误,js-xlsx导入CSV文件中文乱码处理参考

    最近在vue导入csv文件踩的一个坑 废话就不多说了 直接上源码和处理过程 过程 我最近使用js xlsx导入CSV文件时会出现中文乱码 其实这种问题基本上都是因为文件的编码不对造成的 因为使用这个插件用的比较多之前是可以直接使用UTF 8
  • Gitlab 报错:Error 500 with /api/v4/projects: NoMethodError: undefined method `string_access_level‘

    新安装的gitlab1 14 1版本在调用查询所project的api时 会报如下错误 NoMethodError undefined method string access level for nil NilClass api enti
  • VC文件目录选择对话框(任意目录)

    程序运行界面显示如下 使用目录选择对话框时 如何让其弹出后自动打开指定目录 是的当用目录选择对话框时 用如下的结构打开 以下是代码片段 typedef struct browseinfo HWND hwndOwner LPCITEMIDLI
  • 区块链技术在医疗数据共享中的应用

    随着医疗信息化技术的日益发展 医疗数据的存储和管理变得更加重要 传统的数据存储方法面临着信息泄露 数据篡改等安全隐患 为了解决这些问题 人们开始探索将区块链技术应用于医疗数据共享 以提高数据安全性和可靠性 本文将探讨区块链技术在医疗数据共享
  • 简述SD卡的工作原理(四)

    简述SD卡的工作原理 功能 SD卡是存储卡 它的功能就是存储 分类 SD卡按容量分类 可以分为3类 SD卡 SDHC卡 SDXC卡 如下 容量 命名 简称 0 2G Standard Capacity SD Memory Card SDSC
  • ubuntu顶部的任务栏-标题栏-菜单栏-启动器消失不见7个解决办法

    因为开发环境的Ubuntu服务器不敢随便折腾 所以就在自己机器装了一个 折腾来折腾去 不知道哪个环节安装 卸载出了问题 也可能是改了什么配置我没注意到 进入桌面后找不到启动器 菜单栏和标题栏了 终端可以打开 也能通过终端运行程序 有两次是重
  • 关于WiFi和信号图标出现感叹号消除办法

    谷歌原生安卓系统当连接到移动数据网络或者WIFI网络的时候 其NetworkMonitor模块会向特定的服务器发起一个http的请求并利用收到的响应进行网络状态判断 由于谷歌的服务器被天朝屏蔽 所以导致没有返回值 这个时候谷歌安卓系统就会在
  • linux权限管理

    权限管理 文件的权限针对三类对象进行定义 user属主 缩写u group属组 缩写g other其他 缩写o 1 文件的一般权限 1 r w x的作用及含义 权限 对文件影响 对目录影响 r read 读 可以读取文件内容 可以列出目录的