UID和GID
linux采用一个32位的整数记录不同的用户,这个数字就是UID.同时在linux中还存在一个组的观念,而主的编号就是GID.
用户主要分为3中类型:
- 普通用户.这类用户是指所有使用Linux的用户,可以使用账号密码登陆.一般该用户的UID大于500.
- 根用户.也就是指root用户,它的UID是0.
- 系统用户.指系统必要运行时的用户.例如运行mysql时,使用msql用户.一般该用户的用户在1~499之间.
可以使用id
命令查看当前用户的UID,GID,group等信息.或者使用group
查看当前用户所在的组.
如果要查询当前有哪些用户登录,可以使用who
命令.
/etc/passwd和/etc/shadow
这个两个文件分别是用来存放用户的用户名和密码的.
新增和删除用户
-
新增命令:useradd
例如新增一个叫tom的用户,命令如下:useradd tom
,执行完成之后会在/home
下增加该用户的家目录,同时在/etc/passwd
和/etc/shadow
两个文件增加该用户的记录.同时还可以使用-u
指定用户的UID,-d
指定用户的家目录,-g
指定用户的组. -
修改密码:passwd
新创建的用户是没有登录权限的.需要设置用户的密码才行.可以使用passwd 用户名
设置该用户的密码.例如:passwd tom
设置tom的密码. -
修改用户:usermod
可以使用-d
指定用户的家目录.-L
冻结用户.-U
解除用户账号冻结.其实这些参数都是对/etc/passwd
和/etc/shadow
的修改,其实这些都可以自己去手动修改文件达到上面的目的. -
删除用户:userdel
userdel 用户名
删除用户,但是不会删掉用的家目录.如果加上-r
参数,会把用户的家目录一起删除.
新增和删除用户组
-
新增用户组:groupadd
group dev
增加dev
用户组,执行完成之后会在/etc/group文件中找到刚刚新增的组. -
删除用户组:groupdel
groupdel dev
删除名为dev
的组.但是如果已经有用户属于这个组了,那么操作将会失败.
检查用户信息
-
查看用户:users/who/w
users
查看当前有哪些用户登录系统.who
功能相同,不过可以看到更多的信息.w
则会比who
显示还要多的内容. -
调查用户:finger
该命令也可以显示有哪些用户登录了系统.同时在后面加上参数名称,将会显示该用户更详细的信息.如果该命令不可用,可能是因为没有按照导致,直接yum install finger
安装即可.
切换用户
su
默认代表切换到root用户,后面添加用户名代表切换到指定用户.切换到指定用户后,如果要退出这个用户,使用exit
命令即可退出切换的用户.命令后添加-
切换用户时,还会切换到当前用户的环境.
用其他身份执行命令:sudo
使用su
命令切换用户时,需要知道该用户的密码.而有的命令需要root用户权限才能执行,但是如果告诉别人root用户的密码,那样就不安全了.所以可以使用sudo
以root权限执行命令.
默认用户时无法通过sudo
执行命令的,需要修改/etc/sudoers
这个文件,才能实现上述功能.使用visudo
即可编辑该文件,同时在保存时还会检查你的配置是否正确,用来保证你的修改不会导致sudo命令无法使用.打开该配置文件,在文件中可以找到如下配置:
# Allow root to run any commands anywhere
root ALL=(ALL) ALL
复制上一行,修改root
为指定的用户名保存即可.例如以下配置:
tom ALL=(ALL) ALL
上面的配置代表tom
这个用户可以从任何地方登陆后(第二个ALL
)执行任何人(第三个ALL
)的任何命令(第四个ALL
).同时还能设置某个组都可以执行sudo
命令,配置如下:
%dev ALL=(ALL) ALL
上面配置代表dev
这个组都可以使用sudo
.
网友评论