LinuxZone

LinuxZone.net
Linux系统网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

Linux下的访问控制列表(ACL)来控制用户权限

2023年6月24日 182点热度

Linux下的访问控制列表(ACL)主要拿来控制用户的权限,可以做到不同用户对同一文件有不同的权限,这么具体要怎么操作呢?下边小编就教你怎样在Linux下设置访问控制列表(ACL)来控制用户的权限。

使用拥有权限控制的Liunx,工作是一件轻松的任务。它可以定义任何user,group和other的权限。无论是在桌面笔记本或则不会有好多用户的虚拟Linux实例,或则当用户不乐意分享她们之间的文件时,这样的工作是很棒的。但是,假如你是在一个小型组织,你运行了NFS或则Samba服务给不同的用户,之后你将会须要灵活的选购并设置好多复杂的配置和权限去满足你的组织不同的需求。

如何在Linux下设置访问控制列表(ACL)来控制用户的权限1

Linux(和其他Unix等POSIX兼容的操作系统)有一种被称为访问控制列表(ACL)的权限控制方式,它是一种权限分配之外的普遍范式。诸如,默认情况下你须要确认3个权限组:owner、group和other。而使用ACL,你可以降低权限给其他用户或组别,而不单只是简单的“other”或者是拥有者不存在的组别。可以容许指定的用户A、B、C拥有写权限而不再是让她们整个组拥有写权限。

ACL支持多种Linux文件系统,包括ext2,ext3,ext4,XFS,Btfrs,等。假如你不确定你的文件系统是否支持ACL,请参考文档。

在文件系统使ACL生效

首先,我们须要安装工具来管理ACL。

Ubuntu/Debian中:

$sudoapt-getinstallacl

CentOS/Fedora/RHEL中:

#yum-yinstallacl

Archlinux中:

#pacman-Sacl

出于演示目的,我将使用ubuntuserver版本,其他版本类似。

安装ACL完成后,须要激活我们c盘分区的ACL功能,这样我们能够使用它。

首先,我们检测ACL功能是否早已开启。

$mount

如何在Linux下设置访问控制列表(ACL)来控制用户的权限2

你可以注意到,我的root分区中ACL属性早已开启。万一你没有开启,你须要编辑/etc/fstab文件,在你须要开启ACL的分区的选项前降低acl标记。

如何在Linux下设置访问控制列表(ACL)来控制用户的权限3

如今我们须要重新挂载分区(我喜欢完全重启,由于我不想遗失数据),假如你对其它分区开启ACL,你必须也重新挂载它。

$sudomount/-oremount

干的不错!如今我们早已在我们的系统中开启ACL,让我们开始和它一起工作。

ACL范例

基础ACL通过两条命令管理:setfacl用于降低或则更改ACLpuppy linux,getfacl用于显示分配完的ACL。让我们来做一些测试。

我创建一个目录/shared给一个假定的用户,名叫freeuser

$ls-lh/

如何在Linux下设置访问控制列表(ACL)来控制用户的权限4

我想要分享这个目录给其他两个用户test和test2,一个拥有完整权限,另一个只有读权限。

首先,为用户test设置ACL:

$sudosetfacl-mu:test:rwx/shared

如今用户test可以随便创建文件夹,文件和访问在/shared目录下的任何地方。

如何在Linux下设置访问控制列表(ACL)来控制用户的权限5

如今我们降低只读权限给用户test2:

$sudosetfacl-mu:test2:rx/shared

注意test2读取目录须要执行(x)权限

如何在Linux下设置访问控制列表(ACL)来控制用户的权限6

linux 给用户分配权限_linux 为用户分配权限_linux给用户分配权限

让我来解释下setfacl命令格式:

-m表示更改ACL。你可以降低新的,或更改存在的ACLu:表示用户。你可以使用g来设置组权限test用户名:rwx须要设置的权限。

如今让我向你展示怎样读取ACL:

$ls-lh/shared

你可以注意到,正常权限后多一个+标记。这表示ACL早已设置成功。要具体看一下ACL,我们须要运行:

$sudogetfacl/shared

最后,假如你须要移除ACL:

$sudosetfacl-xu:test/shared

如何在Linux下设置访问控制列表(ACL)来控制用户的权限9

假如你想要立刻擦除所有ACL条目:

$sudosetfacl-b/shared

最后,在设置了ACL文件或目录工作时,cp和mv命令会改变这种设置。在cp的情况下,须要添加“p”参数来复制ACL设置。倘若这不可行,它将会展示一个警告。mv默认联通ACL设置,假若这也不可行,它也会向您展示一个警告。

