How to change your own expired password when you can’t login to RDP

This user account’s password has expired. The password must change in order to logon. Please update the password or contact your system administrator or technical support.

Everything would be relatively OK (and admittedly less embarrassing) if I weren’t the system administrator and if I wouldn’t tell guys working in Service Desk and similar technical positions as myself (you know Domain Admins who remember their passwords) to remember to change their passwords on Client domain before they expire. And now I am supposed to go to them and tell them to change my password because I forgot it myself.  Well, that’s not gonna happen!Change password via RDP when NLA is disabled

If you’ve not enabled NLA (Network Level Authentication) on your servers/computers that you’re trying to log in via RDP, there’s one little trick you can do if it doesn’t let you in instantly. Open up Remote Desktop Connection and instead of pressing connect use Save As, and save your connection file to a safe place.

Open up a saved RDP file which should look more or less like this:

Add this line to the end of the file

  1. enablecredsspsupport:i:0

Now when you try to login with the saved session file, it should let you in. However, in my case that didn’t work. Surely enough I always enable NLA. Bummer.Change password using PowerShell

Fortunately, in my case, PowerShell is my friend. While it does not exactly change your expired password via RDP that you were looking for it allows you to change the expired password before you have to log in to RDP and in turn saves you from having an embarrassing moment.

  1. function Set-PasswordRemotely {
  2. [CmdletBinding(DefaultParameterSetName = ‘Secure’)]
  3. param(
  4. [Parameter(ParameterSetName = ‘Secure’, Mandatory)][string] $UserName,
  5. [Parameter(ParameterSetName = ‘Secure’, Mandatory)][securestring] $OldPassword,
  6. [Parameter(ParameterSetName = ‘Secure’, Mandatory)][securestring] $NewPassword,
  7. [Parameter(ParameterSetName = ‘Secure’)][alias(‘DC’, ‘Server’, ‘ComputerName’)][string] $DomainController
  8. )
  9. Begin {
  10. $DllImport = @’
  11. [DllImport(“netapi32.dll”, CharSet = CharSet.Unicode)]
  12. public static extern bool NetUserChangePassword(string domain, string username, string oldpassword, string newpassword);
  13. ‘@
  14. $NetApi32 = Add-Type -MemberDefinition $DllImport -Name ‘NetApi32’ -Namespace ‘Win32’ -PassThru
  15. if (-not $DomainController) {
  16. if ($env:computername -eq $env:userdomain) {
  17. # not joined to domain, lets prompt for DC
  18. $DomainController = Read-Host -Prompt ‘Domain Controller DNS name or IP Address’
  19. } else {
  20. $Domain = $Env:USERDNSDOMAIN
  21. $Context = [System.DirectoryServices.ActiveDirectory.DirectoryContext]::new([System.DirectoryServices.ActiveDirectory.DirectoryContextType]::Domain, $Domain)
  22. $DomainController = ([System.DirectoryServices.ActiveDirectory.DomainController]::FindOne($Context)).Name
  23. }
  24. }
  25. }
  26. Process {
  27. if ($DomainController -and $OldPassword -and $NewPassword -and $UserName) {
  28. $OldPasswordPlain = [System.Net.NetworkCredential]::new([string]::Empty, $OldPassword).Password
  29. $NewPasswordPlain = [System.Net.NetworkCredential]::new([string]::Empty, $NewPassword).Password
  30. $result = $NetApi32::NetUserChangePassword($DomainController, $UserName, $OldPasswordPlain, $NewPasswordPlain)
  31. if ($result) {
  32. Write-Host -Object “Set-PasswordRemotely – Password change for account $UserName failed on $DomainController. Please try again.” -ForegroundColor Red
  33. } else {
  34. Write-Host -Object “Set-PasswordRemotely – Password change for account $UserName succeeded on $DomainController.” -ForegroundColor Cyan
  35. }
  36. } else {
  37. Write-Warning “Set-PasswordRemotely – Password change for account failed. All parameters are required. “
  38. }
  39. }
  40. }

