Linux 是一个多用户、多任务的操作系统,不同用户拥有各自的目录和进程,用户间通过授权来互相关联或者不关联。理解用户(user)和用户组(group)的管理非常重要,用户是最低粒度的权限管理,但是如果资源都要单独对用户进行分配权限的话,当用户非常多时将会是一项非常繁杂的工作,使用群组就可以轻松解决这个问题。
基本指令
1、查看用户列表:cat /etc/passwd
2、查看分组列表:cat /etc/group
查看Linux某用户属于哪个组
id user
groups user
3、可以查看当前活跃的用户列表: w
4、创建用户
useradd 用户名 -g 组名–G 组名-d Home 目录名-p 密码
其中:
-g 指定该用户的首要组
-G 指定该用户的次要组
-d 指定该用户的Home 目录
-p 指定该用户的密码
如输入以下命令:
useradd www –g oinstall –G dba –d /home/www –p www123
系统将创建一个用户 www,www 用户的首要组为oinstall ,次要组为dba,Home 目录为/home/www ,密码为www123。
5、删除用户
userdel 用户名
6、修改用户帐号
语法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号]
使用示例:usermod -g root test
补充说明:usermod可用来修改用户帐号的各项设定。
参数:
-c<备注> 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s 修改用户登入后所使用的shell。
-u 修改用户ID。
-U 解除密码锁定。
**7、创建一个新的用户组:**groupadd 组名
如输入以下命令:
groupadd newgroup
系统将创建一个新的用户组 newgroup。
8、删除一个已存在的用户组: groupdel 组名
把用户添加到指定组:
usermod -a -G groupA user
9、修改密码
passwd
超级用户还可以修改其他用户的口令,命令如下:
passwd 用户名
10、切换当前用户
su 用户名
使用上面的指令基本够管理linux上的用户体系了,不过用户管理的工作内容不单单是对用户进行创建和修改,还包含了授权工作,附加对chmod命令做解释非常有必要。
chmod 命令,用于改变文件或目录的访问权限。
语法:chmod [who] [+ | - | =] [mode] 文件名
命令中各选项的含义为:
1 、操作对象who 可以是下述字母中的任一个或者它们的组合:
u 表示用户(user) ,即文件或目录的所有者
g 表示同组(group)用户,即与文件属主有相同组ID 的所有用户
o 表示其他(others)用户
a 表示所有(all)用户,默认值。
2 、操作符号可以是:
+ 添加某个权限
- 取消某个权限
= 赋予给定权限,并取消其他所有权限
3 mode 表示权限常用的参数有
r 可读
w 可写
x 可执行
eg:
将文件 text 的权限设为:文件属主可读、可写、可执行,与文件属主同组的用户可读,其他用户不可读。命令如下:
chmod u=rwx,g=r,o= text (注意,后无空格o=后有空格)
另外还有一个命令也比较常用:chown,用于更改某个文件或目录的属主和属组。
chown 的基本用法为:
chown [用户:组] 文件