总结

使用ACL让在你想要分享的文件上拥有更多的能力和控制,非常是在NFS/Samba服务。据悉,假如你的主管共享主机,这个工具是必备的。

里面就是Linux下设置访问控制列表来控制用户权限的方式介绍了,由于ACL的配置和使用较为复杂,初学者在使用的时侯容易出现错误,希望本文介绍的方式才能帮助到你。

【如何在Linux下设置访问控制列表(ACL)来控制用户的权限】相关文章:

★解除使用Linux分区工具时给你们带来的困惑

★在Linux操作系统下防范黑客几个实用方法

★linux下更改用户的工具介绍第1/2页

★如何在Linux中设置透明代理

★linux下保存电脑屏幕色温设置r(背光色温)的方式

★如何在Linux中使用flock控制程序的异步执行

★如何在Linux下配置socks5代理

★关于Linux常见紧急情况的处理方式

★CentOS6.3KVM怎么设置网卡为桥接模式

★linux下的用户权限

我们平常创建的文件、图片都包含着好多信息,很容易被人借助,所以要消除文件中的元数据,以保护个人隐私。下边小编就给你们介绍下怎样消除文件中的隐私数据,一上去学习下吧。

典型的数据文件一般关联着“元数据”,其包含这个文件的描述信息,表现为一系列属性-值的集合。元数据通常包括创建者名称、生成文件的工具、文件创建/更改时期、创建位置和编辑历史等等。几种流行的元数据标准有EXIF(图片)、RDF(web资源)和DOI(数字文档)等。

尽管元数据在数据管理领域有它的优点,但事实上它会害处你的隐私。单反图片中的EXIF格式数据会泄漏出可辨识的个人信息,例如单反机型、拍摄相关的GPS座标和用户青睐的相片编辑软件等。在文档和电子表格中的元数据包含作者/所属单位信息和相关的编辑历史。不一定如此绝对,但例如metagoofil一类的元数据搜集工具在信息搜集的过程中常最作为入侵测试的一部份被借助。

对这些想要从共享数据中擦除一切个人元数据的用户来说,有一些方式从数据文件中移除元数据。你可以使用已有的文档或图片编辑软件,一般有自带的元数据编辑功能。在这个教程里,我会介绍一种不错的、单独的元数据清除工具,其目标只有一个:匿名一切私有元数据。

MAT(元数据匿名工具箱)是一款专业的元数据清除器,使用Python编撰。它属于Tor旗下的项目,并且是Live版的隐私提高操作系统Trails的标配应用。

与例如exiftool等只能对有限种类的文件类型进行写入的工具相比,MAT支持从各类各样的文件中去除元数据:图片(png、jpg)、文档(odt、docx、pptx、xlsx和pdf)、归档文件(tar、tar.bz2)和音频(mp3、ogg、flac)等。

linux 给用户分配权限_linux 为用户分配权限_linux给用户分配权限

在Linux上安装MAT

在基于Debian的系统(Ubuntu或LinuxMint)上,早已打包好MAT,所以安装很直接:

$sudoapt-getinstallmat

在Fedora上,并没有预先生成的MAT软件包,所以你须要从源码生成。这是我在Fedora上生成MAT的步骤(不成功的话,请查看教程顶部):

$sudoyuminstallpython-develintltoolpython-pdfrwperl-Image-ExifToolpython-mutagen$sudopipinstallhachoir-corehachoir-parser$wget$tarxfmat-0.5.tar.xz$cdmat-0.5$pythonsetup.pyinstall

使用MAT-GUI匿名元数据

一旦安装好,通过GUI和命令行都可以使用MAT。输入这个命令启动MAT的GUI:

$mat-gui

尝试清除一个包含如下外置元数据的实例文档文件(如private.odt)。

点击“添加”按钮来添加须要清除的文件到MAT中。一旦载入文件,点击“确认”按钮对所有隐藏的元数据信息进行扫描。

Linux下清除文件中的隐私数据以保护个人隐私3

只要元数据被MAT测量到,“State”状态才会被标记成“Dirty”。双击文件可以查看检查到的元数据。

Linux下清除文件中的隐私数据以保护个人隐私4

点击“清理”按钮来消除文件中的元数据。MAT会手动清空文件中的所有私有元数据数组。

Linux下清除文件中的隐私数据以保护个人隐私5

去除后的状态中不包含任何私有可识别的痕迹:

