Linux账号和权限管理

Linux账号和权限管理

  • 1、/etc/passwd ####7个字段,用:隔开 ##用户账号文件
  • 2、/etc/shadow ##用户口令加密文件
  • 3、usradd tom ###创建tom账户
  • 4、账户设置密码
  • 5、用户账号的初始配置文件
  • 6、history ####查看历史命令
  • 7、which rm #####看下rm在哪里
  • 8、vi .bash_logout
  • 9、保存组账号基本信息
  • 10、groupadd 添加组账号

1、/etc/passwd ####7个字段,用:隔开 ##用户账号文件

1 用户名
2 密码占位符“X”或密码加密的字符串
3 UID 主
4 GID 组
5 用户名描述信息
6 家目录
7 shell信息,一般是/bin/bash
[root@localhost sbin]# cat /etc/passwd
在这里插入图片描述
head -2 /etc/passwd ###查看前两行的信息
tail -2 /etc/passwd ###查看末两行的信息
/sbin/nologin ###有些账号是用来访问服务的,不是用来登录系统的

2、/etc/shadow ##用户口令加密文件

1 账户名
2 mde5密码加密信息 ###*或!!则不等登录 如空则没密码也可以登录
###做项目的时候,所有设备上线都要弱口令扫描,如果结果说密码强度不高,则需要重新设置密码。
如果过弱口令方案,你可以备份shadow文件,然后进shadow 删除没过的账号。
3 上次修改密码时间 1970年1月1号到最近修改密码间隔的天数
4 密码的最短有效天数,如0则不限制
5 密码的最长有效天数,如99999则不进行限制
6 提前多少天告警,用户口令将过期,默认是7
7 密码过期后多少天内禁用此用户
8 账号失效时间,1970年1月1日计算,默认是空则账号永久使用
9 保留字段,目前没使用
[root@localhost /]# cat /etc/shadow
root: 6 6 6SBb76V0:17470:0:99999:7:::

3、usradd tom ###创建tom账户

cat /etc/password ###看一下
Linux账号和权限管理_第1张图片
passwd tom ###创建密码
Linux账号和权限管理_第2张图片
who am i ###查看自己的账户
在这里插入图片描述
who ###可以查看有多少个人登录进来了
在这里插入图片描述
usrdel -r tom ###删除tom账户
在这里插入图片描述
kill -9 进程号 ###停止进程号
[root@localhost /]# userdel -r tom
userdel: user tom is currently used by process 16876
[root@localhost /]# kill -9 16876
[root@localhost /]# userdel -r tom
在这里插入图片描述
在这里插入图片描述

-u 指定UID多少
-d 指定宿主目录
-e 指定账户失效时间
-g 指定用户基本组
-G 指定用户附加组 ###既可以属于用户组也可以同时属于其他
-M 不建立宿主目录
-s 指定登录的shelluser
[root@localhost /]# useradd -s /sbin/nologin -g yang tom ###不能登录
Linux账号和权限管理_第3张图片
修改密码
在这里插入图片描述
下面修改一下
[root@localhost /]# vi /etc/passwd
在这里插入图片描述
将下面这一行改掉
tom❌1001:1000::/home/tom:usbin/nologin
在这里插入图片描述
改为:
tom❌1001:1000::/home/tom:/bin/bash
Linux账号和权限管理_第4张图片
Linux账号和权限管理_第5张图片
现在就可以登录了

4、账户设置密码

passwd tom —账户设置密码
-d 清空密码
-l 锁定账户++9
-S 查看账户是否被锁定
-u 解锁用户账户
Linux账号和权限管理_第6张图片
passwd -l tom ##锁定tom
在这里插入图片描述
cat /etc/passwd #看下tom !!
在这里插入图片描述
passwd -u tom ##解锁tom
在这里插入图片描述
cat /etc/passwd #看下tom
在这里插入图片描述

换一种锁定与解锁方法;
usermod -L tom ##可以锁定
Linux账号和权限管理_第7张图片
usermod -U tom ##可以解锁
Linux账号和权限管理_第8张图片
两种可以混用。

★★★★★★passwd -l tom ##我们会发现shadow tom 有2个锁定的!号
用usermod -U tom ###这个命令敲2次可以解锁,2个!可以消除。这个是版本是redhat 6.5的 经过测试7.0版本的 和这个一样 也必须敲2次 7.6版本 一可以解锁

– 修改账户属性
-u 修改用户UID
-d 修改用户的宿主目录位置
-e 修改用户账户失效时间 可以YYYY-MM-DD日期
-g 修改用户的基本组名
-G 修改用户的附加组名
-s 指定用户登录的shell
-l 更改用户登录的名称
-L 锁定账户
-U 解锁用户账户

5、用户账号的初始配置文件

用户账号的初始配置文件3个重要隐藏文件
.bash_profile --文件中命令将在该用户每次登录被执行
.bashrc --文件中的命令在每次加载/bin/Bash 程序(包括登录)执行
.bash_logout --文件中的命令将在每次退出登录时执行

####.bashrc和.bash_profile都是开机启动,.bashrc 要比.bash_profile 更加精细
####.bash_logout 可以理解,干坏事后擦屁股,擦脚印。

