前言:
现时兄弟们对“linux传到windows文件保留权限组”大致比较关切,大家都想要知道一些“linux传到windows文件保留权限组”的相关资讯。那么小编在网络上网罗了一些对于“linux传到windows文件保留权限组””的相关内容,希望朋友们能喜欢,你们快快来学习一下吧!一、用户管理
useradd用于Linux中创建的新的系统用户;userdel删除帐号,建立的帐号,实际上是保存在 /etc/passwd 文本文件中。
useradd(选项)(参数)
-b, --base-dir BASE_DIR # 如果未指定-d HOME_DIR,则系统的默认基本目录。如果未指定此选项,
useradd 将使用 /etc/default/useradd中的HOME变量指定的基本目录,或默认使用/home。
-c, --comment COMMENT # 加上备注文字。任何文本字符串。它通常是对登录名的简短描述,目前用作用户全名的字段。
-d, --home HOME_DIR # 将使用 HOME_DIR 作为用户登录目录的值来创建新用户。
-D, --defaults # 变更预设值。
-e, --expiredate EXPIRE_DATE # 用户帐户将被禁用的日期。 日期以YYYY-MM-DD格式指定。
-f, --inactive INACTIVE # 密码过期后到帐户被永久禁用的天数。
-g, --gid GROUP # 用户初始登录组的组名或编号。组名必须存在。组号必须引用已经存在的组。
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]] # 用户也是其成员的补充组列表。每个组用逗号隔开,中间没有空格。
-h, --help # 显示帮助信息并退出。
-k, --skel SKEL_DIR # 骨架目录,其中包含要在用户的主目录中复制的文件和目录,当主目录由 useradd创建时。
-K, --key KEY=VALUE # 覆盖 /etc/login.defs 默认值(UID_MIN、UID_MAX、UMASK、
PASS_MAX_DAYS 等)。
-l, --no-log-init # 不要将用户添加到lastlog和faillog数据库。
-m, --create-home # 如果用户的主目录不存在,则创建它。
-M # 不要创建用户的主目录,即使/etc/login.defs(CREATE_HOME)中的系统范围
设置设置为yes。
-N, --no-user-group #不要创建与用户同名的组,而是将用户添加到由-g选项或
/etc/default/useradd 中的GROUP变量指定的组中。
-o, --non-unique # 允许创建具有重复(非唯一)UID的用户帐户。 此选项仅在与-o 选项结合使用时有效。
-p, --password PASSWORD # crypt(3) 返回的加密密码。 默认是禁用密码。
-r, --system # 创建一个系统帐户。
-s, --shell SHELL # 用户登录 shell 的名称。
-u, --uid UID # 用户 ID 的数值。
-U, --user-group # 创建一个与用户同名的组,并将用户添加到该组。
-Z, --selinux-user SEUSER # 用户登录的 SELinux 用户。 默认情况下将此字段留空,这会导致系统选择默认的 SELinux 用户。
userdel(选项)(参数)
#参数
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。
示例
userdel linuxde # 删除用户linuxde,但不删除其家目录及文件;
userdel -r linuxde # 删除用户linuxde,其家目录及文件一并删除;
usermod(选项)(参数)
-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录,只是修改/etc/passwd中用户的家目录配置信息,不会自动创建新的家
目录,通常和-m一起使用;
-m<移动用户家目录>:移动用户家目录到新的位置,不能单独使用,一般与-d一起使用。
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s<shell>:修改用户登入后所使用的shell;
-u<uid>:修改用户ID;
-U:解除密码锁定。
示例:
#将 newuser2 添加到组 staff 中:
usermod -G staff newuser2
#修改newuser的用户名为newuser
usermod -l newuser1 newuser
#锁定账号newuser1:
usermod -L newuser1
#解除对newuser1的锁定:
usermod -U newuser1
#增加用户到用户组中:
usermod -aG group user # 添加用户到用户组中
-a 参数表示附加,只和 -G 参数一同使用,表示将用户增加到组中。
用户密码有效期
chage [选项] 用户名
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
可以编辑/etc/login.defs来设定几个参数,以后设置口令默认就按照参数设定为准:
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
当然在/etc/default/useradd可以找到如下2个参数进行设置:
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
用户信息的相关文件位置
/etc/passwd # 用户帐户信息。
/etc/shadow # 存储 Linux系统用户的加密密码和其他安全相关的信息。
/etc/group # 组帐户信息。
/etc/gshadow # 组帐户密码相关信息。
/etc/default/useradd # 帐户创建的默认值。
/etc/skel/ # 默认创建用户家目录的模版文件目录。
/etc/login.defs # 用于查看系统登录的默认设置。它会显示出登录限制、密码策略、账户锁定等相关信息。
/etc/shadow文件保存着用户的加密密码及相关信息,每条记录由若干个字段组成,这些字段的含义如下:
用户名:表示该行记录对应的用户账号名。
密码:表示经过加密后的密码,使用了SHA-512、MD5等算法进行加密。
最后一次修改密码的日期:表示密码最后一次被修改的日期,以天为单位,从1970年1月1日开始算起。
密码最短使用期限:表示密码在被修改后,需要过多少天才能再次修改。
密码最长使用期限:表示密码被修改后,最多可以使用多长时间,超过这个时间需要重新修改密码。
密码过期前的警告天数:表示密码快要过期时,系统会提前多少天发出警告。
密码过期后的宽限天数:表示密码过期后,系统允许多少天内使用旧密码。
账号失效日期:表示该账号被禁用的日期,以天为单位,从1970年1月1日开始算起,如果值为0,则表示账号永久有效。(这个是时间戳)
保留字段:该字段目前没有被使用。
文件(目录)权限
1.基本权限 rwx
Linux 系统一般将文件权限分为3 类:
r read(读);w write(写);x execute(执行)
**==谁==**对文件有读,写,执行的权限呢?
user group other
在Linux系统中,三大类用户也可以拥有简写形式user(u)、group(g)、other(o)1
Linux一共有7种文件类型,分别如下:
-:普通文件
d:目录文件
l: 软链接(类似Windows的快捷方式)
b:block,块设备文件(例如硬盘、光驱等)
p:管道文件 建立在内存之上可以同时被两进程访问的文件。(Linux C语言)
c:字符设备文件(例如猫(上网猫)等串口设备)
s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)
2.特殊权限 suid sgid sticky
suid 冒险位,执行二进制文件与文件所有人有关,与谁来执行无关.注意是二进制文件的权限,shell脚本UID无效,使用场景:passwd
chmod 4777 filename
sgid 强制位,对目录生效,在此目录中创建文件自动归入目录所在组,使用场景 用户组继承
chmod 2777 dirname
sticky 粘制位,目录中的文件只能被文件拥有者删除,使用场景tmp目录
chmod 1777 dirname
3.文件ACL getfacl setfacl
[root@localhost ~]# ls -l
-rw-r--r-- 1 root root 4 2月 17 20:56 test.txt #-rw-r--r--+ 如果权限后面带有‘+’号表示有
ACL权限
[root@localhost ~]# getfacl test.txt # file: test.txt 文件名
# owner: root 文件所属者
# group: root 文件所属组
user::rw- 属主权限
group::r-- 属组权限
other::r-- 其他人权限
#设定ACL权限
useradd tom
setfacl -m u:tom:rw test.txt
#setfacl -m <u|g|m>:<username|groupname>:权限 filename
#setfacl -x <u|g>:<username|groupname> filename ##去除某个用户或者组的acl
#setfacl -b filename ##删除文件上的所有权限列表
4.文件属性 chattr lsattr +a -a +i -i -d
chattr(选项)
a:让文件或目录仅供附加用途;
b:不更新文件或目录的最后存取时间;
c:将文件或目录压缩后存放;
d:将文件或目录排除在倾倒操作之外;
i:不得任意更动文件或目录;
s:保密性删除文件或目录;
S:即时更新文件或目录;
u:预防意外删除。
-R:递归处理,将指令目录下的所有文件及子目录一并处理;
-v<版本编号>:设置文件或目录版本;
-V:显示指令执行过程;
+<属性>:开启文件或目录的该项属性;
-<属性>:关闭文件或目录的该项属性;
=<属性>:指定文件或目录的该项属性。
[root@localhost ~]# chattr +a test.txt #只能给文件添加内容,但是删除不了,属于追加
[root@localhost ~]# chattr -d test.txt
[root@localhost ~]# chattr +i test.txt #文件不能删除,不能更改,不能移动
案例1:防删除,防修改
find /bin /sbin /usr/sbin /usr/bin /etc/shadow /etc/passwd /etc/pam.d -type f -exec chattr +i {} \;
案例2:日志文件防删除
[root@localhost ~]# chattr +a /var/log/messages /var/log/secure #日志切割要先去掉a属性,
之后增加a属性
[root@localhost ~]# vim /etc/logrotate.d/syslog prerotate
chattr -a /var/log/messages endscript
...
postrotate
chattr +a /var/log/messages
endscript
}
sudo提权
sudo使用可根据/etc/sudoers文件设置普通用户使用sudo命令时可以以root身份或其他用户身份运行命令
1.使用vim直接编辑/etc/sudoers文件或使用vim 去添加/etc/sudoers.d/文件
2.使用visudo编辑/etc/sudoers
示例:
需要密码的提权 51cto ALL=(ALL) ALL
免密提权 51cto ALL=(ALL) NOPASSWD: ALL
允许提权后只能使用某些命令
51cto ALL=(ALL) NOPASSWD: /sbin/ip
[root@localhost ~]#which ip
/usr/sbin/ip
[root@localhost ~]#ls -hl /usr/sbin/ip
[root@localhost ~]#chmod o-x /usr/sbin/ip
[root@localhost ~]#su - 51cto
[51cto@localhost ~]$ip
-bash: /usr/sbin/ip: Permission denied
51cto ALL=(ALL) NOPASSWD: /sbin/useradd, /sbin/userdel, /bin/passwd
51cto ALL=(ALL) NOPASSWD: !/bin/passwd root, !/bin/passwd root --
stdin,!/bin/passwd --stdin root