上一章讲到连接服务器,现在服务器连接之后,那把服务器变成什么样子还不是自己说了算。这章就讲linux系统的入门操作:新建用户。
创建用户及用户组
linux是一个多用户多任务的操作系统,可以在系统上创建多个用户,但是一个新的服务器一般是只有root用户的,但是不能所有的事都root做,root权限太高,偶尔误操作的话可能会导致无法挽回的结果,比如程序员的断腿大法:rm -rf /。所以为了避免高权限误操作带来的问题,可以在Linux上新建用户及用户组,对用户及用户组授予相应的权限来限制其行为。
1 创建用户组
groupadd [选项] 用户组
选项:
-g GID 指定新用户组的组标识号,一般来说是唯一的,除非与-o一起使用(用户组在Linux都会有一个数字类型的值作为标识)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
示例:
新建用户组personal,新组的组标识号为当前已有的最大组标识号的基础上加1。
# groupadd personal
新建用户组personal,同时指定新组的组标识号是101。
# groupadd -g 101 personal
2 创建用户
useradd [选项] 用户名
参数说明:
选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。(用户也有一个数字作为唯一标识,0 表示管理员(root),1 - 500 表示系统用户,501 - 65535 表示普通用户。 一般是这样的,不过不同的Linux版本可能有些偏差。不指定唯一标识则会在现有最大的id基础上+1,一般自己新建的用户id是500以后的)
创建一个用户lgs,并为新用户产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。
# useradd –d /usr/lgs -m lgs
新建一个用户lgs,该用户的登录Shell是 /bin/sh,它属于personal用户组,同时又属于root用户组,其中personal用户组是其主组,root为附加组。
# useradd -s /bin/sh -g personal –G root lgs
3 用户密码
新建的用户没有密码,也就是口令,且处于锁定状态,必须先指定其口令才可以正常使用。
passwd 选项 用户名
选项:
-l 锁定口令,即禁用账号。
-u 解锁口令。
-d 使账号无口令。
-f 强制用户下次登录时修改口令。
如果是普通用户,passwd为修改当前用户的口令。
例如,假设当前用户是lgs,则下面的命令修改该用户自己的口令:
$ passwd
Old password:
New password:
Re-enter new password:
如果是超级用户root,可以用passwd [user]命令指定任何用户的口令,如:
# passwd lgs
New password:
Re-enter new password:
下面这条命令是将用户lgs的口令删除,这样用户lgs下一次登录时,就不需要口令了。
# passwd -d lgs
下面这条命令是锁定某一用户,使其不能登录,例如:
# passwd -l lgs
在创建用户的时候为用户初始化密码:
Changing password for user lgs
New password:
Retype new password:
4 用户授权
个人用户的权限只可以在本home下有完整权限,其他目录需要别人授权。经常需要root用户的权限,可以通过修改sudoers文件来赋予权限。
新创建的用户并不能使用sudo命令,需要给他添加授权。
1、查找sudoers文件路径并赋予权限
[root@localhost~]# whereis sudoers # 查找sudoers文件路径
sudoers: /etc/sudoers /etc/sudoers.d /usr/share/man/man5/sudoers.5.gz
[root@localhost~]# ls -l /etc/sudoers # 查看权限
-r--r----- 1 root root 3938 Sep 6 2017 /etc/sudoers # 只有读权限
[root@localhost~]# chmod -v u+w /etc/sudoers # 赋予读写权限
mode of ‘/etc/sudoers’ changed from 0440 (r--r-----) to 0640 (rw-r-----)
2、修改sudoers文件
输入命令 vim /etc/sudoers 修改sudoers文件,添加新用户信息:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
lgs ALL=(ALL) ALL #这个是新用户
摁esc , 然后输入命令 wq! 保存修改。
3、收回权限
[root@localhost~]# chmod -v u-w /etc/sudoers
mode of ‘/etc/sudoers’ changed from 0640 (rw-r-----) to 0440 (r--r-----)