Erişim kipleri bir dosya tanıtıcısına okuma izni, yazma izni veya her iki izni vermek için kullanılır (GNU sisteminde bunların hiçbirine de izin vermemek mümkün olduğu gibi, bir dosyanın bir çalıştırılabilir olarak çalıştırılmasına izin vermek de mümkündür). Erişim kipleri dosya açılırken belirlenir ve bir daha değiştirilemez.
Dosya okuma erişimi için açılır.
Dosya yazma erişimi için açılır.
Dosya hem okuma hem de yazma erişimi için açılır.
GNU sisteminde (başka sistemlerde böyle değildir), O_RDONLY ve O_WRONLY bit seviyesinde VEYA'lanabilen bağımsız değerlerdir, yani O_RDWR aslında O_RDONLY|O_WRONLY'dir. Sıfır erişim kipine de izin verilmiştir; bu kipte dosyaya girdi ve çıktı için bir işleme izin verlimez ama fchmod gibi başka işlemlere izin verilir. GNU sisteminde, "salt-okunur" ve "salt-yazılır" yanlış isimlendirme olarak kabul edildiğinden fcntl.h dosyasında dosya erişim kipleri için ek isimler tanımlanmıştır. Bu isimler GNU'ya özel kod yazarken tercih edilir. Ama POSIX.1 uyumuluğu istenen yazılımlarda aşağıdaki isimler yerine yukarıdaki POSIX.1 isimleri kullanılmalıdır.
Dosya okuma erişimi için açılır. Yalnız GNU'da tanımlıdır. O_RDONLY ile aynıdır.
Dosya yazma erişimi için açılır. Yalnız GNU'da tanımlıdır. O_WRONLY ile aynıdır.
Dosya çalıştırmak için açılır. Yalnız GNU'da tanımlıdır.
Dosya erişim kipini fcntl ile öğrenmek isterseniz, dosya durum seçeneklerinden erişim kipi bitlerini elde etmeniz gerekir. GNU sisteminde O_READ ve O_WRITE bitlerini seçenekler arasından kolayca elde edebilmenize karşın, POSIX.1 sistemlerde okuma ve yazma erişim kipleri ayrı ayrı elde edilebilen bitsel seçenekler değildir. Dosya erişim kiplerine taşınabilir anlamda erişmek için en iyi yöntem O_ACCMODE makrosunu kullanmaktır.
Bu makro dosya erişim kiplerinin dosya durum seçeneklerinden bit seviyesinde VE'lenebilen bir değer olarak elde edilmesini sağlar. Erişim kipleri O_RDONLY, O_WRONLY veya O_RDWR olabilir. (GNU sisteminde sıfır da olabilir ve asla O_EXEC bitini içermez.)