后台服务结果下面的代码段运行过程中的异常
try {
String fileName = "/var/log/syslog";
File myFile = new File(fileName);
FileInputStream myStream = null;
System.out.println("canRead() returns " + myFile.canRead());
System.out.println("canWrite() returns " + myFile.canWrite());
myStream = new FileInputStream(myFile);
myStream.close();
}
catch (FileNotFoundException e)
{
System.out.println("FileNotFoundException: " + e);
}
catch (IOException e)
{
System.out.println("IOException: " + e);
}
抛出
java.io.FileNotFoundException: /var/log/syslog (Permission denied)
前台任务
exec bin/server.sh
文件存在:
[email protected]:~$ ls -l /var/log/syslog
-rw-r----- 1 syslog adm 616642 Sep 6 15:59 /var/log/syslog
的尼汝用户标识有权读取该文件:
[email protected]:~$ id -a niru
uid=2001(niru) gid=2001(niru) groups=2001(niru),4(adm),27(sudo)
[email protected]:~$ head -3 /var/log/syslog
Aug 1 15:47:57 node kernel: imklog 5.8.6, log source = /proc/kmsg started.
Aug 1 15:47:57 node rsyslogd: [origin software="rsyslogd" swVersion="5.8.6" x-pid="535" x-info="http://www.rsyslog.com"] start
Aug 1 15:47:57 node rsyslogd: rsyslogd's groupid changed to 103
任何人都可以让我知道什么是这样做的原因?
但是,当我做了这个过程的ps,我看到用户为niru。那么原因是什么?用户niru拥有sudo权限。 –