linux添加用户、权限(wheel组)
阅读数:264 评论数:0
跳转到新版页面分类
Linux
正文
一、useradd
# useradd –d /usr/sam -m sam
此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。
用useradd新增的用户不能直接用ssh远程访问,需要修改ssh相关配置
如下:
vi /etc/ssh/sshd_config
添加
AllowUsers root@192.168.1.32 admin
多个用户用空格隔开
二、passwd
假设当前用户是sam,则下面的命令修改该用户自己的口令:
# passwd
Old password:******
New password:*******
Re-enter new password:*******
如果是超级用户,可以用下列形式指定任何用户的口令:
# passwd sam
New password:*******
Re-enter new password:*
三、、赋予root权限
方法一
修改 /etc/sudoers 文件找到下面一行,把前面的注释(#)去掉
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
然后修改用户,使其属于root组(wheel),命令如下:
#usermod -g root tommy
修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。
方法二
修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL
修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。
四、sudo
如何让普通用户获得root用户的权限执行操作而不需要知道root用户的密码或向root用户进行切换呢?有一个命令sudo可以实现这个功能.
在/etc/sudoers中设置了可执行sudo指令的用户,若其未授权的用户企图使用sudo,则会发出警告邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限必须重新输入密码。
-b 在后台执行指令。
-h 会显示版本编号及指令的使用方式说明。
-H 将HOME环境变量设为新身份的HOME环境变量。
-k 结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。
-l 列出目前用户可执行与无法执行的指令。
-p 改变询问密码的提示符号,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称。
-s<shell> 执行指定的shell或是 /etc/passwd 里所指定的 shell。
-u<用户> 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。
-v 延长密码有效期限5分钟。
-V 显示版本信息。
1、 编辑/etc/sudoers文件,使用visudo命令,
Shell> visudo
其实visudo命令也是调用vi去编辑sudoer文件的,但是在保存时会去检查你修改后文件的语法,如果错误是不能保存的,但是如果直接用vi来编辑该文件,强制保存虽然成功,但是如果有语
法错误这里并不能给出提示,也就导致了后面sudo命令的不可用.
2、记录解析:
Sam ALL=(ALL) ALL
使用者帐户 登入的主机=(可以变换的身份) 可以下达的命令
上述语句的意思是 sam用户可以在任何地方登录,并可切换成任何用户进行任何操作.这里如果(ALL)不写,只写为 sam ALL=ALL,他默认只能切换为root用户.
3、sudo 免密设置方法
newuser ALL=(ALL)NOPASSWD: ALL
五、wheel组
wheel源自民间用语(俚语),表示大人物。它是unix系统的一个遗留物。
1、加入wheel组的方法
(1)用useradd创建用户并加入
# 用户的主组被设为wheel
useradd -g wheel 用户名
#或
# 用户的附加组添加wheel组
useradd -G wheel 用户名
-g只能设置一个主组,-G可以多个组,用逗号分隔。
(2)usermod
# 只加-G(--groups)不加-a(--append)会移出该用户原先的附加组, 不会移出主组
usermod -G wheel 用户名
# 或
# -aG 等同 -a(--append) -G(--groups) , 加上 -a 后 就不会移出原先的附加组了
usermod -aG wheel 用户名
(3)gpasswd
gpasswd -a 用户名 wheel
# 或
gpasswd -M 用户名 wheel
(4)修改/etc/group文件
sudo vi /etc/group
在wheel:x:10:后添加用户名,用逗号分隔。
2、移除wheel组的方法
(1)gpasswd
sudo gpasswd -d 用户名 wheel
(2)修改/etc/group
sudo vi /etc/group
在wheel:x:10后去除用户名
3、与/etc/pam.d/su的关系
在/etc/pam.d/su中,与wheel有关的有两句,默认是加注释的,此时所有用户能su到root,要密码。
#%PAM-1.0
auth sufficient pam_rootok.so
# 取消注释以下行以隐式信任“wheel”组中的用户。(就是 su 不用输入密码)
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid //这句
## 取消下面这行的注释, 则要求使用su的用户必须在"wheel"组中
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid //和这句
auth substack system-auth
auth include postlogin
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session include postlogin
session optional pam_xauth.so
4、与/etc/sudoer关系
wheel组的能力来自/etc/sudoers里的
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
也可以自定义超级组
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
%SuperGroup ALL=(ALL) ALL