收藏文章 楼主

Linux centos 新增/删除用户/组用户权限规范 /etc/sudoers文件解释

版块:linux   类型:普通   作者:小绿叶技术博客   查看:649   回复:0   获赞:0   时间:2020-09-10 10:14:55


1. 创建用户案例 ,2. 限制/允许 用户登录,3. 普通用户可以加 sudo 为超级权限


# 创建用户案例

#新增普通用户 并登录ssh #

#groupadd eisc   # 新建test工作组


useradd -m -d /home/eisc -s /bin/bash eisc; passwd eisc


useradd -g root eisc -d /home/eisc  # 创建用户eisc是root群组,登录目录是 /eisc

echo "aaaassss" | passwd --stdin eisc # --stdin 指定用户更改密码:echo打印密码用管道将密码配置用户密码


# usermod -G groupname username # 给已有的用户增加工作组


NR=`cat -n /etc/sudoers | grep root | grep ALL | awk -F" " '{print $1}'`

# 定义一个变量NR,命令查看 root 的行号


sed -i "$NR a\eisc   ALL=(ALL)     ALL" /etc/sudoers

# 授权规则是分配权限的执行规则





# 限制/允许 用户登录

######### 2. 禁用root 用户登录 ###########

NR=`cat -n /etc/ssh/sshd_config | grep "PermitRootLogin" | grep yes | awk -F" " '{print $1}' | sed "s/ //g"`

# Permit [pərˈmɪt] 允许 ;  login [ˈlɔɡˌɪn] 登录; 

# 获取root允许登录规则的行号

sed -i "/PermitRootLogin/d" /etc/ssh/sshd_config

sed -i "$NR a\PermitRootLogin no"  /etc/ssh/sshd_config 

# 在变量NR 行 (root 规则的下一行)加入禁止登录规则


######### 3. 添加和允许用户登录 ###########

NR=`cat -n /etc/ssh/sshd_config | grep "ListenAddress" | awk -F" " 'NR==1{print $1}' `

# 获取ssh 允许用户登录的位置

sed -i "/AllowUsers/d" /etc/ssh/sshd_config # 先删除这个规则,再添加

echo "AllowUsers admin eisc" >> /etc/ssh/sshd_config

# Allow [əˈlaʊ] 允许用户登录 : admin eisc 两个用户,多个用户用空格隔开

/usr/sbin/sshd -T # sshd 保存配置

/bin/systemctl restart sshd.service # 重启 sshd 服务

yum install -y net-tools # 端口查看工具

netstat -ntlp # 查看运行的端口

exit

 lastlog # 查看登录情况

sshd -t  # sshd 检查







# 普通用户可以加 sudo 为超级权限

useradd eisc

passwd eisc

# 创建普通用户和设置密码


vi /etc/sudoers

# 再末尾 添加用户 eisc 的超级权限sudo 案例:

eisc ALL=(ALL) ALL


超级权限再使用时候,需要再命令前面加上 sudo

超级权限使用方案修改文件案例fstab :sudo vi /etc/fstab


#-------- 其他 --------#

vi /etc/sudoers

# User privilege specification

root ALL=(ALL) ALL # root 表示用户

# Members of the admin group may gain root privileges


%admin ALL=(ALL) ALL # admin 用户组(%+名表示给用户组设置权限)

# 第一个ALL:多个系统之间部署 sudo 环境时,ALL所有主机。也可以指定主机名

# 第二个ALL(即括号内的):表示user用户能够以任何用户的身份执行命令

# 第三个ALL:能够执行系统中的所有命令。


###########################################################

useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>]

-c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。

-d<登入目录>  指定用户登入时的起始目录。

-D  变更预设值.

-e<有效期限>  指定帐号的有效期限。

-f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。

-g<群组>  指定用户所属的群组。

-G<群组>  指定用户所属的附加群组。

-m  自动建立用户的登入目录。

-M  不要自动建立用户的登入目录。

-n  取消建立以用户名称为名的群组.

-r  建立系统帐号。

-s<shell>   指定用户登入后所使用的shell。

-u<uid>  指定用户ID。

useradd -g root eisc -d /eisc  # 创建用户eisc是root群组,登录目录是 /eisc


id -a eisc # 查看用户的ID群租


adduser testuser # 新建testuser 用户

passwd testuser # 给testuser 用户设置密码

groupadd testgroup # 新建test工作组

useradd -g testgroup testuser # 新建testuser用户并增加到testgroup工作组

# 注::-g 所属组 -d 家目录 -s 所用的SHELL

usermod -G groupname username # 给已有的用户增加工作组


# useradd -u 0 -o -g 0 user1 # 创建一个uid=0的用户user1

# -u 0 就是建一个uid=0的帐号

# -o (注意是字母o,不是数字0)就是允许使用重复的id号

# -g 0 就是建一个gid=0的帐

# gpasswd -a sirius wheel   # 给予sudo权限, 当权限不够时,可以用sudo

# lid -g wheel              # 查询所有带sudo权限的用户

# userdel -r sirius         # 删除用户和相应的目录

# useradd -d /appdeploy -m appdeploy # 创建普通用户: 用户名 和 用户组、密码 都是 appdeploy

# chown -R appdeploy:appdeploy /usr/local/tms

# 授权文件归属于另一个用户组的用户 (root权限下)

# echo appdeploy | passwd --stdin appdeploy # 授权普通用户登录


## 5.临时关闭

/etc/shadow # 文件中属于该用户的行的第二个字段(密码)前面加上就可以了。想恢复该用户,去掉即可

passwd testuser –l # 命令关闭用户账号

passwd testuser –u # 重新释放


userdel testuser # 删除用户

groupdel testgroup # 删除用户组

usermod –G testgroup testuser # 强制删除该用户的主目录和主目录下的所有文件和子目录


id user # 显示用户信息

cat /etc/passwd # 查看密码


# 补充:查看用户和用户组的方法

/etc/passwd # 用户列表文件

/etc/group # 用户组列表文件

cut -d : -f 1 /etc/passwd # 查看系统中有哪些用户

cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1

# 查看可以登录系统的用户

# cut -d 查看文件分隔符为冒号, -f 显示字段 第一列

查看用户操作:w命令(需要root权限)

查看某一用户:w 用户名

查看登录用户:who

查看用户登录历史记录:last




用户账号管理:https://www.linuxprobe.com/of-user-accounts.html

提供企业建站服务,免费网防系统,提交信息登录 http://yundun.ddoss.cn 邮箱: proposal@ddoss.cn 
回复列表
默认   热门   正序   倒序

回复:Linux centos 新增/删除用户/组用户权限规范 /etc/sudoers文件解释

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息