Linux下清除文件中的隐私数据以保护个人隐私6

从命令行匿名元数据

$mat-c。

正如上面提及的,另一种调用MAT的形式是从命令行,使用mat命令可达到。

为了检测任何敏感的元数据,先抵达文件所在的目录,之后运行:

$mat-c。

这样会扫描当前目录和其子目录下的所有文件,并报告它们的状态(已清除或未清除)。

Linux下清除文件中的隐私数据以保护个人隐私7

你可以使用“-d”选项来查看检查到的真实元数据:

$mat-d《input_file》

Linux下清除文件中的隐私数据以保护个人隐私8

倘若不为mat命令提供任何选项,默认操作会移除文件的元数据。假如要在清除的过程中保留原始文件的备份,使用“-b”选项。下边命令会消除所有文件的元数据linux 给用户分配权限,并将原始文件储存为“*.bak”文件。

$mat-b。

查看所支持的文件类型,请运行:

$mat-l

Linux下清除文件中的隐私数据以保护个人隐私10

故障排除

当前我在Fedora上使用编译版本的MAT遇见了下述问题。当我尝试在Fedora消除归档/文档文件的元数据时(如.gz、.odt、*.docx),MAT由于下述错误失败。

File“/usr/lib64/python2.7/zipfile.py”,line305,in__init__raiseValueError(‘ZIPdoesnotsupporttimestampsbefore1980’)ValueError:ZIPdoesnotsupporttimestampsbefore1980

总结

MAT是一款简单但十分好用的工具,拿来防治从元数据中无意外泄私人数据。请注意假如有必要,文件内容也须要保护。MAT能做的是清除与文件相关的元数据,但并不会对文件本身进行任何操作。简而言之,MAT是一名救生员,由于它可以处理大多数常见的元数据移除,但不应当只指望它来保证你的隐私。

里面就是消除文件中的隐私数据的介绍了,不仅须要定期清理外,还要有良好的保护隐私的系统,只有养成保护隐私的习惯,才不会外泄私人数据。

【Linux下消除文件中的隐私数据以保护个人隐私】相关文章:

★Linux下的Grep命令使用方式详尽介绍

★linux下设定环境变量的方式介绍

★Linux下批量更改文件编码

★linux下输入长文件名小方法

★Linux中文件查找方式大全

★Linux系统中强悍的文本操作命令tr的使用讲解

★Linux:文件命令精通手册

★Linux下借助Lsof恢复删掉文件的方式

★Linux系统中的mount挂载c盘命令使用教程

★Linux下消除系统日志的方式

经EdwinChen的推荐,认识了scikit-learn这个特别强悍的python机器学习工具包。这个贴子作为笔记。(虽然都没有笔记的意义,由于他家文档做的太好了,不过还是为自己记记吧,为之后节约若干分钟)。假如有幸此文被想用scikit-learn的你听见,也还是十分希望你去它们的主页看文档。主页中最值得关注的几个部份:UserGuide几乎是machinelearning的索引,各类方式怎样使用都有,Reference是各个类的用法索引。

S1.导出数据

大多数数据的格式都是M个N维向量,分为训练集和测试集。所以,晓得怎样导出向量(矩阵)数据是最为关键的一点。这儿要用到numpy来协助。假定数据格式是:

Stockpricesindicator1indicator2

2.01231252

1.0....

....

.

导出代码参考:

importnumpyasnp

f=open("filename.txt")

f.readline()#skiptheheader

data=np.loadtxt(f)

X=data[:,1:]#selectcolumns1throughend

y=data[:,0]#selectcolumn0,thestockprice

libsvm格式的数据导出:

>>>fromsklearn.datasetsimportload_svmlight_file

>>>X_train,y_train=load_svmlight_file("/path/to/train_dataset.txt")

...

>>>X_train.todense()#将稀疏矩阵转化为完整特点矩阵

linux 给用户分配权限_linux给用户分配权限_linux 为用户分配权限

更多格式数据导出与生成参考:

S2.SupervisedClassification几种常用方式:

LogisticRegression

>>>fromsklearn.linear_modelimportLogisticRegression

>>>clf2=LogisticRegression().fit(X,y)

>>>clf2

LogisticRegression(C=1.0,intercept_scaling=1,dual=False,fit_intercept=True,

penalty='l2',tol=0.0001)

>>>clf2.predict_proba(X_new)

array([[9.07512928e-01,9.24770379e-02,1.00343962e-05]])

LinearSVM(Linearkernel)

