Operating Systems 2017F: Assignment 4: Difference between revisions
No edit summary |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
These questions refer to the code from [[Operating Systems 2017F: Tutorial 7|Tutorial 7]] and [[Operating Systems 2017F: Tutorial 8|Tutorial 8]]. | |||
==Full Questions== | ==Full Questions== | ||
Line 20: | Line 22: | ||
<ol style="list-style-type:lower-alpha"> | <ol style="list-style-type:lower-alpha"> | ||
<li> /etc/passwd | <li> /etc/passwd | ||
<li> ~/.ssh/authorized_keys | <li> '''~/.ssh/authorized_keys''' | ||
<li> ~/.ssh/known_hosts | <li> ~/.ssh/known_hosts | ||
<li> ~/.ssh/id_rsa.pub | <li> ~/.ssh/id_rsa.pub | ||
Line 31: | Line 33: | ||
<li> ~/.ssh/known_hosts | <li> ~/.ssh/known_hosts | ||
<li> ~/.ssh/id_rsa.pub | <li> ~/.ssh/id_rsa.pub | ||
<li> ~/.ssh/id_rsa | <li> '''~/.ssh/id_rsa''' | ||
</ol> | </ol> | ||
<li> How do sshfs inode values relate to the inodes in the remotely mounted filesystem? | <li> How do sshfs inode values relate to the inodes in the remotely mounted filesystem? | ||
<ol style="list-style-type:lower-alpha"> | <ol style="list-style-type:lower-alpha"> | ||
<li> The sshfs inode values are identical to those on the remote filesystem. | <li> The sshfs inode values are identical to those on the remote filesystem. | ||
<li> The sshfs inode values have no relationship to the remote filesystem inode values. | <li> '''The sshfs inode values have no relationship to the remote filesystem inode values.''' | ||
<li> The sshfs inode values are the remote inode numbers plus a fixed offset. | <li> The sshfs inode values are the remote inode numbers plus a fixed offset. | ||
<li> The sshfs inode values are sometimes the same as the remote inode values, and sometimes they are different. | <li> The sshfs inode values are sometimes the same as the remote inode values, and sometimes they are different. | ||
Line 44: | Line 46: | ||
<li>Line 14, <tt>self.ino += 1</tt> | <li>Line 14, <tt>self.ino += 1</tt> | ||
<li>Line 18, <tt>self.ino = 1</tt> | <li>Line 18, <tt>self.ino = 1</tt> | ||
<li>Both Line 14 and 18 | <li>'''Both Line 14 and 18''' | ||
<li>None of the above | <li>None of the above | ||
</ol> | </ol> | ||
<li> In sshfs, do a file's uid and gid values come from the remote server or from the mounting user's uid and gid? | <li> In sshfs, do a file's uid and gid values come from the remote server or from the mounting user's uid and gid? | ||
<ol style="list-style-type:lower-alpha"> | <ol style="list-style-type:lower-alpha"> | ||
<li>From the remote server. | <li>'''From the remote server.''' | ||
<li>From the mounting user's uid and gid. | <li>From the mounting user's uid and gid. | ||
</ol> | </ol> | ||
Line 57: | Line 59: | ||
<li>Process's gid matches the file's gid. | <li>Process's gid matches the file's gid. | ||
<li>The process's uid and gid match the file's uid and gid. | <li>The process's uid and gid match the file's uid and gid. | ||
<li>None of the above. | <li>'''None of the above.''' | ||
</ol> | </ol> | ||
<li> In sshfs, what determines whether a file operation is allowed or not? | <li> In sshfs, what determines whether a file operation is allowed or not? | ||
<ol style="list-style-type:lower-alpha"> | <ol style="list-style-type:lower-alpha"> | ||
<li>the remote ssh daemon | <li>the remote ssh daemon | ||
<li>the remote kernel | <li>'''the remote kernel''' | ||
<li>the local kernel | <li>the local kernel | ||
<li>the local ssh process | <li>the local ssh process | ||
Line 70: | Line 72: | ||
<li>euid is equal to the uid of the calling user (process that did the execve of fusermount) | <li>euid is equal to the uid of the calling user (process that did the execve of fusermount) | ||
<li>euid is the uid of fuse | <li>euid is the uid of fuse | ||
<li>euid=0 (root) | <li>'''euid=0 (root)''' | ||
<li>None of the above | <li>None of the above | ||
</ol> | </ol> | ||
<li> What environment variable allows ssh to connect to the local authentication agent? | <li> What environment variable allows ssh to connect to the local authentication agent? | ||
<ol style="list-style-type:lower-alpha"> | <ol style="list-style-type:lower-alpha"> | ||
<li>SSH_AUTH_SOCK | <li>'''SSH_AUTH_SOCK''' | ||
<li>TERM | <li>TERM | ||
<li>SSH_AGENT_LAUNCHER | <li>SSH_AGENT_LAUNCHER | ||
Line 84: | Line 86: | ||
<li>Other regular users on the system could use the private key to impersonate the owner. | <li>Other regular users on the system could use the private key to impersonate the owner. | ||
<li>ssh and ssh-add will refuse to use the key. | <li>ssh and ssh-add will refuse to use the key. | ||
<li>Both (a) and (b) | <li>'''Both (a) and (b)''' | ||
<li>None of the above | <li>None of the above | ||
</ol> | </ol> | ||
<li> What option to you give to dd to control how many bytes dd writes with each write system call? | <li> What option to you give to dd to control how many bytes dd writes with each write system call? | ||
<ol style="list-style-type:lower-alpha"> | <ol style="list-style-type:lower-alpha"> | ||
<li>bs= | <li>'''bs=''' | ||
<li>ibs= | <li>ibs= | ||
<li>count= | <li>count= | ||
Line 96: | Line 98: | ||
<li> When you make a write system call to a file on a sshfs-mounted filesystem (to a file that the user has write access to) , which of the following also happens? | <li> When you make a write system call to a file on a sshfs-mounted filesystem (to a file that the user has write access to) , which of the following also happens? | ||
<ol style="list-style-type:lower-alpha"> | <ol style="list-style-type:lower-alpha"> | ||
<li>A remote sftp-server process does a write system call. | <li>'''A remote sftp-server process does a write system call.''' | ||
<li>The local kernel makes a write system call. | <li>The local kernel makes a write system call. | ||
<li>The remote kernel makes a write system call. | <li>The remote kernel makes a write system call. |
Latest revision as of 18:18, 7 December 2017
These questions refer to the code from Tutorial 7 and Tutorial 8.
Full Questions
- To enable public key (password-less) authentication in ssh, a user's public key should be added to what file on the remote system?
- In ssh (on the Linux command line), in what file is a user's private key normally stored?
- How do sshfs inode values relate to the inodes in the remotely mounted filesystem?
- What lines in memoryll determine the inode numbers?
- In sshfs, do a file's uid and gid values come from the remote server or from the mounting user's uid and gid?
- What permissions does a process require for regular file access?
- In sshfs, what determines whether a file operation is allowed or not, the remote ssh daemon, the remote kernel, the local kernel, or the local ssh process?
- When you run fusermount via execve, what euid does fusermount's process have?
- What environment variable allows ssh to connect to the local authentication agent?
- Why must ssh private keys only be readable by the owner?
- How do you control how many bytes dd writes with each write system call?
- When you make a write system call to a file on a sshfs-mounted filesystem, how many additional write (or writev) system calls must be executed, and what processes make those system calls?
Multiple Choice
- To enable public key (password-less) authentication in ssh, a user's public key should be added to what file on the remote system?
- /etc/passwd
- ~/.ssh/authorized_keys
- ~/.ssh/known_hosts
- ~/.ssh/id_rsa.pub
- ~/.ssh/id_rsa
- In ssh (on the Linux command line), in what file is a user's private key normally stored?
- /etc/passwd
- ~/.ssh/authorized_keys
- ~/.ssh/known_hosts
- ~/.ssh/id_rsa.pub
- ~/.ssh/id_rsa
- How do sshfs inode values relate to the inodes in the remotely mounted filesystem?
- The sshfs inode values are identical to those on the remote filesystem.
- The sshfs inode values have no relationship to the remote filesystem inode values.
- The sshfs inode values are the remote inode numbers plus a fixed offset.
- The sshfs inode values are sometimes the same as the remote inode values, and sometimes they are different.
- What lines in memoryll determine the inode numbers?
- Line 14, self.ino += 1
- Line 18, self.ino = 1
- Both Line 14 and 18
- None of the above
- In sshfs, do a file's uid and gid values come from the remote server or from the mounting user's uid and gid?
- From the remote server.
- From the mounting user's uid and gid.
- Which of the following is sufficient to allow a process to be able to read a regular file?
- Process's uid matches the file's uid.
- Process's gid matches the file's gid.
- The process's uid and gid match the file's uid and gid.
- None of the above.
- In sshfs, what determines whether a file operation is allowed or not?
- the remote ssh daemon
- the remote kernel
- the local kernel
- the local ssh process
- When you run fusermount via execve, what euid does fusermount's process have?
- euid is equal to the uid of the calling user (process that did the execve of fusermount)
- euid is the uid of fuse
- euid=0 (root)
- None of the above
- What environment variable allows ssh to connect to the local authentication agent?
- SSH_AUTH_SOCK
- TERM
- SSH_AGENT_LAUNCHER
- DISPLAY
- Why must ssh private keys only be readable by the owner?
- Other regular users on the system could use the private key to impersonate the owner.
- ssh and ssh-add will refuse to use the key.
- Both (a) and (b)
- None of the above
- What option to you give to dd to control how many bytes dd writes with each write system call?
- bs=
- ibs=
- count=
- None of the above
- When you make a write system call to a file on a sshfs-mounted filesystem (to a file that the user has write access to) , which of the following also happens?
- A remote sftp-server process does a write system call.
- The local kernel makes a write system call.
- The remote kernel makes a write system call.
- All of the above.