PHP: get_current_user() vs. exec('whoami')

后端 未结 1 2004
野趣味
野趣味 2020-12-15 22:01

Short version of the question:

What\'s the difference between get_current_user(); and exec(\'whoami\'); ?

<
相关标签:
1条回答
  • 2020-12-15 22:10
    1. get_current_user() (should) return the owner of the file, which is firstnamelastname in this case. There have been reported issues that this function is inconsistent between platforms however. As such, I would not trust its output. daemon is the user Apache is running as.
    2. The owner of the PHP script is the user who owns the file itself according to the operating system. You can run ls -la in the directory your scripts are in to find the user and group the file belongs to.
    3. Whichever user you're editing your scripts with needs to be able to write it, so most likely, firstnamelastname (+rw).
    4. For the folder itself, you should have +rx (execute and read) for daemon and for the PHP file, +r (read). On my installation of XAMMP, they've done this by setting everything in htdocs as public readable, thus daemon can read it, but not write to it.
    5. Mac has a root account that typically owns the htdocs or www directory. It fills the role of a traditional unix root user.

    Here is some information on the file owners/groups and the process owner:

    host:~$ ls -l /Applications/XAMPP/xamppfiles/htdocs
    drwxr-xr-x 3 root admin  4096 2015-01-01 00:01 .
    drwxr-xr-x 3 root admin  4096 2015-01-01 00:01 ..
    -rw-r--r-- 1 firstnamelastname admin   189 2015-01-31 20:45 index.php
    
    host:~$ ps aux | grep httpd | head -n1    
    daemon          45204   0.0  0.1  2510176  10328   ??  S    Tue11AM   0:01.38 /Applications/XAMPP/xamppfiles/bin/httpd -k start -E /Applications/XAMPP/xamppfiles/logs/error_log -DSSL -DPHP
    

    If you wanted to make a file writeable by the daemon user, you can create a new folder and name it as the owner with the group admin (so you can use it too), and give it +rwx for the user and group, with +rx for public:

    host:~$ cd /Applications/XAMPP/xamppfiles/htdocs
    host:htdocs$ mkdir some_dir
    host:htdocs$ chmod 775 some_dir
    
    0 讨论(0)
提交回复
热议问题