信誉好的品牌网站建设,空间商指定的网站目录,中国城乡和住房建设部网站,网站设计优点目录
1.Linux的命令格式
2.用户与用户组管理
2.1用户管理
添加用户
设置用户密码
删除用户
修改用户
2.2用户组管理
新增用户组
删除用户组
修改用户组属性
用户组切换
用户组管理 用户切换
1. su
2.sudo 1.Linux的命令格式
Linux系统中几乎所有操作#xff0…目录
1.Linux的命令格式
2.用户与用户组管理
2.1用户管理
添加用户
设置用户密码
删除用户
修改用户
2.2用户组管理
新增用户组
删除用户组
修改用户组属性
用户组切换
用户组管理 用户切换
1. su
2.sudo 1.Linux的命令格式
Linux系统中几乎所有操作如文件、账户、软件包的管理、磁盘分区、性能监控、网络配置等都可通过命令实现实现这些功能的命令大多遵循如下格式 命令名称 [选项] [命令作用的对象] 命令的选项分为短选项和长选项短选项可组合使用而长选项只能单独使用。
2.用户与用户组管理
Linux是一个多用户、多任务的分时操作系统在Linux主机上可同时登陆多个用户为了对用户的状态进行追踪并对其可访问的资源进行控制每名用户在使用Linux之前必须向系统申请一个账号并设置密码之后才能登陆并访问系统资源。
Linux用户可以分为两大类超级用户和普通用户。
其中超级用户拥有操作Linux系统的所有权限。
2.1用户管理
添加用户
添加用户的命令为 useradd 使用该命令可在系统中创建一个新账号。useradd命令的格式如下 useradd [选项] 用户名 useradd命令可通过一些选项在创建用户的同时为新增的账号设置一些属性若不设置除用户名外的其他属性则这些属性由系统设置为默认值。
选项说明-d指定用户登录时的目录-c指定账户的备注文字-e指定账号的有效期限-f缓冲天数密码过期时在指定天数后关闭该账号-g指定用户所属组-G指定用户所属的附加用户组-m自动建立用户的登录目录-r创建系统账号-s指定用户的登录shell-u指定用户的用户ID若添加-o选项则用户ID可与其他用户重复 例 #创建新用户bxg指定用户主目录为/usr/bxg并自动创建登录目录 [rootlocalhost ~]# useradd -d /usr/bxg -m bxg #创建新用户 itcast 设置其用户id为876 [rootlocalhost ~]# useradd itcast -u 876 Linux系统中的用户名和用户ID都是唯一的其中用户名由字母、数字、下划线组成且不能以数字开头。
设置用户密码
通过passwd命令为用户设置密码其格式如下 passwd [选项] 用户名 常用选项
选项说明-l锁定密码锁定后密码无效无法登录新用户默认锁定-d删除密码仅系统管理员可使用-S列出密码相关信息仅系统管理员可使用-f强行执行 #为新用户bxg设置密码 [rootlocalhost ~]# passwd bxg 更改用户bxg的密码。 新的密码 重新输入新的密码 passwd: 所有的身份验证令牌已经成功更新。 Linux系统建议用户密码至少为8个字符若没有8个字符会打印警告信息此警告不会对用户账户的使用造成影响。用户可再次输入密码并确认密码完成密码设置。
密码信息存储在/etc的shadow文件中。
删除用户
若用户不再使用可用userdel 命令将该用户从系统删除出删除用户账户外userdel命令还可以删除与指定用户相关的文件和信息。 userdel [选项] 用户名 选项说明-f强制删除用户即便该用户为当前用户-r 删除用户的同时删除与用户相关的所有文件 #删除用户bxg及相关文件 [rootlocalhost ~]# userdel -r bxg 修改用户
usermod命令用户修改用户信息。 usermod 选项 参数 在使用usermod命令修改用户信息的时候必须先确认该用户没有在电脑上执行任何程序。usermod命令的常用选项
选项说明-c修改用户账号的备注信息-d修改用户的登录目录-e修改账号的有效期限-f修改缓冲天数即修改密码过期后关闭账号的时间-g修改用户所属组-G修改用户所属的附属组-l修改用户账号名称-L锁定用户密码,使密码失效-s修改用户登录后使用的Shell-u修改用户ID-U解除密码锁定 # 修改用户bxg的用户id为678 [rootlocalhost ~]# usermod -u 678 bxg 2.2用户组管理
为了方便对用户的管理Linux系统设置了用户组的概念一般将权限相同的用户放在同一个用户组中。
新增用户组
增加用户组的方式有两种一种由系统默认创建——在创建新用户时若无特别指定系统会为新用户创建与其同名的用户组另一种是使用groupadd命令主动添加该命令的格式如下 groupadd [选项] 参数 选项说明-g指定新建用户组的组ID-r创建系统用户组组ID取值范围为1~499-o允许创建组ID已存在的用户组 # 创建一个用户组 group1 指定其组ID为550 [rootlocalhost ~]# groupadd -g 550 group1 Linux系统将用户组信息存储于 /etc/group 文件中。
删除用户组
使用 groupdel 命令可以删除多余的用户组该命令的格式如下 groupdel 用户组名 例 # 删除用户组 group1 指定其组ID为550 [rootlocalhost ~]# groupdel group1 修改用户组属性
用户组的组ID、组名等属性都可以被修改修改用户组属性的命令为gruopmod其命令格式如下 groupmod [选项] group1 选项说明-g为用户组指定新的组ID-n修改用户组的组名-o允许创建组ID已存在的用户组 # 创建一个组 group1 指定其组ID为550 [rootlocalhost ~]# groupadd -g 550 group1 # 在组 ID550 已存在的情况下将用户组 itheima 的组 ID 改为 550 [rootlocalhost ~]# groupmod -o itheima -g 550 # 修改用户组 group1的组名为itcast [rootlocalhost ~]# groupmod group1 -n itcast 用户组切换
用户组分为基本组也称默认组和附属组。
附属组是用户所属的除基本组之外的组用户的基本组唯一附属组不唯一用户可从附属组移除但不能从基本组中移除。
如果一个用户属于多个组当需要切换到其它组执行操作时可使用newgrp命令切换用户组 newgrp 用户组 # 切换用户 root 的工作组为 itcast [rootlocalhost ~]# newgrp itcast 用户组管理
gpasswd 命令用于管理用户组 gpasswd 选项 参数 选项说明-a添加用户到用户组-d从用户组中删除用户-r删除密码-R限制用户登入组只有组中成员才可以用 newgrp 加入用户组 注意使用usermod命令的 -g 选项为用户设置附属组时将会覆盖用户原有的附属组若想为用户设置多个附属组需使用gpasswd命令将用户逐个添加到不同的用户组中。 # 将用户 itheima添加到用户组 itcast [rootlocalhost ~]# gpasswd -a itheima itcast 用户切换
Linux系统提供了两种切换用户的方式: 一种是通过Linux系统图形化界面菜单中的 “切换用户 选项切换用户另一种是在终端使用命令su或sudo切换用户。
通过图形界面菜单中的 “切换用户” 选项切换用户的方式如图2-1所示。 Linux运维人员一般通过用户切换命令实现用户切换。
1. su
使用 su 命令切换用户是最简单的用户切换方式该命令可在任意用户之间进行切换其基本格式如下: su [选项] [用户名] 若选项和用户名缺省,则表示切换到 root 用户,但此时仍保留原来用户的工作环境若使用“su -”则表示从当前用户切换到root用户,并切换到root用户的工作目录。
su命令的常用选项如下
选项说明-c执行完指定的指令后切换回原来的用户-l切换用户的同时切换到对应用户的工作目录环境变量也会随之改变-m-p切换用户时不改变环境变量-s指定要执行的shell 使用su命令时由root用户切换到其他用户可以不输入密码由普通用户切换到目标用户时,需要输人目标用户的密码。
2.sudo
虽然使用su命令相当方便但由于需要知道目标用户的密码所以su命令是不安全的若想保障系统的安全可以使用 sudo 命令切换用户。 sudo [选项] [参数] sudo 可使当前用户以其他身份来执行命令、若不指定用户名则默认以 root 身份执行。在使用sudo 命令时用户需要输人自己的密码此次密码验证在之后的5分钟内有效若超时需重新验证。 sudo命令的常用选项如下
选项说明-b在后台执行命令-h显示帮助-H将HOME环境变量设置为新身份的HOME环境变量-k结束密码的有效期限-l列出目前用户可执行与无法执行的命令-p改变询问密码的提示符号-s执行指定的shell-u以指定的用户作为新的身份即切换到指定用户。默认切换到root用户 在使用 sudo 命令之前需要先在 etc 目录下的 sudoers 文件中对可执行 sudo 指令的用户进行设置。sudoers 文件中的内容遵循一定的语法规范为防止因语法有误导致的错误Linux系统提供了 visudo 命令使用该命令修改文件后系统会在保存退出时对sudoers文件的语法进行检查。此外,visudo 命令亦可防止其他用户同时修改sudoers文件。下面将介绍使用root用户编辑sudoers 文件为其他用户提升权限的方法。
首先在root用户下使用visudo命令打开sudoers文件如下所示 [rootlocalhost ~]# visudo 观察sudoers文件可以在其中找到如下的语句: # Allow root to run any commands anywhere root ALL(ALL) ALL 第一条语句是注释行,第二条语句是对root 用户的权限设置它的作用是:使root用户能够在任何情境下执行任何命令。sudoers文件中的所有权限设置语句都符合如下格式: 账户名 主机名称(可切换的身份) 可用的命令 以上格式中包含4个参数,每个参数的含义如下:
账户名该参数是要设置权限的账号名只有账号名被写入sudoers文件时该用户才能使用sudo命令。root 用户默认可以使用sudo命令。主机名称该参数决定此条语句中账户名对应的用户可以从哪些网络主机连接当前Linux主机root用户默认可以来自任何一台网络主机。可切换的身份该参数决定此条语句中的用户可以在哪些用户身份之间进行切换、执行哪些命令。root 用户默认可切换为任意用户。可执行的命令:该参数指定此条语句中的用户可以执行哪些命令。注意命令的路径应为绝对路径。root 用户默认可以使用任意命令。 以上语句中的参数ALL是一个特殊的关键字分别代表任何主机、任何身份和任何命令。以用户itheima为例若要使用户itheima能以root用户的身份执行/bin/more命令则应在sudoers文件中添加如下内容: itheima ALL(root)/bin/more 保存退出后切换到用户itheima使用命令 “sudo -l” 可查看该用户可以使用的命令。
通过在配置文件中逐条添加配置信息的方法提升用户权限在一定程度上保障了系统安全,但当需要操作的用户较多时如此操作显然相对麻烦。Linux 系统支持为用户组内的整组用户统一设置权限。 在sudoers文件中有如下所示的语句: # %wheel ALL(ALL) ALL 以上语句中“%” 声明之后的字符串是一个用户组该语句表示任何加入用户组wheel的用户都能通过任意主机连接、以任何身份执行全部命令。因此若想提升某些用户的权限为ALL,将它们添加到用户组wheel中即可。当然此条语句前的“#”仍然表示注释若要使此条命令生效需将“#”删除。以用户组itheima为例若要使该组中的所有用户能以root的身份执行命令/bin/ more ,则应在sudoers文件中添加如下命令: %itheima ALL(root)/bin/more root作为系统中唯一的超级用户权限极大可以执行的命令极多,其中不乏非常危险的命令如“rm -rf”。若是一个普通用户的权限被提升的太多很可能会危及整个系统为了防止这种情况sudo命令中可以在配置sudoers文件时对某些用户的权限进行控制。假如在itheima用户被提升至root 权限时要禁止该用户使用/bin/more命令可以使用以下语句: itheima ALL (root) ! /bin/more 以上语句通过 “!” 符号禁止用户执行某些命令。