This little function does magic trick of changing password remotely even if you don’t have a domain-joined computer (like me). Usage is straightforward

  1. Set-PasswordRemotely

You will be asked a series of 3 questions that you need to fill in, and your password will be changed (or not if any errors will occur in the meantime). You can also provide parameters directly not to get any prompts. If you’re on a Domain joined computer, you can skip the DomainController parameter, and it will be autodetected based on the currently logged-in user. If you’re planning to change passwords for different domains, please make sure to provide the Domain Controller name or IP address. Otherwise, a password change will fail.

The method above is actually based on NetUserChangePassword function. It requires TCP port 445 open (SMB) to Domain Controller. While you may be thinking that there is a simple PowerShell way to do it such as this (as suggested on Reddit)

  1. #Edit domain, username, oldpassword, newpassword
  2. ([adsi]’WinNT://domain/username,user’).ChangePassword(‘oldpassword’,’newpassword’)

You should aware that it will only work on non-expired passwords. LDAP will verify password prior to change.Quick usage with Install-Module for easy deployment

So all you need to do is save this function for later and simply use it. Alternatively, this function is added as part of my PowerShell (I have it all) Module called PSSharedGoods where you can simply do

  1. # force switch downloads newest version including downloading any dependencies it may have
  2. Install-Module PSSharedGoods -Force
  3. Set-PasswordRemotely

PSSharedGoods module actually has lots of different, sometimes weird functions that I use over and over in my modules. Feel free to explore on GitHub.

Source: How to change your own expired password when you can’t login to RDP – Evotec

6 open source teaching tools for virtual classrooms

Create podcasts, online lectures, tutorials, and other teaching resources for learning at home with open source tools.

15 Apr 2020 Mathias HoffmannFeed 36up6 comments

Person reading a book and digital copy

x

Subscribe now

Get the highlights in your inbox every week.

https://opensource.com/eloqua-embedded-email-capture-block.html?offer_id=70160000000QzXNAA0

As schools and universities are shutting down around the globe due to COVID-19, many of us in academia are wondering how we can get up to speed and establish a stable workflow to get our podcasts, online lectures, and tutorials out there for our students.

Open source software (OSS) has a key role to play in this situation for many reasons, including:

  • Speed: OSS can roll out quickly and in large numbers (e.g., to an army of teaching assistants for multiple tutorial sessions in big lectures) without licensing issues and in a decentralized manner.
  • Cost: OSS does not cost anything upfront, which is important for financially stretched schools and universities that need solutions to complex challenges on very short notice.

With everything going online, we need new ways to engage with students. Here is a list of tools that I have found useful to share my own lectures. 

Create podcasts, videos, or live streams with OBS

Open Broadcast Studio (OBS) is a professional, open source audio and video recording tool that allows you to record, stream instantly, and do much more. OBS is available for all major platforms (Windows, macOS, and Linux), so interoperability with your colleagues and their various devices is ensured.

Even if you’re already using online conferencing software as a recording system, OBS can be a great backup solution. Since it records locally, you’re protected against any network lags or disconnections. You also have complete control over your data, so many educational institutions may find it to be a more secure solution than some other options.

Compatibility is also an advantage: OBS stores recordings in a standard intermediate format (MKV), which can be transferred to MP4 or other formats. Also, support for Nvidia graphics cards under OBS is great, as the company is one of the main sponsors of the OBS project. This allows you to make full use of your hardware and speed up the recording process.

Video and sound editing

After you record your podcast or video, you may find that it needs editing. There are many reasons you may need to edit your audio or video. For example, many university online platforms restrict the size of files you can upload, so you may have to cut long videos. Or, the sound may be too quiet, or maybe it was too noisy when you recorded it, so you need to make adjustments to the audio.More Great Content

Two of the open source apps to explore are OpenShot and Shotcut. Of the two, Shotcut is a more advanced program, which implies a slightly steeper learning curve. Both are cross-platform and have full support for hardware encoding with NVidia and other graphics cards, which will substantially lower processing time compared to CPU-only processing.

You can also extract a soundtrack in either program (although I have found it to be much faster with Shotcut) and export it to an audio-editing program. I find Audacity, another open source, cross-platform (Mac, Linux, Windows) tool, to work extremely well.

My typical workflow looks something like this:

  • Import the recording into Shotcut
  • Extract the audio, save it to an audio file
  • Import it into Audacity, normalize and amplify the audio, maybe do some noise reduction
  • Save the audio to a new file
  • Import the new audio file into Shotcut, align it with the audio-free video, and cut appropriately
  • Export into an MP4 video (this last step usually takes some time, so have a coffee…)

Electronic blackboards

If you want to annotate your slides or develop ideas on an electronic blackboard, you need note-taking software and a device with a touchscreen or a graphics tablet. A great open source tool (developed with Swiss taxpayer funding) for blackboarding is OpenBoard. It is cross-platform; although it is officially only available for Linux on Ubuntu 16.04, you can install a Flatpak and it will work on any Linux flavor. It is really a nice tool; its only shortcoming is that annotating slides is not very good.

My main open source annotation and electric blackboard tool is Xournal++, which is available in some Linux distros repos (e.g., Linux Mint) and otherwise via Flathub. Like all the tools mentioned earlier, it is also available on Mac and Windows. If you know of any open source, cross-platform note-taking tools, please share them in the comments.

Built-in solutions have their limits

You might wonder why you should bother with alternative recording software in the first place. After all, most modern operating systems have built-in screen recorders that will also capture audio. However, these built-in solutions have their limits. One key limitation is that you cannot usually capture more than one video source at a time (e.g., a webcam with your talking head and a set of slides plus a whiteboard from a graphics tablet).

The ability to use multiple video sources is very useful, though, since it can be dull for students to just listen to your voice and see your slides for extended periods. Face-to-face interactions—even if done virtually—help keep listeners’ attention and make it easier for them to cope with imperfect recording quality and background noise. In addition, many of the built-in tools do not allow you to capture selected areas of the screen, and in general, you cannot change the resolution or the number of frames per second, which can be important for keeping your podcast’s memory and bandwidth usage in check.

Conclusion

When planning your online teaching, you will want to use a blend of audio, video, slides, and electronic blackboards to create an immersive experience even while students are learning remotely. Open source software offers advanced, effective tools for creating such online educational experiences.

Source: https://opensource.com/article/20/4/open-source-remote-teaching-tools

Understanding the /etc/fstab File in Linux

The /etc/fstab file is one of the important configuration file, which is playing major role in Linux operating system.

It contains a list of filesystems to be mounted at boot time (mounted filesystems on the system).

This file will be auto created/updated during the system installation.

The filesystem mounting can be controlled using this file.

This file being used at boot to validate and mount file systems on system.

It is human readable and can be edited but make sure that you have added a correct entry in that.

If you made any mistake, which make your system to stuck at boot in the next reboot.

So, be careful when you adding an entry on that. Each mounted filesystem comes with 6 fields in one line. These fields are separated by tabs or spaces.

Filesystems that are described in /etc/fstab are typically mounted when the computer is booted, unless the noauto option is used.

A list of mounted filesystems can be found by using the following commands.

  • mount
  • df -a
  • cat /etc/mtab
  • cat /proc/mounts

In Linux operating system, everything is a file and hard disks are available under /dev directory.

It contains the following 6 fields in each line.

  • Device File Name or Filesystem Label or UUID
  • Mount Point
  • File System Type
  • Options
  • Dump
  • Pass

This is the sample output of /etc/fstab file, which i taken from one of our server.

# cat /etc/fstab

# /etc/fstab
# Created by anaconda on Sat Oct 20 05:18:25 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=02b56de1-a737-48ec-945f-c6f6301541aa       /       ext3    usrjquota=quota.user,jqfmt=vfsv0        1  1
UUID=b18386ae-633c-430c-85be-76132db5dd5a /boot                   ext2   defaults        1 2
UUID=d6059278-6690-4877-8660-c70d05af30fe swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults,noexec,nosuid        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/sdb1              /home1                  ext4    defaults,usrjquota      1 2

These are the six fields, which you can see in the /etc/fstab file.

+----------+--------+------+----------+---+---+
|/dev/sdb1 | /home1 | ext4 | defaults | 1 | 2 |
+----------+--------+------+----------+---+---+
|     1    |    2   |  3   |    4     | 5 | 6 |

Field-1 (/dev/sdb1): Disk Partition Name
Field-2 (/home1): Mount Point Name
Field-3 (ext4): Mounted filesystem type
Field-4 (defaults): It specifies the mount options.
Field-5 (1): It indicates backup utility dump is enabled or not for the file system.
Field-6 (2): It indicates the sequence of the file system checks

Field-1: Device File Name or Filesystem Label or UUID

The first field indicates the physical location of each device, which can be a partition on the HDD or a separate device such as a CDROM or floppy disk.

In the /etc/fstab output, you may see some of the Device is mentioned by disk name or UUID. The UUID stands for Universally Unique Identifier which helps Linux system to identify a hard drives partition instead of block device file.

The advantage of using the UUID is that it is independent from the actual device number. But device names aren’t guaranteed to be the same across a reboot. So, it’s advisable to use UUID instead of device name.

tmpfs, sysfs and proc, etc, these are virtual filesystem that are created by kernel for different purpose.

Field-2: Mount Point

The second field indicates the mount point, the directory where the partition or disk will be mounted.

It should always be an absolute path and should be created before we mount the filesystem on it.

Field-3: File System Type

The third field specifies the file system type. Each partition or device should be formatted with any of the supported filesystem to use by Linux. If not, we can’t use it.

There are many supported filesystem is available in Linux, among the most commonly used filesystems are.

  • ext2: The basic Linux filesystem type.
  • ext3: An an enhanced version of ext2 with journaling capabilities.
  • ext4: Ext4 stands for fourth extended file system and overcomes ext3 limitations.
  • reiser: Another journaling filesystem.
  • vfat: It’s compatible with some Microsoft filesystems.
  • nfs: It’s network file system.
  • cifs: It’s Common Internet File System

Field-4: Mount Options

The fourth field specifies the mount options associated with the filesystem, which adds some basic security to the file system by whom and how the filesystem or device can be used.

There are numerous options are available and we can use any number of them but they are separated with commas.

Mount OptionsDescription
defaultsIt uses default options, which includes rw, suid, dev, exec, auto, nouser, and async.
autoFile system will mount automatically at boot, or when the command ‘mount -a’ is issued.
noautoThe filesystem is mounted only when you tell it to.
execAllow the execution binaries that are on that partition (default).
noexecDo not allow binaries to be executed on the filesystem.
roMount the filesystem read only.
rwMount the filesystem read-write.
syncI/O should be done synchronously.
asyncI/O should be done asynchronously.
flushSpecific option for FAT to flush data more often, thus making copy dialogs or progress bars to stays up until things are on the disk.
userPermit any user to mount the filesystem (implies noexec,nosuid,nodev unless overridden).
nouserOnly allow root to mount the filesystem (default).
suidAllow the operation of suid, and sgid bits.
nosuidBlock the operation of suid, and sgid bits.
noatimeDo not update inode access times on the filesystem. Can help performance.
nodiratimeDo not update directory inode access times on the filesystem.
relatimeUpdate inode access times relative to modify or change time.

Field-5: dump

The fifth field is used by dump to determine which filesystems need to be backed up or dumped. Most users will not have dump installed, so by default they should put 0 for the dump entry.

  • 1: If 1, dump will make a backup.
  • 0: If 0, dump will ignore the file system backup.

Field-6: Pass

fsck reads the pass number and determines in which order the file systems should be checked. Possible entries are 0, 1, and 2.

  • 0: fsck check doesn’t performed on filesystems.
  • 1: It’s a highest priority and should be assigned to root file system.
  • 2: All other file systems you want to have checked should get a 2.

How to List Mounted File Systems in Linux Using mount Command?

The mount command is used to mount the given filesystem in Linux system. A list of mounted filesystems can be found by using the mount command with no options.

# mount

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=8115744k,nr_inodes=2028936,mode=755)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
/dev/nvme0n1p1 on / type ext4 (rw,noatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=104)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
/var/lib/snapd/snaps/odrive-unofficial_2.snap on /var/lib/snapd/snap/odrive-unofficial/2 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core_6405.snap on /var/lib/snapd/snap/core/6405 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core_6130.snap on /var/lib/snapd/snap/core/6130 type squashfs (ro,nodev,relatime,x-gdu.hide)
tmpfs on /run/user/120 type tmpfs (rw,nosuid,nodev,relatime,size=1624856k,mode=700,uid=120,gid=120)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1624856k,mode=700,uid=1000,gid=1000)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)

