Linux Context如何管理用户
导读:Linux用户管理基础命令 Linux系统中,用户管理是系统管理员的核心任务之一,主要包括创建、修改、删除用户及管理用户组。以下是常用命令及用法: 创建用户:使用useradd命令,可通过选项指定UID、默认组、家目录等。例如,创建用户n...
Linux用户管理基础命令
Linux系统中,用户管理是系统管理员的核心任务之一,主要包括创建、修改、删除用户及管理用户组。以下是常用命令及用法:
- 创建用户:使用
useradd命令,可通过选项指定UID、默认组、家目录等。例如,创建用户nq31(UID 5001,基本组students,附加组sa,家目录/home/nq31,注释“这是用户注释信息”,登录Shell为/bin/bash)的命令为:sudo useradd -u 5001 -g students -G sa -c "这是用户注释信息" -d /home/nq31 -s /bin/bash nq31。也可使用adduser命令(软链接至useradd,交互式设置密码等信息)。 - 设置/修改密码:使用
passwd命令,为指定用户设置密码(如sudo passwd john),或修改当前用户密码(直接输入passwd)。 - 删除用户:使用
userdel命令,-r选项可连带删除用户家目录(如sudo userdel -r olduser);若仅需删除用户(保留家目录),直接输入sudo userdel username。 - 修改用户属性:使用
usermod命令,常见操作包括:修改用户名(-l new_username old_username)、修改默认组(-g groupname)、追加附加组(-aG groupname)、锁定账户(-L)、解锁账户(-U)。例如,将用户john追加到team1组:sudo usermod -aG team1 john。 - 查询用户信息:使用
id命令查看指定用户的UID、GID及所属组(如id john);使用groups命令查看用户所属组(如groups john)。
用户组管理
用户组用于统一管理具有共性的用户,常见操作如下:
- 创建用户组:使用
groupadd命令(如sudo groupadd developers)。 - 删除用户组:使用
groupdel命令(如sudo groupdel developers)。 - 管理组成员:将用户添加到组可使用
usermod -aG groupname username或gpasswd -a username groupname(如sudo gpasswd -a john developers);将用户从组移除可使用usermod -G group1,group2 username(覆盖原有附加组)或gpasswd -d username groupname(如sudo gpasswd -d john developers)。
权限管理
权限管理用于控制用户对文件/目录的访问,包括基础权限、特殊权限及ACL:
- 基础权限:使用
chmod命令修改文件/目录权限,分为字母法(如u+x给所有者添加执行权限)和数字法(如chmod 755 file设置rwxr-xr-x权限);使用chown命令修改所有者(如sudo chown john file)或所属组(如sudo chown :developers file);使用chgrp命令修改所属组(如sudo chgrp developers file)。 - 特殊权限:
SUID(chmod u+s file)使文件执行时以所有者权限运行(如/usr/bin/passwd);SGID(chmod g+s directory)使目录内新文件继承目录所属组;Sticky位(chmod o+t directory)允许目录内用户删除自己的文件(如/tmp目录)。 - ACL权限:使用
setfacl命令设置更细粒度的权限(如setfacl -m u:john:rwx /project给用户john添加/project目录的读写执行权限);使用getfacl命令查看ACL权限(如getfacl /project);使用setfacl -d -m u:john:rwx /project设置默认ACL(使新建文件/目录继承权限)。
SELinux上下文管理(增强安全)
SELinux通过上下文标签实现强制访问控制,管理用户与SELinux的关联需以下命令:
- 查看SELinux状态:使用
sestatus命令(如sestatus显示Enforcing表示启用)。 - 查看用户SELinux上下文:使用
id命令(如id输出包含context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023,其中unconfined_u为用户上下文)。 - 管理SELinux用户映射:使用
semanage login命令(如semanage login -l列出用户与SELinux用户的映射;semanage login -a -s staff_u john将用户john映射为staff_u,限制其使用su命令)。 - 修改文件/目录SELinux上下文:临时修改使用
chcon命令(如sudo chcon -t httpd_sys_content_t /var/www/html/index.html);恢复默认上下文使用restorecon命令(如sudo restorecon -Rv /var/www/html);永久修改上下文规则使用semanage fcontext命令(如sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?")。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux Context如何管理用户
本文地址: https://pptw.com/jishu/745659.html
