linux 是支持多用户的,可以同时多个用户在线操作,这点与 Windows 不同。
在我们项目组 操作linux 服务器时,可进行多用户管理,并赋予不同权限,下面是我学习并用的比较频繁的命令:
1. 简单粗暴的 useradd -d /usr/gmm -m gmm
/usr/gmm 用户的主目录
passwd gmm 修改 密码
(注:这样添加的用户不能远程ssh 登录,需要
vi /etc/ssh/sshd_config
添加
AllowUsers root@192.168.1.32 admin
多个用户用空格隔开
)
2.adduser 命令添加
首先用adduser命令添加一个普通用户,命令如下:
#adduser gmm
#passwd gmm
Changing password for user gmm.
New UNIX password: //在这里输入新密码
Retype new UNIX password: //再次输入新密码
passwd: all authentication tokens updated successfully.
赋予 root 权限:
有时候,linux下面运行sudo命令,会提示类似:
xxxis not in the sudoers file. This incident will be reported.
这里,xxx是用户名称,然后导致无法执行sudo命令,这时候,如下解决:
-
-
进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接用root用)
-
添加文件的写权限。也就是输入命令"chmod u+w /etc/sudoers"。
-
编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出。
-
撤销文件的写权限。也就是输入命令"chmod u-w /etc/sudoers"。
然后就行了。
-
linux下添加,删除,修改,查看用户和用户组
1,创建组
groupadd test
增加一个test组
2,修改组
groupmod -n test2 test
将test组的名子改成test2
3,删除组
groupdel test2
删除 组test2
4,查看组
a),查看当前登录用户所在的组 groups,查看apacheuser所在组groups apacheuser
b),查看所有组 cat /etc/group
c),有的linux系统没有/etc/group文件的,这个时候看下面的这个方法
cat /etc/passwd |awk -F [:] ‘{print $4}’ |sort|uniq | getent group |awk -F [:] ‘{print $1}’
这里用到一个命令是getent,可以通过组ID来查找组信息,如果这个命令没有的话,那就很难查找,系统中所有的组了.
3,删除用户
userdel test
将test用户删除
4,查看用户
a),查看当前登录用户
[root@krlcgcms01 ~]# w
[root@krlcgcms01 ~]# who
b),查看自己的用户名
[root@krlcgcms01 ~]# whoami
c),查看单个用户信息
[root@krlcgcms01 ~]# finger apacheuser
[root@krlcgcms01 ~]# id apacheuser
d),查看用户登录记录
[root@krlcgcms01 ~]# last 查看登录成功的用户记录
[root@krlcgcms01 ~]# lastb 查看登录不成功的用户记录
e),查看所有用户
[root@krlcgcms01 ~]# cut -d : -f 1 /etc/passwd
[root@krlcgcms01 ~]# cat /etc/passwd |awk -F \: ‘{print $1}’
俺的centos vps上面不知道添加了多少个账户,今天想清理一下,但是以前还未查看过linux用户列表,google了一下,找到方便的放:
一般情况下是
w 可以查看当前活跃的用户列表
cat /etc/group 查看用户组
但是这样出来的结果一大堆,看起来嘿负责,于是继续google
找到个简明的layout命令