How to Print Mounted File Systems in Linux Using df Command?

The df command stands for Disk Filesystem. It shows detailed report of mounted filesystem disk space usage on the Linux system.

We can get the same above output using df command with -a option. It prints dummy filesystems in the output. These are virtual filesystems, which is used by kernel for different purpose (it’s like proc, sys, etc)

# df -a

Filesystem     1K-blocks      Used Available Use% Mounted on
proc                   0         0         0    - /proc
sys                    0         0         0    - /sys
dev              8115744         0   8115744   0% /dev
run              8124284      1672   8122612   1% /run
/dev/nvme0n1p1 227483756 159337100  56521408  74% /
securityfs             0         0         0    - /sys/kernel/security
tmpfs            8124284    679532   7444752   9% /dev/shm
devpts                 0         0         0    - /dev/pts
tmpfs            8124284         0   8124284   0% /sys/fs/cgroup
cgroup2                0         0         0    - /sys/fs/cgroup/unified
cgroup                 0         0         0    - /sys/fs/cgroup/systemd
pstore                 0         0         0    - /sys/fs/pstore
bpf                    0         0         0    - /sys/fs/bpf
cgroup                 0         0         0    - /sys/fs/cgroup/cpu,cpuacct
cgroup                 0         0         0    - /sys/fs/cgroup/devices
cgroup                 0         0         0    - /sys/fs/cgroup/blkio
cgroup                 0         0         0    - /sys/fs/cgroup/hugetlb
cgroup                 0         0         0    - /sys/fs/cgroup/freezer
cgroup                 0         0         0    - /sys/fs/cgroup/pids
cgroup                 0         0         0    - /sys/fs/cgroup/perf_event
cgroup                 0         0         0    - /sys/fs/cgroup/rdma
cgroup                 0         0         0    - /sys/fs/cgroup/cpuset
cgroup                 0         0         0    - /sys/fs/cgroup/net_cls,net_prio
cgroup                 0         0         0    - /sys/fs/cgroup/memory
systemd-1              -         -         -    - /proc/sys/fs/binfmt_misc
mqueue                 0         0         0    - /dev/mqueue
debugfs                0         0         0    - /sys/kernel/debug
hugetlbfs              0         0         0    - /dev/hugepages
binfmt_misc            0         0         0    - /proc/sys/fs/binfmt_misc
configfs               0         0         0    - /sys/kernel/config
tmpfs            8124284     38276   8086008   1% /tmp
/dev/loop1        111488    111488         0 100% /var/lib/snapd/snap/odrive-unofficial/2
/dev/loop0         93184     93184         0 100% /var/lib/snapd/snap/core/6405
/dev/loop2         91648     91648         0 100% /var/lib/snapd/snap/core/6130
tmpfs            1624856        12   1624844   1% /run/user/120
tmpfs            1624856        36   1624820   1% /run/user/1000
gvfsd-fuse             0         0         0    - /run/user/1000/gvfs
fusectl                0         0         0    - /sys/fs/fuse/connections

