0321用户和组管理

3.1 用户配置文件和密码配置文件

3.2 用户组管理

3.3 用户管理

3.4 usermod命令

3.5 用户密码管理

3.6 mkpasswd命令

3.7 su命令

3.8 sudo命令

3.9 限制root远程登录

sudo高级配置http://www.jianshu.com/p/51338e41abb7

使用 chroot 监狱限制 SSH 用户访问指定目录:  https://linux.cn/article-8313-1.html

 

 

扩展

sudo与su比较 http://www.apelearn.com/bbs/thread-7467-1-1.html 

sudo配置文件样例 www.opensource.apple.com/source/sudo/sudo-16/sudo/sample.sudoers

sudo不错的教程 http://www.jianshu.com/p/51338e41abb7

sudo -i 也可以登录到root吗? http://www.apelearn.com/bbs/thread-6899-1-1.html

 

 

一、用户配置文件和密码配置文件

用户配置文件:cat /etc/passwd

一行代表一个用户,每一行用冒号分隔为7段:

第一段:用户名

第二段:早期为用户的密码,后来因为安全问题将密码保存在/etc/shadow文件里

第三段:用户的uid

第四段:用户的gid

第五段:用户的注释描述信息,没有实际作用

第六段:用户的家目录 

第七段:用户登录的shell

 

5b8c8dfcc7c78abb8b63900ef4bc68b59e9.jpg

密码配置文件:cat /etc/shadow

head -n1 /etc/shadow; tail -n2 /etc/shadow   在一行中使用两个命令,用 ;分号分割
b265551806612c7ef4250aeeb9764e58790.jpg

/etc/passwd 对应,每一行一个用户,用冒号分割为九段

第一段:用户名

第二段:用户密码

第三段:最近一次更改密码距离1970年1月1曰总共多少天

第四段:表示多少天以后才可以更改密码,默认为0不限制

第五段:表示多少天内必须更改密码,否则密码过期无法登录

第六段:警告,提示距离密码过期还有几天

第七段:账号的失效期限

第八段:用户距离1970年1月1曰多少天后过期

第九段:保留字段,没有实际意义

0b6886d474b24930aae0ca7384ecb8fbdeb.jpg

二、用户组管理

cat /etc/group  
 

 cat /etc/gshadow   组密码的配置文件  与/etc/shadow对应
c3270e2124810d5707e0f0a3caf87ccaa17.jpg

带 - 号的文件是系统自动备份的文件

e7b1630f45036cec6ecd468bbc6cae6b033.jpg

groupadd grp1  使用groupadd创建组grp1

tail -n1 /etc/group  查看最后一行的组

groupadd -g 1005 grp2     -g 在创建组grp2的时候,指定gid为1005

647653ff404e4efadd78f694d11f98cc8a9.jpg

使用groupdel 删掉组grp1 ,删除组之前,这个组里面不能有用户

7c27660bb2f6bb3d38a6a7817ed7443b7aa.jpgc370048bac2b8979b4b7482ed6fc3c5d14f.jpg

三、用户管理

创建用户user4时,指定uid为1004指定user4所属的组为grp2:useradd -u 1004 -g grp2 user4

920507f8f3aea6f9dc20b6af8f0a46bed25.jpg

useradd -u 1007 -g grp2 -d /home/to/ -s /sbin/nologin user6
设置用户uid为1007,组为grp2,使用-d指定家目录为to

-M在创建用户的同时,不创建家目录

uid是自增的,如果指定了uid为1005,下一个会从1006开始,gid会根据uid增加

58f8c2fa29bf805d51ae3964422cdbe2ec5.jpg

删除用户:userdel   +  用户名        直接删除用户,不删除家目录

userdel  -r  用户名  删除用户并且把用户的家目录也删除,使用-r

四、usermod命令

更改用户属性的命令

usermod -u 2222 user1 把用户user1的uid改为2222

 -u选项:更改用户的uid

使用usermod命令至少需要—个选项

tail -n2 /etc/passwd 查看passwd最后两行user3的gid是2224,

 

