umask

特殊权限语法

旧街凉风 提交于 2019-12-20 00:02:33
基本权限UGO u 所属主 g 所属组 o 其他人 r (4)读 read w(2)写 write x(1)执行 execute 针对文件: ​ r 读 是否允许可以查看文件的内容 ​ w 写 能够修改或删除文件的内容 ​ x 执行 是否可以执行该文件 一个用户是否能够删除一个文件,判断依据是该用户对该文件所在的目录是否有写的权限 针对目录: ​ r 读 是否允许可以查看目录里的列表 ​ w 写 是否能够删除,重命名目录下的文件和修改目录下文件的属性等 ​ x执行 是否可以进入到该目录 正常操作一个目录,至少应该保证r-x ​ 修改权限 chmod ,修改文件的权限 -R (递归修改)把目录以及目录里的所有子对象都更改 语法: 单独修改一个位置的权限 chmod u-x filename ----将用户的访问或执行权限减去 chmod [u|g|o|a]+-=rwx filename [root@anuo ~]# chmod g=rwx /shared/sysadmin [root@anuo ~]# chmod o=--- /share/sysadmin 修改文件权限语法 chmod [-R] <a|u|g|o> +-= rwx- /<path>/filename chmod [-R] 755 /<path>/filename [root@anuo ~]# chmod 750

特殊权限 - SUID GUID STICKYBIT