cd /home/tom
ls -a ####查看隐藏文件,文件都是带.的
在这里插入图片描述
vi .bash_profile
Shift+g —> o
echo “11111111” ###添加
Esc —> : wq 保存
Linux账号和权限管理_第9张图片
vi .bashrc
echo “2222222”
wq
Linux账号和权限管理_第10张图片
登录tom账户 查看下 一般是.bashrc优先

6、history ####查看历史命令

history -c ####清除历史命令
which history ####查看history命令在哪里
在这里插入图片描述
ls -a ###看下.bash_history这个文件,把这个文件删除记录就没了

7、which rm #####看下rm在哪里

在这里插入图片描述

8、vi .bash_logout

/bin/rm -f .bash_history ### 这个命令必须是绝对路径 这个不好使###添加
wq ###保存下
在这里插入图片描述

9、保存组账号基本信息

[root@localhost ~]# cat /etc/group
在这里插入图片描述
保存组账号的密码信息
[root@localhost ~]# cat /etc/gshadow
在这里插入图片描述
Linux账号和权限管理_第11张图片

10、groupadd 添加组账号

groupadd lisi2 ####
gpasswd tom #####给tom设置密码
Linux账号和权限管理_第12张图片
[root@localhost ~]# groups tom1
[root@localhost ~]# gpasswd -a sam sam1
在这里插入图片描述
[root@localhost ~]# gpasswd -d sam sam1
在这里插入图片描述
[root@localhost ~]# groups tom1
tom1 : tom1
id tom #####查看tom信息 uid gid 所组

[root@localhost 桌面]# id tom
uid=500(tom) gid=500(tom) 组=500(tom)

mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/finger-0.17-39.el6.x86_64.rpm
##安装 fingerID

rpm -e finger
##卸载 finger

w ######显示用户
21:17:49 up 27 min, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 :0 20:51 27:35 10.56s 10.56s /usr/bin/Xorg :
root pts/0 :0.0 20:51 0.00s 0.75s 0.16s w

who ####多少用户登录系统
root tty1 2017-11-12 20:51 (:0)
root pts/0 2017-11-12 20:51 (:0.0)

who |wc -l ######显示有多少人登录系统

[root@localhost ~]# users
root

#############################################
在Linux文件系统的安全模型中,为系统中的赋予了2个属性,访问权限和文件所有者,简称权限和归属,其中权限包括读取R-4、写入W-2、可执行X-1三种基本类型,归属包括属主、属组

ls -ld /etc /etc/passwd
[root@localhost 桌面]# ls -ld /etc /etc/passwd
drwxr-xr-x. 118 root root 12288 11月 12 20:51 /etc
-rw-r–r--. 1 root root 1764 11月 11 11:05 /etc/passwd

文件类型
普通文件(-): 是记录在存储介质上的ASCII或二进制流。
目录文件(d): 是包含若干个文件和子目录的文件。
设备文件(b,c): 代表连接在系统上的物理设备
字符设备©,又叫raw设备:读写与存储之间没有任何缓冲,一次读写1byte。如磁带
块设备(b):读写与存储之间有缓冲,一次读写一个block。如终端或磁盘设备。
符号链接(l) 是指向另一个文件的文件。

文件详情
ll messages
-rwxrw—x 1 root root 2743497 2015-07-22 21:31 /var/log/messages

  -                   rwx                 rw               x                              1               root        root          2743497      2015-07-22 21:3    messages
文件类型    Owner权限   Group权限    Other权限文件    文件连接数    所有者    组所有者      文件大小              时间戳            文件名

文件权限说明
读r - 4
允许用户打开、浏览文件内容
写w - 2
允许用户打开、编辑文件
执行x -1
允许用户执行

默认文件权限根据umask值设置(默认为0022)
新文件权限为rw-r-r(644)
666 – 022 = rw-r-r

如何修改Umask值呢?
1、临时修改 umask 066 (这个066根据的根据的需求定,可以理解成反子网掩码,这个是临时的)
2、vi /etc/bashrc 最后一样插入umask 066 (这个是永久生效的)
[root@localhost tmp]# vim /etc/profile

两个文件的内容是一样的
搜索umask,找到如下代码,不算第一位的特殊权限

if [ $UID -gt 199 ] && [ “id -gn” = “id -un” ]; then

umask 002	###表示uid大于等于199的默认umask值,表示普通用户

else

umask 022	####表示uid小于199的默认umask值,表示root

fi

修改后需要重新读取一下

/etc/bashrc或/etc/profile
[root@lewis ~]# source /etc/profile
[root@lewis ~]# source /etc/bashrc

属主(a) 、属组(g)、其ls
touch 10.text
ls -l
chmod g+w 10.txt
chmod o-r 10.txt
ls -l
chmod a=rw 10.txt (u g o 所有都改)

常用的是700 755 最大权限是777
默认文件夹 755
默认文件 644
一般操作习惯都用数字来描述

-R 递归将里面的文件夹生效
chmod -R 644 /var/ftp/pub

#########################
设置目录和文件的归属
chown 属主:属组

cd /opt ####进入opt目录

touch 10.txt ####创建一个文件

ls -l #####查看10.txt
[root@localhost opt]# ls -l
总用量 28
-rw-r–r--. 1 root root 0 11月 12 22:25 10.txt

chown :tom 10.txt #######10.txt 属组变为tom
chown tom 10.txt #######10.txt 属主变为tom
chown jack:jack 10.txt #######10.txt 属主变为jack,属组变为jack

你可能感兴趣的:(linux基础,linux)