How to Check Mounted File Systems in Linux Using /etc/mtab File?

The /etc/mtab file contains a list of currently mounted filesystems with details.

# cat /etc/mtab

proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sys /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
dev /dev devtmpfs rw,nosuid,relatime,size=8115744k,nr_inodes=2028936,mode=755 0 0
run /run tmpfs rw,nosuid,nodev,relatime,mode=755 0 0
/dev/nvme0n1p1 / ext4 rw,noatime 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0
cgroup2 /sys/fs/cgroup/unified cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,name=systemd 0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/hugetlb cgroup rw,nosuid,nodev,noexec,relatime,hugetlb 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/pids cgroup rw,nosuid,nodev,noexec,relatime,pids 0 0
cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
cgroup /sys/fs/cgroup/rdma cgroup rw,nosuid,nodev,noexec,relatime,rdma 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0
cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=25,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=104 0 0
mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime,pagesize=2M 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0
configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /tmp tmpfs rw,nosuid,nodev 0 0
/dev/loop1 /var/lib/snapd/snap/odrive-unofficial/2 squashfs ro,nodev,relatime 0 0
/dev/loop0 /var/lib/snapd/snap/core/6405 squashfs ro,nodev,relatime 0 0
/dev/loop2 /var/lib/snapd/snap/core/6130 squashfs ro,nodev,relatime 0 0
tmpfs /run/user/120 tmpfs rw,nosuid,nodev,relatime,size=1624856k,mode=700,uid=120,gid=120 0 0
tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=1624856k,mode=700,uid=1000,gid=1000 0 0
gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0