試著忘記壹切 提交于 2019-12-20 00:02:21
◆  SUID ( Set User ID ) Linux里,用户的ID被称作UID。在实际生产中,可能需要临时借用别的用户执行程序,因此需要能够临时变更自己UID的机能叫做SUID。借助SUID权限,用户可以临时调用root权限。 ※ 通常,文件的执行是由所属者发起,然而,赋予SUID权限后可临时继承所有者的权限(来执行文件)。通常用于二进制可执行文件上,文件夹赋予该权限无意义。 举个例子,假如我们要变更密码、需要编辑/etc/shadow文件,然而这个文件一般用户并没有修改权限。但由于更改密码的命令 passwd拥有SUID权限、一般用户就可以通过该命令来(继承root的权限进而)更改密码。同时我们也可以看到在ll命令下,拥有SUID权限的文件,执行权限的位置会由x变为s。 $ ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 25980 Sat 07 2018 /usr/bin/passwd 从上面的命令中可以看到,所有者的权限显示为rws,其中,执行权变成了s。也就是说,有执行该命令权限的而用户可以临时继承所有者(root)的权限。 需要通过chmod来赋予(二进制可执行)文件SUID时,可通过添加数字“4000”来赋予权限。比如,原来的权限为755(rwx r-x r-x),赋予SUID权限后变成4755,即(rws r-x r

Linux 权限管理

匆匆过客 提交于 2019-12-18 16:12:54
Linux下一切都被抽象成了file,哪些进程可以访问哪些file,不可以访问哪些file,就是权限管理。 每个file都有权限属性,可以用 ls -l 查看file的权限属性。 3对rwx分别代表,用户,组,其他人的rwx。 $ ls -l drwxrwxr-x. 2 ys ys 28 Nov 29 17:47 a file通过自己的权限属性来保护自己,让符合自己权限属性的进程访问,让不符合自己权限属性的进程不能够访问。 权限属性是由权限位构成的,权限位(drwxrwxr-x等)说明表: 文件类型位 用户的读权限位 用户的写权限位 用户的可执行权限位 主组的读权限位 主组的写权限位 主组的可执行权限位 其他用户的读权限位 其他用户的写权限位 其他用户的可执行权限位 user group d r w x r w x r - x ys ys 3组rwxrwxrwx叫mode,使用 chmod 修改mode。 user,group叫ownership, 文件: r:可以获取file的元数据和数据内容 w:可以修改file的元数据和数据内容 x:可以运行此文件 目录: r:可以用 ls 命令获取目录里的内容列表,但不能使用 ls -l 获取目录里的详细内容列表。 w:可以在目录里,创建,删除文件。 x:可以cd到此目录,如果也有读权限,则可以使用 ls -l 获取目录里的详细内容列表。

HBase 源码-Invalid directory in dfs.data.dir: Incorrect permission

▼魔方 西西 提交于 2019-12-17 15:59:41
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 根据前文《 HBase 源码-Start Server 》 启好 Server 后, 茫然了, 不知接下来该做什么, 随便 run 几个 TestCase 吧. 结果没 run 几个就报出以下错误, 而且这个引发这个错误的 TestCase 还很多. 2013-12-04 10:45:57,823 WARN [main] datanode.DataNode(1707): Invalid directory in dfs.data.dir: Incorrect permission for /home/zf/src/EclipseWorkspace/hbase/hbase-server/target/test-data/06b243a4-b3d6-48a5-803a-a187b5b0efcf/dfscluster_cd8fe91f-a244-48f5-a411-f6108a0e8aba/dfs/data/data1, expected: rwxr-xr-x, while actual: rwxrwxr-x 2013-12-04 10:45:57,829 WARN [main] datanode.DataNode(1707): Invalid directory in dfs.data.dir: Incorrect

Setting default permissions for newly created files and sub-directories under a directory in Linux?

落花浮王杯 提交于 2019-12-17 14:59:53
问题 I have a bunch of long-running scripts and applications that are storing output results in a directory shared amongst a few users. I would like a way to make sure that every file and directory created under this shared directory automatically had u=rwxg=rwxo=r permissions. I know that I could use umask 006 at the head off my various scripts, but I don't like that approach as many users write their own scripts and may forget to set the umask themselves. I really just want the filesystem to set

How to set system wide umask?

£可爱£侵袭症+ 提交于 2019-12-17 08:09:20
问题 I am working in a lab where we are running Linux (Debian and Ubuntu). Usernames and group names are handled by NIS and yp. We have some common users that everybody has access to that run the experiments and then we each have our own users in addition there is a common group that we are all a member of. How can I make such that all files and directories on the shared /home/ drive (NFS) is read/write(/executable) by user/group? Basically what I want is chmod -R 664 /home chgrp -R commongroup

keywords : stat access chmod chown chgrp bit mask umask

十年热恋 提交于 2019-12-15 04:34:36
stat 可以是一个函数进行使用,也是一个linux内核中的一个api man 2 stat里面就展示了它的描述 These functions return information about a file, in the buffer pointed to by statbuf. stat 就是用来 返回文件的各种信息的 在terminal里面直接stat + 文件的话就显示了文件的各种信息,会看到有access, 接着说access,access的话也有几个mode位,F_OK、R_OK、W_OK、X_OK,返回值0是可以,-1是不行。 然后基本的话可以自己通过man手册看这些api的原型然后在程序里面自己实现一次,大概就懂了。 chmod 就是用来改这个文件的权限的,分属主 组 其他这三个 学习的时候主要是没看懂chmod里面的bit mask 后来慢慢的懂了,竖着来看分三组,4转换成2进制就是100、2的话就是010、1的话就是1,这不就是对应了之前将的mode未到rwx对应421咩,这样看就懂了。 chown是改变文件的属主权限的,比如之前在czp这个属主的,现在可以chown root 1.txt 这样 至于chgrp也是一样的理解 最后讲了一下umask 在terminal里面直接umask可以查看当前的umask是多少,当然也可以umask 0044这样去设置

Linux系统中JAVA创建文件后权限不足的问题,无法设置权限的问题

為{幸葍}努か 提交于 2019-12-15 04:02:49
最近在Linux系统中通过tomcat部署项目后,由于程序有上传文件功能。而上传后的却无法查看文件(通过createNewFile创建)。后来发现文件的权限为-rw-r-----,而文件的拥有者是root,这样就只有拥有者有root用户组的拥有读取权限。 通过研究发现,Linux通过umask变量来控制创建文件的默认权限问题。我们知道在Linux系统规定,创建文件的最高权限为666,而创建文件夹的最高权限为777,系统通过变量umask来控制创建文件的权限问题。如果当umask的值为022时,则创建的文件权限为644,即权限是通过最高权限减去umask的值来控制的。 但Linux系统umask的默认值是0022,也就是说创建的文件应该是644的权限,而上传的文件却是640的权限。后来通过对查询Tomcat发现从tomcat8开始,catalina.sh文件中有下面几行代码 # Set UMASK unless it has been overridden if [ - z "$UMASK" ] ; then UMASK = "0027" fi umask $UMASK 也就是说tomcat8将umask的值进行了修改,也就造成了上传文件权限的问题(这个问题从tomcat8才有,tomcat8以下版本是没有这个问题)。 因此将代码修改为 # Set UMASK unless it

How do I set directory permissions in maven output?

若如初见. 提交于 2019-12-14 03:43:05
问题 I am using the maven-assembly-plugin to package my build. I am able to perform some copying of file sets and modify file permissions fine, but I am unable to modify directory permissions. From the documentation, I am trying to use on the directories I care about. However, regardless of what permissions I specify, directories are ALWAYS created based off of the current umask (0022). Does anyone know of a clean way to modify directory permissions in this way during a Maven build. The only thing

How to set umask in UNIX in a way that default file permission is rwx (777)?

社会主义新天地 提交于 2019-12-13 07:29:54
问题 I am a bit new to UNIX and I'm trying to cover every aspect of a group of basic commands, including umask . I have done a lot of research on the internet but haven't found a proper answer so far, I know that files are created by default with a 666 (rw-,rw-,rw-) permission and I know that in order to get the real permissions applied you need to take into consideration the umask . I would like to know if it's possible to set umask in a way that files are created with a 777 (rwx,rwx,rwx)