遇到这样的一个怪问题在普通用户登录的时候报如下错误:
-bash: /dev/null: Permission denied
-bash: /dev/null: 权限不够
[work@xmpan ~]$
但是可以登录但是执行命令的时候有如下情况:
[work@xmpan ~]$ ll
-bash: ll: command not found

[work@xmpan ~]$ ls -l
总计 251952
drwxr-xr-x 3 work work      4096 08-14 14:34 Desktop
-rw------- 1 work work       796 06-14 11:53 grub.conf
-rw-r--r-- 1 root root        25 06-01 12:28 key
          .
          .
          .
[work@xmpan ~]$ l.
-bash: l.: command not found
    
[work@xmpan ~]$ vi test.txt
[work@xmpan ~]$ rm test.txt
[work@xmpan ~]$

然后在其他终端上root登录
# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
想到了和tty什么关系呢?然后看了一下dev的权限,原来普通用户是没有可执行权限的。
[root@xmpan /]# ll
总计 2268
drwxr-xr-x   2 root root    4096 06-28 14:46 applications-merged
drwxr-xr-x   2 root root    4096 06-19 14:31 bin
drwxr-xr-x   4 root root    4096 08-06 10:26 boot
drwxr--r--  12 root root    3860 08-14 13:36 dev
drwxr-xr-x  79 root root    4096 08-14 14:22 etc

通过chmod 755 /dev

然后在在重新登录即可使用ll这些命令

问题应是:普通用户对/dev/是没有可执行权限的时候他不会获得tty然后就没有可执行使用权限。