Shell命令是个好东西,怎么利用它在Linux上如何创建一个用户,如何建立一个用户组,统一管理用户与用户组信息呢?
解决方案
新建一个用户
# useradd –d [/用户主目录] -m [用户名]
命令详细介绍如下
### 输入 useradd –help 查看命令详细参数
-------------------------------------------------------------------------------
[root@localhost wch]# useradd –help
Usage: useradd [options] LOGIN
Options:
-b, –base-dir BASE_DIR 设置基本路径作为用户的登录目录
-c, –comment COMMENT 对用户的注释
-d, –home-dir HOME_DIR 设置用户的登录目录
-D, –defaults 改变设置
-e, –expiredate EXPIRE_DATE 设置用户的有效期
-f, –inactive INACTIVE 用户过期后,让密码无效
-g, –gid GROUP 使用户只属于某个组
-G, –groups GROUPS 使用户加入某个组
-h, –help 帮助
-k, –skel SKEL_DIR 指定其他的skel目录
-K, –key KEY=VALUE 覆盖 /etc/login.defs 配置文件
-m, –create-home 自动创建登录目录
-l, 不把用户加入到lastlog文件中
-M, 不自动创建登录目录
-r, 建立系统账号
-o, –non-unique 允许用户拥有相同的UID
-p, –password PASSWORD 为新用户使用加密密码
-s, –shell SHELL 登录时候的shell
-u, –uid UID 为新用户指定一个UID
-Z, –selinux-user SEUSER use a specific SEUSER for the SELinux user mapping
修改密码(按提示输入旧密码,以及两次新密码,非root用户直接输入passwd修改自己密码)
# passwd [用户名]
查看当前登录的用户名
[root@localhost~]# w
[root@localhost~]# who
查看某个用户的信息
[root@localhost~]# finger [用户名]
[root@localhost~]# id [用户名]
查看当前登录的用户
[root@localhost~]# w
[root@localhost~]# who
[root@localhost~]# whoami
[root@localhost~]# cut -d : -f 1 /etc/passwd //查看所有用户
[root@localhost~]# cat /etc/passwd |awk -F \: '{print $1}' //查看所有用户
查看用户登录记录
[root@localhost~]# last //登录成功
[root@localhost~]# lastb //登录不成功的
添加用户组
groupadd [用户组名]
修改组名
groupmod -n [新组名] [旧组名]
删除用户组
groupdel [用户组名]
查看用户组
groups [用户名] #查看用户所在组
cat /etc/group #查看所有组
赋予组跟用户文件夹权限
chown -R [用户名]:[组名] /home/tmp #用chown命令,赋予用户以及用户组这个文件夹的操作权限
赋予用户临时root权限
#修改 /etc/sudoers 文件,去掉下行的注释
----------------------------------------------------------------------------------------------
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
usermod -g root [用户名] #赋予用户root权限
#或者在下面加一行:
----------------------------------------------------------------------------------------------
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
[用户名] ALL=(ALL) ALL
这样配置能使普通用户获得root用户的权限执行操作而不用知道root密码,相对来讲比较安全