Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须先向系统管理员申请一个账号,然后以这个账号身份进入系统。每个用户账号都拥有一个唯一的用户名和密码,用户输入用户名和密码后,就可以进入系统和自己的主目录。
Linux系统用户账号的管理
添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户名、用户组、主目录和登录shell等资源,刚添加的账号是被锁定的,无法使用的,必须设置密码才能登陆。
useradd : 添加新用户,Root用户专用命令
语法:[选项] 用户名
参数:
- -c :comment 指定一段注释行描述
- -d :指定用户主目录,如果目录不存在,则同使用-m选项,可以创建主目录
- -g :指定用户所属的组
- -G :指定用户所属的附加组
- -s :Shell文件,指定用户登录Shell
- -u :指定用户的用户名,如果同时使用-o选项,可以重复使用其他用户的标识号。
添加一个新用户,然后切换该用户,最后退出该用户。
[root@admin ~]# useradd wcx #添加新用户
[root@admin ~]# su wcx #切换新添加的用户
[wcx@admin home]$ exit #退出当前用户,也可以使用快捷键CTRL + D
创建好的新用户,在home目录下回看到该用户的家目录,进入该用户的家目录,使用ls -al可以查看隐藏的一些文件。
增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。
userdel : 删除账号,Root用户专用命令
语法:
userdel [选项] 用户名
参数:
- -r :将用户的主目录一起删除
usermod : 修改账号
修改用户的账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
语法:
usermod [选项] 用户名
- -c、-d、-m、-g、-G、-s、-u以及-o等,这些选项的意义跟useradd的一样。
[root@admin ~]# usermod -s /bin/sr -d /home/z -g developer wcx
此命令将用户wcx的登录Shell修改为sr,主目录改为/home/z ,用户组改为developer。
passwd :用户口令管理
用户管理的一项主要内容是用户口令的管理,用户账号刚创建时没有口令,是被系统锁定的,无法使用,必须通过指定口令后才可以使用,即使是空口令。
passwd : [选项] 用户名
- -l :锁定口令,即禁用账号
- -u :口令解锁
- -d :使账号无口令
- -f :强迫用户下次登录时修改口令
超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。
超级用户修改口令:
[root@admin ~]# passwd username
普通用户修改自己的口令:
[root@admin ~]# passwd
普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。
su :切换用户
su :切换用户时,加载的环境变量是上一个用户的环境变量
su - :切换用户后,加载的环境变量是切换用户后的(建议用这个)
普通用户直接使用su或者su - 就是切换root用户,但是必须要输入root用户的密码。
查看当前用户的环境变量
[root@admin ~]# su wcx
[wcx@admin root]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[wcx@admin root]$ su -
Password:
[root@admin ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@admin ~]# su - wcx
[wcx@admin ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/wcx/bin