>>>fromsklearn.svmimportLinearSVC

>>>clf=LinearSVC()

>>>clf.fit(X,Y)

>>>X_new=[[5.0,3.6,1.3,0.25]]

>>>clf.predict(X_new)#reuslt[0]ifclasslabel

array([0],dtype=int32)

SVM(RBForotherkernel)

>>>fromsklearnimportsvm

>>>clf=svm.SVC()

>>>clf.fit(X,Y)

SVC(C=1.0,cache_size=200,class_weight=None,coef0=0.0,degree=3,

gamma=0.0,kernel='rbf',probability=False,shrinking=True,tol=0.001,

verbose=False)

>>>clf.predict([[2.,2.]])

array([1.])

NaiveBayes(Gaussianlikelihood)

fromsklearn.naive_bayesimportGaussianNB

>>>fromsklearnimportdatasets

>>>gnb=GaussianNB()

>>>gnb=gnb.fit(x,y)

>>>gnb.predict(xx)#result[0]isthemostlikelyclasslabel

DecisionTree(classificationnotregression)

>>>fromsklearnimporttree

>>>clf=tree.DecisionTreeClassifier()

>>>clf=clf.fit(X,Y)

>>>clf.predict([[2.,2.]])

array([1.])

Ensemble(RandomForests,classificationnotregression)

>>>fromsklearn.ensembleimportRandomForestClassifier

>>>clf=RandomForestClassifier(n_estimators=10)

>>>clf=clf.fit(X,Y)

>>>clf.predict(X_test)

S3.ModelSelection(Cross-validation)

手工分trainingdata和testingdata其实可以了,而且更便捷的方式是手动进行linux下socket编程,scikit-learn也有相关的功能,这儿记录下cross-validation的代码:

>>>fromsklearnimportcross_validation

>>>fromsklearnimportsvm

>>>clf=svm.SVC(kernel='linear',C=1)

>>>scores=cross_validation.cross_val_score(clf,iris.data,iris.target,cv=5)#5-foldcv

#changemetrics

>>>fromsklearnimportmetrics

>>>cross_validation.cross_val_score(clf,iris.data,iris.target,cv=5,score_func=metrics.f1_score)

#f1score:

moreaboutcross-validation:

Note:ifusingLR,clf=LogisticRegression().

S4.SignPredictionExperiment

数据集,EPINIONS,有user与user之间的trust与distrust关系linux 给用户分配权限,以及interaction(对用户评论的有用程度打分)。

Features:网路拓扑feature参考"Predictpositiveandnegativelinksinonlinesocialnetwork",用户交互信息feature。

一共设了3类instances,每类3次训练+测试,训练数据是测试数据的10倍,~80,000个29/5/34维向量,得出下边一些推论。时间上,GNB最快(所有instance都是2~3秒跑完),DT特别快(有一类instance只用了一秒,其他都要4秒),LR很快(三类instance的时间分别是2秒,5秒,~30秒),RF也不慢(一个instance9秒,其他26秒),linearkernel的SVM要比LR慢好几倍(所有instance要跑30多秒),RBFkernel的SVM比linearSVM要慢20+倍到上百倍(第一个instance要11分钟,第二个instance跑了近两个小时)。确切度上RF>LR>DT>GNB>SVM(RBFkernel)>SVM(Linearkernel)。GNB和SVM(linearkernel)、SVM(rbfkernel)在第二类instance上差的比较远(10~20个百分点),LR、DT都差不多,RF确实彰显了ENSEMBLE方式的强悍,比LR有较为明显的提高(近2~4个百分点)。(注:因为到该文递交为止,RBF版的SVM才跑完一次测试中的两个instance,里面结果仅基于此。另外,我还尝试了SGD等方式,总体上都不是非常理想,就不记了)。在feature的有效性里面,用户交互feature比网路拓扑feature愈发有效百分五到百分十。

S5.通用测试源代码

这儿是我写的用包括上述算法在内的多种算法的手动分类并10foldcross-validation的python代码,只要输入文件保持本文开头所述的格式(且不包含注释信息),即可用多种不同算法测试分类疗效。Download.

【scikit-learn使用笔记与signprediction简单小结】相关文章:

★服务器不支持mysql数据库

★linux学习笔记之linux文件管理

★完美解决Linux操作系统下aes揭秘失败的问题

★linux下vi编辑器命令大全

★使用sendmail配置企业简易电邮系统

★vsftpd怎样配置虚拟用户:PAM+PgSQL+FreeBSD-4

