0

我在 linux box 上选择一些路径进行安装。例如 /var/test/installer 如何检查该路径是否有读、写和执行权限?

我确实尝试过“查找命令”,但没有取得很大成功。

伙计们,做“ls -l”对我没有帮助。这是一个真正的问题......我的 /var 分区没有执行权限。我可以通过使用“mount”命令来看到,即 > mount /dev/sda1 on /var type ext3 (rw,noexec,nosuid,nodev,noatime)

但 ls -l 用于 /var 下的任何文件夹,即。/var/test/install 显示读取、写入和执行权限。

所以我看到了用 grep 安装命令来检查 noexec 的唯一方法。

你的意见。

提前致谢。

================================================

我最终所理解的是我必须检查两个级别的权限

  1. 挂载点的权限

    使用“mount”命令或检查 /etc/fstab 文件

  2. 单个文件夹的权限

    使用“ls -l”命令

这解决了我的问题。

4

4 回答 4

6

看看test命令

从手册页

       -c FILE
          FILE exists and is character special

       -d FILE
          FILE exists and is a directory

       -e FILE
          FILE exists

       -f FILE
          FILE exists and is a regular file

       -g FILE
          FILE exists and is set-group-ID

       -G FILE
          FILE exists and is owned by the effective group ID

       -h FILE
          FILE exists and is a symbolic link (same as -L)

       -k FILE
          FILE exists and has its sticky bit set

       -L FILE
          FILE exists and is a symbolic link (same as -h)

       -O FILE
          FILE exists and is owned by the effective user ID

       -p FILE
          FILE exists and is a named pipe

       -r FILE
          FILE exists and read permission is granted

       -s FILE
          FILE exists and has a size greater than zero

       -S FILE
          FILE exists and is a socket

       -t FD  file descriptor FD is opened on a terminal

       -u FILE
          FILE exists and its set-user-ID bit is set

       -w FILE
          FILE exists and write permission is granted

       -x FILE
          FILE exists and execute (or search) permission is granted

一个好的手册页

于 2013-02-19T08:05:17.987 回答
1
ls -la /path/

Sample Output:
-rw-r--r-- 1 eclipse adm 14112 Feb 18 08:49 st433.dat
-rw-r--r-- 1 eclipse adm 24700 Feb 18 08:49 st433.lst
-rw-r--r-- 1 eclipse adm 14112 Feb 18 08:49 st434.dat
-rw-r--r-- 1 eclipse adm 24624 Feb 18 08:49 st434.lst

解释权限位:
-rw-r--r--
0123456789

可以看到文件列表属于用户eclipse和组adm

第一位 0 是一种特殊情况,普通文件为空白,目录等为空白,与权限无关。

位 123 定义所有者权限(在本例中为 eclipse 用户)。rw- 表示用户 eclipse 可以读取或写入这些文件。

位 456 是组权限,因此在这种情况下 (r--) 属于组 adm 的任何其他人都可以读取但不能修改上述文件。

位 789 是“其他人”的权限,因此其他用户也可以读取该文件,但不可写入。

rwx rwx rwx
USER GROUP OTHERS
读/写/执行权限

于 2013-02-19T09:06:08.010 回答
1

如果该test命令不是您的事,也许stat(1)可以帮助您:

[joe@hal ~]$ stat --format='%A' /etc/passwd # access rights in human readable form
-rw-r--r--
[joe@hal ~]$ stat --format='%a' /etc/passwd # access rights in octal
644
[joe@hal ~]$ stat --format='%f' /etc/passwd # raw mode in hex
81a4

十六进制的 81a4 是八进制的 100644。

手册页说明了chmod(1)如何解释文件模式:

字母 rwxXst 为受影响的用户选择文件模式位:读(r)、写(w)、执行(或搜索目录)(x)、仅当文件是目录或已经对某些文件具有执行权限时才执行/搜索用户 (X),在执行时设置用户或组 ID (s),限制删除标志或粘性位 (t)。除了这些字母中的一个或多个,您可以精确地指定一个字母 ugo:授予拥有文件的用户 (u) 的权限,授予作为文件组成员的其他用户的权限 (g),以及授予不属于上述两个类别的用户的权限 (o)。

数字模式是从一​​到四个八进制数字 (0-7),通过将具有值 4、2 和 1 的位相加得出。省略的数字假定为前导零。第一个数字选择设置用户 ID (4) 和设置组 ID (2) 以及限制删除或粘性 (1) 属性。第二个数字选择拥有该文件的用户的权限:读取 (4)、写入 (2) 和执行 (1);第三个选择文件组中其他用户的权限,具有相同的值;第四个用于不在文件组中的其他用户,具有相同的值。

于 2013-02-19T08:31:47.853 回答
1

试试 ls -l [file_name] 看这里

于 2013-02-19T08:01:41.440 回答