Linux 用户相关操作

一、/etc/passwd文件

添加用户、删除用户、设置密码、用户组等

这个文件查看当前系统有哪些用户,也可以把用户ID修改为0,来是用户成为root权限的用户。更多详情参考这里

二、/etc/sudoers文件

这个文件可以修改用户的权限,设置用户是否可以root权限等等

## Allow root to run any commands anywhere 
root    ALL=(ALL)   ALL 
xuexuan ALL=(ALL)   ALL  #用户权限设置
%docker ALL=(ALL)   ALL  #用户组权限设置
## Allows members of the 'sys' group to run networking, software, 
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)   ALL

## Same thing without a password
# %wheel    ALL=(ALL)   NOPASSWD: ALL

%wheel root用户组

用户组需要使用%,

xuexuan ALL=(ALL) ALL

下面对这行代码进行详细的解释,用户组类似:

第一列 root 用户名

第二列 ALL=(ALL) :ALL代表host ,即 xuexuan 这个用户从哪台机器登录的, (ALL) 就是临时拥有的身份,这里ALL 就是 所有的用户 (当然 这里也可以配置成root),

第三列ALL代表 xuexuan 这个用户可以使用的命令,ALL 就代表所有的命令(包括root命令)。

可以使用 临时root的身份 去访问root 的家目录了。 当然这样每次都要输入密码。第一次要输入之后 就不用输入密码了。

把配置文件 改一下, 这样就不用输入密码 了,可以直接使用 命令了。

xuexuan     ALL=(root)    NOPASSWD:ALL

但是这样 有时候 也不是特别好, 因为这样 一些普通用户通过一些命令 就可以 切换到 root 用户下面, 比如通过

sudo /bin/bash , sudo -i , sudo -s , sudo su

这样相对是比较危险的,所以要想法限制这些特殊的命令,

通过 修改 配置文件,也是可以做到的,

xuexuan     ALL=(root)    NOPASSWD:ALL,!/bin/su ,!/bin/bash

这样xuexuan用户就无法切换到root用户了

三、/etc/ssh/sshd_config

SSH配置文件,下面列举几个常用的设置,以后会继续拓展

Port 22   #登陆端口
PermitRootLogin yes  #是否允许roo登陆
MaxSessions 10  #最大会话数量
PubkeyAuthentication yes #密钥认证
PermitEmptyPasswords no #允许空密码
PasswordAuthentication yes  #是否可以密码认证

四、配置ssh 密钥登陆

ssh 密码登陆,不是很安全。黑客通过扫描端口,暴利破解或者社会工程学,可能会入侵服务器。所以通常服务器配置为使用密钥登陆。

这篇文章写得很详细Xshell设置只能密钥登录,禁用密码登录 完整版

在上面文章中,第二步的,第5点重启sshd服务,原文中的命令在centOS不起作用,我使用了下面的命令

service sshd restart

五、踢出其他正在SSH登陆用户

1、查看系统在线用户

[root@apache ~]# who 
14:15:41 up 42 days, 56 min,  2 users,  load average: 0.07, 0.02, 0.00 
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT 
root     pts/0    116.204.64.165   14:15    0.00s  0.06s  0.04s w 
root     pts/1    116.204.64.165   14:15    2.00s  0.02s  0.02s –bash

2、查看当前自己占用终端,别把自己干掉了

[root@apache ~]# who am i 
root     pts/0        2013-01-16 14:15 (116.204.64.165)

3、用pkill 命令剔除对方

[root@apache ~]# pkill -kill -t pts/1

4、用w命令在看看干掉没。

[root@apache ~]# w 
14:19:47 up 42 days,  1:00,  1 user,  load average: 0.00, 0.00, 0.00 
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT 
root     pts/0    116.204.64.165   14:15    0.00s  0.03s  0.00s w

后记:
如果最后查看还是没有干掉,建议加上-9 强制杀死。
[root@apache ~]# pkill -9 -t pts/1

参考:

CentOS下添加Root权限用户(超级用户)方法
linux 权限管理sudo 权限
xshell连接服务器无法用password登录,只能用public key的解决办法
Linux踢出其他正在SSH登陆用户

猜你喜欢

转载自blog.csdn.net/xx326664162/article/details/79724927