usermod -g 2224 user1 使用-g把user1的gid更改成2224

usermod -g user2 user1 也可以使用-g 加user2 (组名) user1(用户名),把用户user1的gid改成user2的2223

-g选项:更改用户gid 可以使用组名也可以用gid

usermod -d /home/user2 user1 使用-d更改用户user1的家目录为/home/user2

-d选项:更改用户的家目录,如果更改用户的家目录不存在,需要将用户原有的家目录重命名为更改的家目录。或者复制系统的家目录模板到指定的路径下

 

usermod -s /sbin/nologin user3 -s选项:更改用户的shell,将 user3更改为不能登录的shell

-G选项:扩展组,一个用户可以属于多个组,但是gid只有一个,除了gid之外的都叫做扩展组。

给用户指定多个组的格式: usermod -G usermod -G user1,user3 user1 user1(用户名)

 

五、用户密码管理

使用 passwd user1 给user1修改密码,会多一个加密的字符串,如果用户没有密码是 两个 !!,空密码用户不能登录,*号,表示该用户的密码是被锁定的,也不能登录

 

passwd -l user1 使用 -l选项锁定用户,用户锁定后出现两个!!

passwd -u user1 使用-u选项解锁用户,两个!!取消

usermod -L user1 使用 -L 选项也是锁定用户,配合usermod使用,用户锁定后,有一个!,只要有!号就无法登录

usermod -U user1 使用-U 解锁用户,配合usermod使用。

passwd --stdin user2 使用 --stdin 设置密码:123456

shell脚本中使用 |把前面命令的结果传递给后面的命令

echo "123456" | passwd --stdin user2 |管道符把前面命令的结果(123456)传递给后面的命令,直接更改用户密码

echo -e "abc123456\nnnn123456" | passwd user2 ******

-e 可以在一行命令中出现换行符 \n 换行

六、mkpasswd命令 :

make password 可以生成随机的字符串,可以当做密码使用

使用前先安装:yum install -y expect

mkpasswd -l 12 长度12位

mkpasswd -l 12 -s 3 -s 生成的字符串有三个特殊字符

mkpasswd -l 12 -s 0 生成的字符串没有特殊字符 ,0个

七、su命令 切换用户

su - user1 切换到用户user1 使用 - 可以彻底切换到user1用户

su - -c "touch /tmp/uu.txt" user1 -c选项:使用指定用户执行一条命令,用user1用户的身份去执行touch .tmp/uu.txt文件的组根据用户的主组来决定

八、sudo命令

 

在/etc/sudoers中设置了可执行sudo指令的用户。若其它未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。 用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码

sudo的配置文件

/etc/sudoers 也可以使用visudo访问

/etc/sudoers文件为sudo的配置文件,可以设置用户能以什么身份执行哪些命令

visudo命令:

使用visudo命令可以编辑配置sudoers文件,保存时会自动检查是否有语法错误

执行visudo命令后,找到:

然后在找到的内容下面添加以下内容:

添加这一行的意思是user1用户可以在所有终端上以root权限运行所有命令

编辑完成后,保存退出,切换到user1用户,看看是否可以用sudo命令执行一些root用户才可以执行的命令,

sudo /usr/bin/ls /root/ 需要输入密码才可以

给命令加别名:Cmnd_Alias USER1_CMD=/usr/bin/ls, /usr/bin/mv

九、限制root远程登录

给用户设置别名:USERS

并在使用/usr/bin/su命令时 不需要输入密码

 

先切换到user1,使用sudo su - root 切换到root,没有使用密码

 

vi /etc/ssh/sshd_config

去掉PenmitRootLogin前的 # 号 把yes改成no,如果是yes即允许root用户远程登陆

然后保存退出,重启sshd服务:systemctl restart sshd.service

设置完成,root用户退出后,无法远程登陆

可以先登陆普通用户,根据在配置文件中的设置,在使用sudo su - root 时不需要使用密码,来实现登陆root 用户

 

 

 

转载于:https://my.oschina.net/u/4093217/blog/3025442

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值