How to Check Mounted File Systems in Linux Using /proc/mounts File?

The proc filesystem (procfs) is a special filesystem (Virtual filesystem) in Unix-like operating systems that presents information about processes and other system information.

It’s sometimes referred to as a process information pseudo-file system. It doesn’t contain ‘real’ files but runtime system information (e.g. system memory, devices mounted, hardware configuration, etc).

# cat /proc/mounts

proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sys /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
dev /dev devtmpfs rw,nosuid,relatime,size=8115744k,nr_inodes=2028936,mode=755 0 0
run /run tmpfs rw,nosuid,nodev,relatime,mode=755 0 0
/dev/nvme0n1p1 / ext4 rw,noatime 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0
cgroup2 /sys/fs/cgroup/unified cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,name=systemd 0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/hugetlb cgroup rw,nosuid,nodev,noexec,relatime,hugetlb 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/pids cgroup rw,nosuid,nodev,noexec,relatime,pids 0 0
cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
cgroup /sys/fs/cgroup/rdma cgroup rw,nosuid,nodev,noexec,relatime,rdma 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0
cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=25,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=104 0 0
mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime,pagesize=2M 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0
configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /tmp tmpfs rw,nosuid,nodev 0 0
/dev/loop1 /var/lib/snapd/snap/odrive-unofficial/2 squashfs ro,nodev,relatime 0 0
/dev/loop0 /var/lib/snapd/snap/core/6405 squashfs ro,nodev,relatime 0 0
/dev/loop2 /var/lib/snapd/snap/core/6130 squashfs ro,nodev,relatime 0 0
tmpfs /run/user/120 tmpfs rw,nosuid,nodev,relatime,size=1624856k,mode=700,uid=120,gid=120 0 0
tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=1624856k,mode=700,uid=1000,gid=1000 0 0
gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0

If /etc/mtab file is lost or corrupted by accident, it can be regenerated by running the following command.

$ sudo sh -c 'grep -v rootfs /proc/mounts > /etc/mtab' 
Source:  https://www.2daygeek.com/understanding-linux-etc-fstab-file/ 

17 Best Free Project Management Tools for You

Whether you are a single user with many tasks, a startup company, or an already established business looking for an efficient way to plan your workflow and organize your projects, there are several project management tools you can use to get work done.

They are modern, easy to manage, and best of all, easy to get up to speed with if you’re a newcomer to project management.

Here is our list of the best project management tools you can use to increase your productivity and that of your team for free.

1. Asana

Asana comes in #1 on our list because of its all-around project management abilities and its focus on tracking everything you add to it. It features a beautiful modern UI with a clutter-free display, cool colors, and smooth animations.

The basic version of Asana for teams is free to use with at most 15 members who can add unlimited tasks, projects, and conversations.

Asana - Project Management Tool

Asana – Project Management Tool

2. Paper

Paper was created by Dropbox to help their project managers capture, organize, and prioritize issues, plan sprints, and take advantage of real-time reporting.

It provides you with a way to quickly express your ideas with words, images, references, and code to other software tools and it integrates natively with other important tools like SlackTrello, and InVision.

Dropbox Paper - Collaborative Workspace

Dropbox Paper – Collaborative Workspace

3. Trello

Trello is probably the most famous on our list. It implements the Kanban system in the form of boards, lists, and cards while efficiently giving you a visually pleasing overview of all the projects added to it.

Trello’s free version gives you and your team access to unlimited boards, cards, lists, checklists, and attachments. You can add up to 10MB of files from your computer or link any file in Google DriveBoxOneDrive, and Dropbox accounts and you can add a max of 1 power-up per board.

Trello - Project Management Tool

Trello – Project Management Tool

4. PushMon

PushMon is not a typical project management tool like most of the titles on our list in the sense that instead of managing tasks in the form of boards and checklists, it uses URLs.

It is used to monitor scripts, cronjobs, and scheduled tasks and get notifications directly to your email, mobile phone, etc. and you can get as creative as you want with it.

The free version of PusMon gives you access to 3 URLs, 4 credits, and instant notification alerts via email, SMS, Twitter, IFTTT, phone calls, etc.

5. Teamweek

Teamweek enables you to keep track of deadlines in calendar form, manage schedules, create Gantt charts, and much more all through a beautiful and colourful Use Interface.

Its free version allows a maximum of 5 team members with the ability to add unlimited projects and tasks. If you want to view work timelines that you can share with collaborators and use to wow clients then Teamweek is a good tool to check out.

Teamweek - Project Management Software

Teamweek – Project Management Software

6. ClickUp

ClickUp is a beautiful project management solution for managing tasks, projects, teams, reports, and issues.  Krita – An Excellent Professional Painting Tool for Linux

Its free version gives you access to unlimited users, tasks, and projects. You can also set up custom fields, work using drag-and-drop, set priorities to tasks, assign comments, etc.

ClickUp Sorting and Filtering

ClickUp Sorting and Filtering

7. Wrike

Wrike is a management tool that aims to simplify your project plans, streamline your workflow, and enable collaboration.

The free version of Wrike allows a maximum of users in a team and you can use a simple shared task list for your projects. Other free features include board view, task management, a spreadsheet view, basic integration with cloud accounts like Dropbox and iCal, 2GB of storage space, etc.

Wrike - Project Management Software

Wrike – Project Management Software

8. OpenProject

OpenProject is an open-source web-based multi-project management software available in 3 versions, CommunityCloud, and Enterprise.

Its community edition is available for free with features including a modern, beautiful user Interface, time management, team collaboration, Gantt charts for project planning, budgeting, and reporting. It also supports Agile for project management with backlogs, roadmaps, bug tracking, etc.

OpenProject - Collaborative Project Management

OpenProject – Collaborative Project Management

9. Gantt Project

Gantt Project is a well-established Java-based project management solution capable of handling any tasks you throw at it is. You can use it for creating tasks and milestones which you can organize in a work breakdown structure, draw dependency constraints, PERT charts, etc.

Gantt Project has been running since 2003 and it has all the features for collaborating with teams, exporting and importing data, and creating reports.

Gantt Project - Management Tool

Gantt Project – Management Tool

10. MeisterTask

MeisterTask is a free and intuitive project and task management tool for both personal projects and collaborative tasks.

Its basic (free) version contains all the options required for creating unlimited projects and tasks. You can also collaborate on invited friends in real-time.

MeisterTask - Task Management Tool

MeisterTask – Task Management Tool

11. KanbanFlow

KanbanFlow is a Lean tool for project management that simplifies the process of working with projects and teams. It features real-time collaboration among team members, time tracking using the Pomodoro technique, import/export tasks to Excel, CSV, XML, and JSON.

KanbanFlow is free to use with no limit on tasks, boards, users, filters, recurring tasks, etc. There are a lot more features available for free and a ton more for Premium users.

Kanban Lean Project Management Tool

Kanban Lean Project Management Tool

12. Labourhood

Labourhood is an online project management tool that focuses on online collaboration, networking, and security.  UberWriter – A Feature-Rich GTK+ Markdown Editor

Its modern UI is convenient for tracking progress, creating reports, sharing news and project updates, and looking for new projects to work on.

Labourhood still in Beta version which is free to use all you have to do is sign up to create a free account.

Labourhood Project Management Tool

Labourhood Project Management Tool

13. Kanban Tool

Kanban Tool is another online Kanban board created to enable businesses to seamlessly manage their projects and track their progress.

It reportedly powers 25,000+ businesses which all have access to insightful analytics, real-time collaboration, etc. Kanban Tool is a paid service with a 14-day free trial you can experiment with.

Kanban Tool

Kanban Tool

14. Redmine

Redmine is an open source, cross-platform and cross-database web app with tons of professional features.

It features support for multiple projects, flexible role-based access control, time tracking, multiple languages, custom fields for time entries, issues, users, multiple LDAP authentication, etc.

It is written using the Ruby on Rails framework and is free to download for any project type.

Redmine

Redmine

15. Airtable

Airtable is a cloud collaboration service that enables users to manage and track projects using a spreadsheet-database hybrid.

Its features include a grid view, calendar, Kanban board, forms, apps for different platforms, real-time collaboration, and commenting.

Airtable is available at a range of prices which you can pay annually or monthly to access more capabilities. It free is free to use and.

Airtable

Airtable

Depending on the scale of your project and team, there are other free project management tools that could be of use to you e.g. TodoistAirtable, and Redbooth.

16. Barvas

Barvas is a simple but powerful project management application that focuses on improving your workflow and team productivity by providing several tools required for managing your projects and improving the working relationship of your team using a beautiful User Interface.

You can choose to work with Kanban boards or Grant style timelines, you and your team can access it remotely at any time since all documents are kept in a single place in the cloud, use mind mapping techniques to break down projects, etc.

Barvas is free to use for a single user account which is limited to a single project. Access to unlimited projects costs $11.70 and the subscription is $5.85 per month.

Barvas: Project and Task Management Software

Barvas: Project and Task Management Software

17. actiTIME

actiTIME is a project management software for time tracking and using intelligent methods to analyze data. It enables you to create projects, scopes, tasks, etc. which you can assign to users while conveniently keeping track of the project’s workflow through a beautiful interface.

actiTIME allows you to use the data it collects to generate charts and work with other products via seamless integration e.g. actiPLAN and QuickBooks. It is free for up to 3 users after which you will have to pay $394.00 USD per year for 5 users ($6.57/month per user).

actiTIME - Time Tracking & Scope Management Software

actiTIME – Time Tracking & Scope Management Software

Which awesome project managers do you know? Did I mention your favorite? Share your thoughts with us in the comments section.

Source: https://www.fossmint.com/best-free-project-management-tools/