★Linux操作系统主机名(hostname)简介

★linux下使用ssh管理VPS的注意事项小结

★opensuse下怎样解决jfreechart英文乱码的问题

★linuxc盘配额简单介绍

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: acl linux服务器 linux系统 元数据 访问控制列表
最后更新:2023年6月24日

Linux系统网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux系统网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
五款优秀的Linux服务器操作系统(CGSL) Linuxdevicedriver的概念系统调用是怎么样的呢? Windows和linux服务器的区别,你知道几个? gdb调试运行中的Python进程步骤 修改ssh默认端口号的方法及注意事项!服务器 企业应用程序的未来提供动力?——Linux服务器 Coredump:程序异常原因解析 Linux和Windows操作系统在服务器中的优势有哪些 设置开机自启动的方法和操作环境 Linux内核版本查看命令大全命令排查方法 Linux中可以使用xxd命令来查看二进制文件的内容和结构 mysql默认密码策略无法修改简单的密码必须要做 Linux开机自启动的常用方法来设置Linux系统启动命令 VisualStudio调试器的转储文件是怎样的?| 串口驱动框架分析之u-boot串口接收缓冲中的示例 常用命令/文件处理、基础功能介绍 不同操作系统发行的软件包可否混用? Linux系统如何添加开机启动自动启动的方式有很多种 ftp命令是标准的文件传输协议的用户接口,ftp Ubuntu16.04下完美切换Python版本(亲测)
CentOS上离线搭建SVN服务器的操作字符设备架构的大概原理、常用的数据结构和函数安装系统设计不合理,十招不需要顺序执行!5个最稳定的Linux发行版,你值得拥有!Linux内核体系体系结构简析图(上报)|维护者名单linux增加/根目录的磁盘空间(基于LVM)问题引出makemenuconfig和makeconfig内核的配置方式linux sdio wifi 驱动 STM3232ff1010概览为例对标准库开发进行LinuxCrontab日志的几种方式查看日志管理工具的作用构建定制化的Linux-3.5内核构建步骤及使用方法!单片机开发转入嵌入式开发的工程师是怎么做的MySQL数据库如何在Linux系统上面进行自动备份创建备份目录Linux内核裁剪——无模块支持(title-引导条)如何通过rar官方源码包正确安装unrar包编译安装解压命令2023年第一个符合OpenGLES3.1标准的GPU驱动程序(IPO)管理用户(user)的工具或命令;Linux基础知识:一个文件复制到当前文件夹如果系统没有自动检测到你的打印机,这篇文章教你关于Linux管理员权限命令的一些常见问题及解决办法Linuxlinux中文乱码的原因分析和解决方法中文字符
如何搭建一个Linux云服务器?介绍如何从零开始,以最简单的方式搭建 给电脑装上杀毒软件,我来告诉你!! 设备驱动程序的编写流程设备初始化 学习的基础底层逻辑基础步骤开发内核驱动需要以下4个步骤 5种在Linux上运行Android应用和游戏的应用方法 搜狗输入法forLinux更新至2.3.2版本 定时器推动整个计算机硬件的发展的核心关键性技术 默认的网站路径/root用户root组的修改方法分析 Linux下创建用户的创建服务服务 Linux软件安装:详解步骤与技巧! 登录Linux弹性云服务器(非FPGA加速型) linux系统是装在固态还是机械上?推荐将linuxdebian硬盘安装? Linux的NIC硬件安装了哪个网络适配器驱动程序? Apache学习(五):安装与配置的Linux版本 Linux下怎么删除文件夹?怎么恢复? 故渊发布补丁集减少编译Linux内核时的最大内存使用量 嵌入式工程师的职业方向学习,你会有所收获 《linux/unix系统编程手册(上、下册)》 (Linux基础知识)Linux操作系统的实验内容和运行环境 如何定制一张Linux发行版光盘,以及如何在一个完整
标签聚合
linux服务器 应用 软件 命令 目录 操作 linux系统 文件目录 内核 文件
书籍
课程
技术群
技术干货大合集↓
  • 2023年11月 / 88篇
  • 2023年10月 / 94篇
  • 2023年9月 / 90篇
  • 2023年8月 / 92篇
  • 2023年7月 / 96篇
  • 2023年6月 / 91篇
  • 2023年5月 / 93篇
  • 2023年4月 / 91篇
  • 2023年3月 / 69篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源 | Linux系统

COPYRIGHT © 2024 LinuxZone.net ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang