一、添加新用户
命令格式: useradd [选项] <username>
常用选项:
-c 注释信息——设定与用户相关的说明信息(如,真实姓名、邮箱地址等)。
-d 目录——设定用户的家目录(默认为/home/用户名)。
-e YYYY-MM-DD——设置用户的失效日期,此日期后将不能使用该账号。
-f 天数——指定密码到期后多少天账号被禁用,若指定为0,则表示账号到期后被立即禁用;若指定 为-1,则表示
账号过期后不被禁用(即密码永不过期)。
-g 组名或GID号——为用户指定所属的基本组,该组在指定时必须已存在。
-G 组名或GID号列表——为用户指定所属的附加组,各组在指定时已存在,附加组可以有多个,组 之间用“,”分
隔。
-M——不创建用户家目录。
-N——不创建与用户名同名的基本组。
-p 密码——指定用户的登录密码。
-s shell名——指定用户登录后使用的Shell,默认是bash。
-u 用户号——设置账号的UID,默认是已有用户的最大UID加1。如果同时有-o选项,则可以重复使用其他用户的标 识号。
示例1:新建一个用户zhang3,查看passwd、shadow文件中的变化,并确认该用户的家目录中的初始配置文件。[root@localhost ~]# useradd zhang3
[root@localhost ~]# tail -1 /etc/passwd
zhang3:x:1001:1001::/home/zhang3:/bin/bash
[root@localhost ~]# tail -1 /etc/shadow
zhang3:!!:16925:0:99999:7::: //注意密码字段的内容为“!!”,表示密码尚未设置
[root@localhost ~]# ls -ld /home/zhang3
drwx------. 3 zhang3 zhang3 74 11月 4 15:58 /home/zhang3
[root@localhost ~]# ls -A /home/zhang3
.bash_logout .bash_profile .bashrc .mozilla
示例2:新建一个用户wang5,指定其UID为1005、登录Shell为/bin/bash,账号永不过期。
示例3:新建一个辅助管理员用户admin,将其用户家目录指定为/admin,基本组指定为wheel,附加组同时属于adm 组和root组
示例4:新建一个用于访问FTP的zhao6用户,禁止其登录且不创建家目录。
# useradd -u 1005 -s /bin/bash -e -1 wang5
# useradd -d /admin -g wheel -G adm,root admin st3
# useradd -M -s /sbin/nologin zhao6
二、 修改用户信息——usermod命令
命令格式: usermod [选项] username
常用的选项包括 -c,-d,-m,-g,-G,-s,-u 等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的 资源值。另外,还可以使用如下选项: -l 新用户名——更改账户的名称,必须在该用户未登录的情况下才能使 用。 -L——锁定(暂停)用户账户,使其不能登录使用。 -U——解锁用户账户。
示例1:将用户admin的家目录移至/home目录下。
示例2:将用户wang5的名称修改为wangwu,并暂停使用该账号。
usermod -d /home/admin -m admin
usermod wang5 -l wangwu -L
三、 为用户账号设置密码——passwd命令
Linux的账户必须设置密码后,才能登录系统
命令格式: passwd [账户名]
常用选项:
-d——清空指定用户的口令。这与未设置口令的账户不同,未设置口令的账户无法登录系统,而口令为空的账户可
以。
-e——使用户的账号密码立即过期,强迫用户下次登录时必须修改口令。
-i——口令过期后多少天停用账户。
-l——锁定(停用)用户账户。
-n——指定口令的最短存活期。
-x——指定密码的最长使用期限。
-u——解锁用户账户。
[root@localhost ~]#echo 密码 | passwd --stdin 用户名 使用该方式也可修改用户密码
示例1:若当前用户为root,请修改root用户的密码,并为zhang3用户设置密码
四、删除用户账号——userdel命令
命令格式: userdel [-r] 账户名
-r——在删除该账户的同时,一并删除该账户对应的家目录。
五、用户间切换——su(substitute user)命令
命令格式: su [用户名]
从root用户切换到任何用户不需要密码验证,而从普通用户到root或其他普通用户均需要输入目标用户的密码 且验证成功后才可切换。
su和su - 命令区别就是加载的配置文件不一样:
su 切换方式加载的文件: ~/.bashrc,/etc/bashrc
su - 切换方式加载的文件: /etc/bashrc,/etc/profile,~/.bashrc,~/.bash_profile
六、控制用户对系统命令的使用权限
使用 sudo 命令可以提高普通用户的操作权限,不过这个权限需要root用户进行配置/etc/sudoers文件才可使用。
sudo的执行流程如下(默认只有root用户能使用):
当用户执行sudo时,便会让用户输入自己的密码来确认(root执行sudo时不需要输入密码);
若欲切换的身份与执行者身份相同,那也不需要输入密码。
若密码输入成功,系统会去/etc/sudoers文件中查找该用户是否有执行sudo的权限;
若用户具有执行sudo的权限,便开始sudo后续接的命令;
sudo -l :列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。
sudo -u 用户名 命令 :以指定用户的身份执行命令。后面的用户是除root以外的,可以是用户名,也可以是 UID。
sudo -k :清除存活期时间,下次再使用sudo时要再输入密码。
sudo -b 命令 :在后台执行指定的命令。
sudo -p 提示语 <操作选项> :可以更改询问密码的提示语,其中%u会代换为使用者账号名称,%h会显示主机
名称。
配置/etc/sudoers文件的2种方式
[root@localhost ~]# vim /etc/sudoers或者[root@localhost ~]# visudo
root ALL=(ALL) ALL
参数代表含义:
1、用户账号:系统哪个账号可以使用sudo这个命令。
2、登录者的来源主机名
3、可切换的身份:这个账号可以切换成什么身份来执行后续的命令。默认root可以切换成任何人。
4、可执行的命令:这个命令最好使用绝对路径编写。默认root可以切换任何身份且进行任何命令。
说明:ALL是关键字,代表任何身份、主机或命令。