用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。
在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
Unix/Linux系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有部分具有不受限制的访问权限。
在Unix/Linux安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为“标准用户”。
在大多数版本的Unix/Linux中,都不推荐直接使用root账号登录系统。
1. 查看当前用户:whoami
whoami 该命令用户查看当前系统当前账号的用户名。可通过cat/etc/passwd 查看系统用户的信息。
由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理。这时候就可以使用whoami来查看当前用户的身份。
2. 查看登录用户:who
who命令用于查看当前所有登录系统的用户信息。
3.退出登录账户:exit
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号。
�4.添加用户账号:useradd
在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。
useradd命令的使用格式如下:useradd [参数]新建用户账号
相关说明:
·Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);
·每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录;
·用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的;
·如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
5.设置用户密码:passwd
在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。
6.删除用户:userdel
7.切换用户:su
可以通过su命令切换用户,su后面可以加“-”。su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:
注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作,只需加“sudo”即可。sudo是ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root用户的登陆和管理时间,提高了安全性。
Ubuntu下切换到root的简单命令:
8.查看有哪些用户组
cat / etc / group
groupmod + 三次 tab键
9.添加、删除组账号:groupadd、groupdel
groupadd 新建组账号 groupdel 组账号 cat / etc/group 查看用户组
10.修改用户所在组: usermod
使用方法: usermod -g 用户组 用户名
11.查看用户在哪些组
12. 为创建的普通用户添加 sudo 权限
新创建的用户,默认不能 sudo ,需要进行一下操作
sudo usermod -a -G adm 用户名
sudo usermod -a -G sudo 用户名
13. usermod -g 与 -G 的区别
-g 用来制定这个用户默认的用户组
-G 一般配合‘-a’来完成向其它组添加
usermod[-LU][-c<备注>][-d<登入目录>][-e<有效期限>][-f<缓冲天数>][-g<群组>][-G<群组>][-l<帐号名称>][-s][-u][用户帐号]
-c<备注> 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s 修改用户登入后所使用的shell。
-u 修改用户ID。
-U 解除密码锁定。
14.修改文件权限:chomd
chomd 修改文件权限有两种使用格式:字母法与数字法
字母法:chomd u/g/o/a+/-/=r w x 文件
15.修改文件所有者:chown
利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。
实列:
将文件 file1.txt 的拥有者设为 users 群体的使用者 jessie :
chown jessie:users file1.txt
将目前目录下的所有文件与子目录的拥有者皆设为 users 群体的使用者 lamport :
chown-R lamport:users*
参数:
user : 新的文件拥有者的使用者 ID
group : 新的文件拥有者的使用者群体(group)
-c : 若该文件拥有者确实已经更改,才显示其更改动作
-f : 若该文件拥有者无法被更改也不要显示错误讯息
-h : 只对于连结(link)进行变更,而非该 link 真正指向的文件
-v : 显示拥有者变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
16.修改文件所属组: chgrp
使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。
例子:
chgrp -v bin log2012.log
[root@localhost test]#ll
---xrw-r--1 root root 302108 11-13 06:03 log2012.log
[root@localhost test]# chgrp -v bin log2012.log
"log2012.log" 的所属组已更改为 bin
[root@localhost test]#ll
---xrw-r--1 root bin 302108 11-13 06:03 log2012.log