Kernel/LibC/Userspace: Implement chown and set tty owner on login

This commit is contained in:
2024-01-02 22:19:38 +02:00
parent 07d5d3f936
commit 96d831c31a
12 changed files with 62 additions and 2 deletions

View File

@@ -179,7 +179,7 @@ namespace Kernel
}
SerialTTY::SerialTTY(Serial serial)
: TTY(0660, 0, 0)
: TTY(0600, 0, 0)
, m_serial(serial)
, m_rdev(next_rdev())
{

View File

@@ -105,6 +105,21 @@ namespace Kernel
initialized = true;
}
BAN::ErrorOr<void> TTY::chmod_impl(mode_t mode)
{
ASSERT((mode & Inode::Mode::TYPE_MASK) == 0);
m_inode_info.mode &= Inode::Mode::TYPE_MASK;
m_inode_info.mode |= mode;
return {};
}
BAN::ErrorOr<void> TTY::chown_impl(uid_t uid, gid_t gid)
{
m_inode_info.uid = uid;
m_inode_info.gid = gid;
return {};
}
void TTY::on_key_event(Input::KeyEvent event)
{
LockGuard _(m_lock);

View File

@@ -42,7 +42,7 @@ namespace Kernel
}
VirtualTTY::VirtualTTY(TerminalDriver* driver)
: TTY(0666, 0, 0)
: TTY(0600, 0, 0)
, m_terminal_driver(driver)
, m_rdev(next_rdev())
{